Wikimedia MCP Server

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

A
security – no known vulnerabilities (report Issue)
A
license - permissive license (MIT License)
A
quality - confirmed to work

Enables programmatic interaction with Wikimedia APIs, offering features like searching content, retrieving page information, and accessing historical events across multiple languages.

  1. Features
    1. Requirements
      1. Security
        1. Installation
          1. Claude Desktop Configuration
            1. Development Configuration
              1. Published Configuration
              2. Tools
                1. search_content
                  1. search_titles
                    1. get_page
                      1. get_languages
                        1. get_featured
                          1. get_on_this_day
                          2. Example Usage
                            1. Contributing
                              1. License