Wikimedia MCP Server
A Model Context Protocol (MCP) server for interacting with Wikimedia APIs. Access Wikipedia and other Wikimedia project content programmatically with natural language queries.
Features
- Search Content: Full-text search across Wikimedia page content
- Search Titles: Search page titles with autocomplete suggestions
- Get Page: Retrieve page content, title, URL and metadata
- Language Versions: Find versions of a page in other languages
- Featured Content: Get featured articles, most read pages, and pictures of the day
- Historical Events: Get events, births, deaths, and holidays for any date
Requirements
- Python 3.12+
- uv package manager
- MCP server framework
Security
- All user inputs are validated
- No sensitive data or credentials required
- Rate limiting handled by Wikimedia API
- Error messages don't expose internal details
Installation
Claude Desktop Configuration
On MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
On Windows:
C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
Development Configuration
{
"mcpServers": {
"wikimedia": {
"command": "uv",
"args": [
"--directory",
"C:\\MCP\\server\\community\\wikimedia",
"run",
"wikimedia"
]
}
}
}
Published Configuration
{
"mcpServers": {
"wikimedia": {
"command": "uvx",
"args": [
"wikimedia"
]
}
}
}
Tools
search_content
Full-text search across Wikimedia page content. Returns snippets matching the query.
query(required): Search termlimit(1-50, default 10): Number of resultsproject(default "wikipedia"): Wikimedia projectlanguage(default "en"): Language code
search_titles
Search Wikimedia page titles starting with the query. Returns suggestions with descriptions.
query(required): Search prefixlimit(1-100, default 10): Number of resultsproject(default "wikipedia"): Wikimedia projectlanguage(default "en"): Language code
get_page
Get Wikimedia page content, title, URL and last modified date.
title(required): Page titleproject(default "wikipedia"): Wikimedia projectlanguage(default "en"): Language code
get_languages
Get versions of a Wikimedia page in other languages.
title(required): Page titleproject(default "wikipedia"): Wikimedia projectlanguage(default "en"): Language code
get_featured
Get featured Wikimedia content for a date. Returns featured article, most read pages, and picture of the day.
date(YYYY/MM/DD, default today): Date to get content forproject("wikipedia" only): Must be Wikipedialanguage(en/de/fr/es/ru/ja/zh): Supported languages
get_on_this_day
Get historical events from Wikimedia for a date.
date(MM/DD, default today): Date to get events fortype(default "all"): Event type - all/selected/births/deaths/holidays/eventsproject("wikipedia" only): Must be Wikipedialanguage(en/de/fr/es/ru/ja/zh): Supported languages
Example Usage
# Search for content about "artificial intelligence"
result = await client.call_tool("search_content", {
"query": "artificial intelligence",
"limit": 5,
"language": "en"
})
# Get today's featured content
result = await client.call_tool("get_featured", {
"language": "en"
})
# Get historical events for January 1st
result = await client.call_tool("get_on_this_day", {
"date": "01/01",
"type": "all",
"language": "en"
})
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
License
MIT License. See LICENSE file for details.
Metadata
Release files for iflow-mcp_punkpeye-wikimedia 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz | 29.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.6 kB
Release files / iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz
| Download URL | iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz |
|---|---|
| Size | 29.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac0117ac66277d826afe3f48a5fb4a731dfa93dc227f6dcce37d5f33a65849a5
|
|
BLAKE2b-256 checksum How to use checksums |
d11ec5187f7c599986d63659039493ed447f77f6eff2ebf6a3a96c27fe2364fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b4307008e82f5e4af2741f92f0477eb12bea11ce128c97007f37fd8f79c792c
|
|
BLAKE2b-256 checksum How to use checksums |
5952915ba374815001cb502abc7a2c8a86429123f17f1f6208c9e824bd7f4db9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|