Skip to Content
MCP ServersCommunityWikimedia MCP Server

Wikimedia MCP Server

View original on GitHub 

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

Last updated on