
Wikimedia MCP Server
An MCP server for interacting with Wikimedia APIs. Access Wikipedia and other Wikimedia project content programmatically.
what is Wikimedia MCP Server?
Wikimedia MCP Server is a Model Context Protocol (MCP) server designed for interacting with Wikimedia APIs, allowing users to access Wikipedia and other Wikimedia project content programmatically using natural language queries.
how to use Wikimedia MCP Server?
To use the server, set up the required configurations and utilize the provided tools to perform actions such as searching for content, retrieving page details, and accessing featured content.
key features of Wikimedia MCP Server?
- Full-text search across Wikimedia page content
- Autocomplete suggestions for page titles
- Retrieval of page content, title, URL, and metadata
- Access to different language versions of pages
- Fetching featured articles and historical events
use cases of Wikimedia MCP Server?
- Programmatically searching for articles on specific topics.
- Retrieving detailed information about Wikipedia pages.
- Accessing historical events and featured content for educational purposes.
FAQ from Wikimedia MCP Server?
- Can I access content in multiple languages?
Yes! The server supports retrieving content in various languages.
- Is there a limit on the number of requests I can make?
Yes, rate limiting is handled by the Wikimedia API to ensure fair usage.
- What programming language is required to use this server?
The server requires Python 3.12 or higher.
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.