wikipedia-mcp-server

v0.1.17 pre-1.0

Search Wikipedia articles, read summaries and full text, target sections, find nearby pages, and list language editions via MCP. STDIO or Streamable HTTP.

wikipedia.caseyjhand.com/mcp
claude mcp add --transport http wikipedia-mcp-server https://wikipedia.caseyjhand.com/mcp
codex mcp add wikipedia-mcp-server --url https://wikipedia.caseyjhand.com/mcp
{
  "mcpServers": {
    "wikipedia-mcp-server": {
      "url": "https://wikipedia.caseyjhand.com/mcp"
    }
  }
}
gemini mcp add --transport http wikipedia-mcp-server https://wikipedia.caseyjhand.com/mcp
{
  "mcpServers": {
    "wikipedia-mcp-server": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "https://wikipedia.caseyjhand.com/mcp"
      ]
    }
  }
}
{
  "mcpServers": {
    "wikipedia-mcp-server": {
      "type": "http",
      "url": "https://wikipedia.caseyjhand.com/mcp"
    }
  }
}
curl -X POST https://wikipedia.caseyjhand.com/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2026-07-28","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

Tools

6

wikipedia_get_summary

open-world

Fetch the lead-section summary for a Wikipedia article — the 2–4 paragraph intro that answers "what is X?". Returns plain-text extract, Wikidata QID (wikibase_item) for cross-referencing with wikidata-mcp-server, short description, and thumbnail URL. Redirect pages are followed automatically. When page_type is "disambiguation", the title matched a disambiguation page — call wikipedia_search with a more specific query to find the intended article. Prefer this over wikipedia_get_article unless full article depth is needed.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "wikipedia_get_summary",
    "arguments": {
      "title": "<title>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title (URL-decoded), e.g. \"Python (programming language)\"."
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "title",
    "language"
  ],
  "additionalProperties": false
}
view source ↗

wikipedia_get_article

open-world

Fetch article content as clean plain text. Without section_index: returns the full article with == Section == markers preserved for structure — or, when the article exceeds the size budget, a compact section outline (truncated: true) that points to wikipedia_get_sections plus a section_index read instead of the full text. With section_index (from wikipedia_get_sections): returns that section and every subsection nested under it, each heading above its own body. Section-targeted reads are faster and smaller when only part of the article is needed. Data tables are omitted from both paths, so a section whose body is entirely a data table returns its heading and little else; tables used only for layout, such as multi-column lists, keep their content. Page furniture is omitted as well — maintenance banners, sister-project and library-resource boxes, portal bars, and spoken-article notices — while a hatnote naming a related article is kept. Redirect pages are followed automatically.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "wikipedia_get_article",
    "arguments": {
      "title": "<title>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title (e.g. \"Python (programming language)\")."
    },
    "section_index": {
      "description": "Section index from wikipedia_get_sections. Omit for the full article. Providing this returns the targeted section plus every subsection nested under it, as plain text.",
      "type": "number"
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "title",
    "language"
  ],
  "additionalProperties": false
}
view source ↗

wikipedia_get_sections

open-world

Fetch the table of contents for a Wikipedia article. Returns section titles, heading levels, section numbering (e.g. "2.1"), and section_index values. Pass a section_index to wikipedia_get_article to retrieve just that section. Useful for enumerating article structure before doing a targeted section read. Redirect pages are followed automatically.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "wikipedia_get_sections",
    "arguments": {
      "title": "<title>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title (e.g. \"Python (programming language)\")."
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "title",
    "language"
  ],
  "additionalProperties": false
}
view source ↗

wikipedia_search_nearby

open-world

Find Wikipedia articles about places near a geographic coordinate. Returns articles sorted by distance from the query point, with titles, page IDs, coordinates, and distance in meters. Useful for "what is notable near X?" research workflows. Only articles with geographic coordinates in their Wikidata record are returned — not all articles about locations are geotagged.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "wikipedia_search_nearby",
    "arguments": {
      "latitude": "<latitude>",
      "longitude": "<longitude>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "latitude": {
      "type": "number",
      "description": "WGS 84 latitude in decimal degrees (range: −90 to 90)."
    },
    "longitude": {
      "type": "number",
      "description": "WGS 84 longitude in decimal degrees (range: −180 to 180)."
    },
    "radius_meters": {
      "default": 1000,
      "description": "Search radius in meters (default 1000, min 10, max 10000 — the MediaWiki geosearch bounds). Must be an integer; a value above the maximum is clamped to it.",
      "type": "integer",
      "minimum": 10,
      "maximum": 9007199254740991
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of results to return (default 10, max 500 — the MediaWiki geosearch ceiling). Must be a positive integer. Geosearch has no pagination, so articles past this limit are only reachable by raising it or searching narrower radii.",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "latitude",
    "longitude",
    "radius_meters",
    "limit",
    "language"
  ],
  "additionalProperties": false
}
view source ↗

wikipedia_get_languages

open-world

List the language editions available for a Wikipedia article. Returns language codes, article titles in each language, and full URLs. Useful for cross-language research and for discovering the correct article title in a target language before fetching it. Redirect pages are followed automatically, and source_title reports the resolved article the links belong to. The language parameter specifies which edition to query from.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "wikipedia_get_languages",
    "arguments": {
      "title": "<title>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title in the source language edition."
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition to query from (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "title",
    "language"
  ],
  "additionalProperties": false
}
view source ↗