Skip to main content

A MCP server project

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_punkpeye_wikimedia-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ac0117ac66277d826afe3f48a5fb4a731dfa93dc227f6dcce37d5f33a65849a5
MD5 80e14ec59527f429710ea01043e72d07
BLAKE2b-256 d11ec5187f7c599986d63659039493ed447f77f6eff2ebf6a3a96c27fe2364fd

See more details on using hashes here.

File details

Details for the file iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_punkpeye_wikimedia-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b4307008e82f5e4af2741f92f0477eb12bea11ce128c97007f37fd8f79c792c
MD5 df20358e45ff944048d5f0d7e00b6e76
BLAKE2b-256 5952915ba374815001cb502abc7a2c8a86429123f17f1f6208c9e824bd7f4db9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page