A MCP server project
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac0117ac66277d826afe3f48a5fb4a731dfa93dc227f6dcce37d5f33a65849a5
|
|
| MD5 |
80e14ec59527f429710ea01043e72d07
|
|
| BLAKE2b-256 |
d11ec5187f7c599986d63659039493ed447f77f6eff2ebf6a3a96c27fe2364fd
|
File details
Details for the file iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b4307008e82f5e4af2741f92f0477eb12bea11ce128c97007f37fd8f79c792c
|
|
| MD5 |
df20358e45ff944048d5f0d7e00b6e76
|
|
| BLAKE2b-256 |
5952915ba374815001cb502abc7a2c8a86429123f17f1f6208c9e824bd7f4db9
|