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.jsonOn Windows:
C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.jsonDevelopment 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 term
- limit(1-50, default 10): Number of results
- project(default βwikipediaβ): Wikimedia project
- language(default βenβ): Language code
search_titles
Search Wikimedia page titles starting with the query. Returns suggestions with descriptions.
- query(required): Search prefix
- limit(1-100, default 10): Number of results
- project(default βwikipediaβ): Wikimedia project
- language(default βenβ): Language code
get_page
Get Wikimedia page content, title, URL and last modified date.
- title(required): Page title
- project(default βwikipediaβ): Wikimedia project
- language(default βenβ): Language code
get_languages
Get versions of a Wikimedia page in other languages.
- title(required): Page title
- project(default βwikipediaβ): Wikimedia project
- language(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 for
- project(βwikipediaβ only): Must be Wikipedia
- language(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 for
- type(default βallβ): Event type - all/selected/births/deaths/holidays/events
- project(βwikipediaβ only): Must be Wikipedia
- language(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.