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 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.