wikipedia-mcp-server

Search Wikipedia, read summaries and full text, target sections, find nearby pages, list languages.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~6,990Tokens (Tool-Definitionen)
~12.9 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.46% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "wikipedia-mcp-server": {
      "command": "bun",
      "args": [
        "@cyanheads/wikipedia-mcp-server"
      ]
    }
  }
}

Ausführbare Pakete

npm@cyanheads/wikipedia-mcp-server0.2.5streamable-http

Remote-Endpunkte

https://wikipedia.caseyjhand.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (6)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢wikipedia_search_articles(query, limit, offset, language)

Search Wikipedia articles by full-text query. Returns ranked results with plain-text titles, short descriptions, Wikidata QIDs, snippets (HTML stripped), page IDs, and word counts — the description is usually enough to tell same-named articles apart without a summary call per result. When Wikipedia has a spelling correction for the query, it is returned as suggestion. Best when the exact article title is unknown or when multiple articles on a topic are needed. Pass a result title to wikipedia_get_summary, wikipedia_get_article, or wikipedia_get_sections for follow-up reads. Use offset to page beyond the first result page. Supports all Wikipedia language editions.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query (e.g. \"Python programming language\"). Must not be empty."
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of results to return per page (default 10, max 50). Must be a positive integer.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "description": "Result offset for pagination (default 0). Pass the nextOffset from a previous response to fetch the next page; limit still governs the per-page size. An offset past the total match count returns an empty result array, not an error. Wikipedia serves no result past 10,000, so an offset at or beyond that fails — narrow the query instead.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Article title (e.g. \"Python (programming language)\")."
          },
          "pageid": {
            "type": "number",
            "description": "Stable numeric Wikipedia page ID — a durable reference for cross-referencing or de-duplication. Not a tool input; pass the title to follow-up tools."
          },
          "snippet": {
            "type": "string",
            "description": "Plain-text search snippet with matched terms."
          },
          "wordcount": {
            "type": "number",
            "description": "Article word count."
          },
          "description": {
            "description": "Short description of the article subject (e.g. \"General-purpose programming language\"). Absent when the article has none, or when descriptions could not be loaded for the page (see notice).",
            "type": "string"
          },
          "wikibase_item": {
            "description": "Wikidata QID (e.g. \"Q28865\") for chaining into wikidata-mcp-server. Absent when the article has no Wikidata item, or when it could not be loaded for the page (see notice).",
            "type": "string"
          }
        },
        "required": [
          "title",
          "pageid",
          "snippet",
          "wordcount"
        ],
        "additionalProperties": false,
        "description": "A single search result entry."
      },
      "description": "Ranked search results."
    },
    "language": {
      "type": "string",
      "description": "Language edition queried."
    },
    "effectiveQuery": {
      "type": "string",
      "description": "The query sent to Wikipedia."
    },
    "totalCount": {
      "type": "number",
      "description": "Total matching results in Wikipedia."
    },
    "offset": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "The result offset applied to this page (echo of the input)."
    },
    "shown": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Number of results returned on this page."
    },
    "nextOffset": {
      "description": "Offset to request the next page. Present only when more results remain — pass it back as offset to continue; absent at the end of results.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "truncated": {
      "description": "True when this page was cut at Wikipedia's 10,000-result search window and totalCount matches remain that no offset can reach. Absent on every other page, including a genuine last page.",
      "type": "boolean"
    },
    "cap": {
      "description": "The result ceiling that cut this page — the search window. Present only alongside truncated.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "suggestion": {
      "description": "Wikipedia's spelling correction for the query, when it has one (e.g. \"einstein\" for \"einstien\"). Re-run with it as query to search the corrected spelling. Absent when the query has no likely misspelling.",
      "type": "string"
    },
    "notice": {
      "description": "Guidance when no results matched (naming the spelling suggestion when there is one), when the end of results was reached while paging, when the page was cut at the search window, or when descriptions and Wikidata QIDs could not be loaded for the page. Absent on ordinary result pages.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `empty_query`: The query is an empty string, which Wikipedia reads as a missing parameter. `offset_too_large`: The offset is at or past the search window, which has no continuation. `invalid_language`: The language is not a valid BCP 47 code, or names a Wikipedia edition that does not exist. Other values are possible when a failure originates below the handler.",
              "examples": [
                "empty_query",
                "offset_too_large",
                "invalid_language"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "results",
        "language",
        "effectiveQuery",
        "totalCount",
        "offset",
        "shown"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢wikipedia_get_summary(title, language)

Fetch the short article summary that answers "what is X?". The extract is a truncated fragment from the start of the lead section — usually a sentence or two, and as little as a tenth of the lead — alongside the Wikidata QID (wikibase_item) for cross-referencing with wikidata-mcp-server, a short description, a thumbnail URL, the canonical article URL, the revision the extract was read from, and, for a geotagged article, latitude and longitude that pass straight to wikipedia_search_nearby to answer "what else is notable near this". For the lead section in full, call wikipedia_get_article with section_index 0. Redirect pages are followed automatically. When page_type is "disambiguation", the title matched a disambiguation page — call wikipedia_search_articles with a more specific query to find the intended article. Prefer this over wikipedia_get_article unless article depth is needed.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title (URL-decoded), e.g. \"Python (programming language)\". A trailing #fragment is accepted and ignored; the characters < > [ ] { } and | cannot appear in a Wikipedia page name."
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Resolved article title (may differ from input for redirects)."
    },
    "page_type": {
      "type": "string",
      "description": "Page type from the Wikipedia REST API. Common values: \"standard\" (regular article), \"disambiguation\" (disambiguation page), \"no-extract\" (article with no extract). When \"disambiguation\", call wikipedia_search_articles with a more specific query."
    },
    "pageid": {
      "description": "Wikipedia page ID. Absent when the API omits it.",
      "type": "number"
    },
    "wikibase_item": {
      "description": "Wikidata QID (e.g. \"Q28865\"). Use to chain into wikidata-mcp-server without a separate lookup.",
      "type": "string"
    },
    "description": {
      "description": "Short description of the article subject.",
      "type": "string"
    },
    "extract": {
      "type": "string",
      "description": "Plain-text summary extract — a truncated fragment from the start of the lead section, not the whole lead. Superscripts and subscripts stay apart from the text beside them (10²³, H₂O), as wikipedia_get_article renders them. Call wikipedia_get_article with section_index 0 for the full lead."
    },
    "thumbnail_url": {
      "description": "URL of the article thumbnail image, if available.",
      "type": "string"
    },
    "latitude": {
      "description": "WGS 84 latitude of the article subject in decimal degrees. Pass with longitude to wikipedia_search_nearby, whose inputs carry these names, to find other notable articles around the same point. Absent for an article that is not geotagged.",
      "type": "number"
    },
    "longitude": {
      "description": "WGS 84 longitude of the article subject in decimal degrees. Pass with latitude to wikipedia_search_nearby, whose inputs carry these names, to find other notable articles around the same point. Absent for an article that is not geotagged.",
      "type": "number"
    },
    "url": {
      "description": "Canonical desktop URL of the article (e.g. \"https://en.wikipedia.org/wiki/Eiffel_Tower\"), for citing the page rather than composing a URL from the title.",
      "type": "string"
    },
    "revision_id": {
      "description": "ID of the revision the extract was read from. \"https://<edition>.wikipedia.org/w/index.php?oldid=<revision_id>\" is a permanent link to exactly that version.",
      "type": "string"
    },
    "last_modified": {
      "description": "ISO 8601 timestamp of that revision, for dating the content.",
      "type": "string"
    },
    "language": {
      "type": "string",
      "description": "Language edition queried."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `not_found`: No Wikipedia article exists for the given title. `invalid_title`: The title contains characters MediaWiki cannot name a page with. `invalid_language`: The language is not a valid BCP 47 code, or names a Wikipedia edition that does not exist. Other values are possible when a failure originates below the handler.",
              "examples": [
                "not_found",
                "invalid_title",
                "invalid_language"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "title",
        "page_type",
        "extract",
        "language"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢wikipedia_get_article(title, section_index, language)

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_index 0 is the lead section, the text above the first heading, which is the full prose wikipedia_get_summary returns only a truncated fragment of. Section-targeted reads are faster and smaller when only part of the article is needed. Both paths keep superscripts and subscripts apart from the text beside them (10²³, H₂O), render formulas as their TeX, and render code samples as fenced blocks with their indentation intact. A section read also renders data tables as pipe-delimited rows (header row first) and infoboxes as "label: value" lines; a table too large to include leaves a "[table omitted: N rows]" marker in its place. The full-article path carries no data tables or infoboxes, so read the section for those. Tables used only for layout, such as multi-column lists, keep their content as ordinary text. 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. Every read returns the canonical article URL and the ID of the revision it was read from, for citation; a full read also returns that revision's timestamp. Redirect pages are followed automatically, and the citation fields name the target article.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title (e.g. \"Python (programming language)\"). A trailing #fragment is accepted and ignored; the characters < > [ ] { } and | cannot appear in a Wikipedia page name."
    },
    "section_index": {
      "description": "Section index from wikipedia_get_sections. 0 reads the lead section (Introduction) — the text above the first heading. Omit for the full article. Providing this returns the targeted section plus every subsection nested under it, as plain text.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Resolved article title."
    },
    "pageid": {
      "description": "Wikipedia page ID. Absent on API parse responses that omit it.",
      "type": "number"
    },
    "content": {
      "type": "string",
      "description": "Plain-text article content. Both full articles and section reads carry == Section == markers above the text each one heads, code samples as ``` fenced blocks, and superscripts and subscripts as Unicode characters (10²³, H₂O), or as ^x / ^(…) and _x / _(…) where a character has none. Section reads also carry data tables as | cell | cell | rows with a | --- | row under the header. When truncated is true, this instead carries a section outline (heading names and byte sizes) plus a pointer to the targeted-read path."
    },
    "section_title": {
      "description": "Section title when section_index was provided — \"Introduction\" for the lead, which has no heading of its own. Absent for full-article reads.",
      "type": "string"
    },
    "content_type": {
      "type": "string",
      "description": "Content type: \"full_article\" or \"section\"."
    },
    "truncated": {
      "type": "boolean",
      "description": "True when a full-article read exceeded the size budget and content is a section outline instead of the full text. Always false for section reads and for full articles within budget."
    },
    "original_length": {
      "description": "Character length of the full article text before outlining. Present only when truncated is true.",
      "type": "number"
    },
    "sections_suggested": {
      "description": "True when content is an outline — call wikipedia_get_sections, then wikipedia_get_article with a section_index to read a specific section. Present only when truncated is true.",
      "type": "boolean"
    },
    "url": {
      "description": "Canonical desktop URL of the article (e.g. \"https://en.wikipedia.org/wiki/Eiffel_Tower\"), for citing the page rather than composing a URL from the title.",
      "type": "string"
    },
    "revision_id": {
      "description": "ID of the revision the content was read from. \"https://<edition>.wikipedia.org/w/index.php?oldid=<revision_id>\" is a permanent link to exactly that version.",
      "type": "string"
    },
    "last_modified": {
      "description": "ISO 8601 timestamp of that revision, for dating the content. Full-article reads only; a section read carries none.",
      "type": "string"
    },
    "language": {
      "type": "string",
      "description": "Language edition queried."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `not_found`: No Wikipedia article exists for the given title. `invalid_title`: The title contains characters MediaWiki cannot name a page with. `invalid_section`: The section_index is out of range for this article. `invalid_language`: The language is not a valid BCP 47 code, or names a Wikipedia edition that does not exist. Other values are possible when a failure originates below the handler.",
              "examples": [
                "not_found",
                "invalid_title",
                "invalid_section",
                "invalid_language"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "title",
        "content",
        "content_type",
        "truncated",
        "language"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢wikipedia_get_sections(title, language)

Fetch the table of contents for a Wikipedia article. Returns section titles, heading levels, section numbering (e.g. "2.1"), and section_index values. The first entry is the lead section, index 0, titled Introduction — the text above the first heading, which Wikipedia's own table of contents omits. 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title (e.g. \"Python (programming language)\"). A trailing #fragment is accepted and ignored; the characters < > [ ] { } and | cannot appear in a Wikipedia page name."
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition code (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    }
  },
  "required": [
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title as resolved by Wikipedia."
    },
    "pageid": {
      "description": "Wikipedia page ID. Absent for stub articles.",
      "type": "number"
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "index": {
            "type": "number",
            "description": "Section index — pass to wikipedia_get_article as section_index. 0 is the lead section."
          },
          "number": {
            "type": "string",
            "description": "Section number (e.g. \"2.1\") for hierarchical navigation; \"0\" for the lead section."
          },
          "title": {
            "type": "string",
            "description": "Section heading text; \"Introduction\" for the lead, which has no heading."
          },
          "level": {
            "type": "number",
            "description": "Heading depth: 2 = ==, 3 = ===, etc. The lead section reports 1."
          }
        },
        "required": [
          "index",
          "number",
          "title",
          "level"
        ],
        "additionalProperties": false,
        "description": "A single table-of-contents entry."
      },
      "description": "Article sections in document order with index values for targeted reads, led by the index-0 lead entry."
    },
    "total_sections": {
      "type": "number",
      "description": "Number of entries returned, counting the index-0 lead section."
    },
    "language": {
      "type": "string",
      "description": "Language edition queried."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `not_found`: No Wikipedia article exists for the given title. `invalid_title`: The title contains characters MediaWiki cannot name a page with. `no_sections`: Article exists but has no sections (stub or very short article). `invalid_language`: The language is not a valid BCP 47 code, or names a Wikipedia edition that does not exist. Other values are possible when a failure originates below the handler.",
              "examples": [
                "not_found",
                "invalid_title",
                "no_sections",
                "invalid_language"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "title",
        "sections",
        "total_sections",
        "language"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢wikipedia_search_nearby(latitude, longitude, radius_meters, limit, language)

Find Wikipedia articles about places near a geographic coordinate. Returns articles sorted by distance from the query point, with titles, short descriptions, Wikidata QIDs, page IDs, coordinates, and distance in meters. Useful for "what is notable near X?" research workflows. Only articles carrying their own coordinate tag (GeoData, set on the article itself — not the Wikidata item's coordinate) are returned, and that tag is what places and measures each result; not all articles about locations are geotagged, and an article whose tag is wrong appears where the tag puts it, which its description usually makes plain.

Eingabe-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"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Article title (e.g. \"Eiffel Tower\")."
          },
          "pageid": {
            "type": "number",
            "description": "Stable numeric Wikipedia page ID — a durable reference for cross-referencing or de-duplication. Not a tool input; pass the title to follow-up tools."
          },
          "latitude": {
            "type": "number",
            "description": "Latitude of the article's own coordinate tag, in decimal degrees."
          },
          "longitude": {
            "type": "number",
            "description": "Longitude of the article's own coordinate tag, in decimal degrees."
          },
          "distance_meters": {
            "type": "number",
            "description": "Distance from the query coordinate in meters."
          },
          "description": {
            "description": "Short description of the article subject (e.g. \"Tower in Paris, France\"). Absent when the article has none.",
            "type": "string"
          },
          "wikibase_item": {
            "description": "Wikidata QID (e.g. \"Q243\") for chaining into wikidata-mcp-server. Absent when the article has no Wikidata item.",
            "type": "string"
          }
        },
        "required": [
          "title",
          "pageid",
          "latitude",
          "longitude",
          "distance_meters"
        ],
        "additionalProperties": false,
        "description": "A single geotagged article result."
      },
      "description": "Geotagged articles sorted ascending by distance_meters."
    },
    "language": {
      "type": "string",
      "description": "Language edition queried."
    },
    "queryLatitude": {
      "type": "number",
      "description": "Latitude used for the search."
    },
    "queryLongitude": {
      "type": "number",
      "description": "Longitude used for the search."
    },
    "radiusMetersUsed": {
      "type": "number",
      "description": "Radius in meters used for the search."
    },
    "truncated": {
      "type": "boolean",
      "description": "True when more articles matched than the limit allowed. Established by probing one result past the limit, so a match count landing exactly on the limit reports false — except at the 500 ceiling, where no probe is possible and any full page reports true."
    },
    "shown": {
      "type": "number",
      "description": "Number of results returned."
    },
    "cap": {
      "type": "number",
      "description": "The limit that was applied."
    },
    "notice": {
      "description": "Guidance when results were capped (raise limit, or — at the 500 ceiling — sweep narrower radii) or when no geotagged articles were found (increase radius). Absent when neither applies.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_coordinates`: Latitude or longitude is outside valid WGS 84 range. `invalid_language`: The language is not a valid BCP 47 code, or names a Wikipedia edition that does not exist. Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_coordinates",
                "invalid_language"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "results",
        "language",
        "queryLatitude",
        "queryLongitude",
        "radiusMetersUsed",
        "truncated",
        "shown",
        "cap"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢wikipedia_get_languages(title, language, editions)

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. A popular article exists in hundreds of editions, so pass editions to narrow the answer to the codes you care about — the codes with no article come back under missing, and total_languages still reports the full count. 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Article title in the source language edition. A trailing #fragment is accepted and ignored; the characters < > [ ] { } and | cannot appear in a Wikipedia page name."
    },
    "language": {
      "default": "en",
      "description": "Wikipedia language edition to query from (default \"en\"). Examples: \"fr\", \"de\", \"ja\".",
      "type": "string"
    },
    "editions": {
      "description": "Edition codes to keep, e.g. [\"fr\", \"de\", \"gsw\"]. Each is matched case-insensitively against both edition_code and language_code, so either spelling of a mismatch edition finds it (\"gsw\" matches the edition whose edition_code is \"als\"). Omit to list every edition. A code with no article for this title is reported under missing rather than dropped, and is not a failure.",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "source_title": {
      "type": "string",
      "description": "Resolved article title in the source language edition — the redirect target when the input was an alias."
    },
    "source_language": {
      "type": "string",
      "description": "The language edition that was queried."
    },
    "languages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "language_code": {
            "type": "string",
            "description": "MediaWiki language code from langlinks (e.g. \"gsw\"). May differ from the Wikipedia subdomain — use edition_code as the `language` input to other tools."
          },
          "edition_code": {
            "description": "Wikipedia edition subdomain that serves this article (e.g. \"als\"). Pass THIS value as the `language` parameter to other wikipedia-mcp-server tools; language_code is not always a valid edition. Absent when the serving host could not be established — language_code alone does not determine it.",
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "Article title in this language edition."
          },
          "url": {
            "description": "Full URL to the article in this language edition. Absent when the API omitted it and no host is known for the language code.",
            "type": "string"
          }
        },
        "required": [
          "language_code",
          "title"
        ],
        "additionalProperties": false,
        "description": "A single language edition entry."
      },
      "description": "Available language editions excluding the source language. Narrowed to the requested codes when editions was given, and empty when none of them matched."
    },
    "total_languages": {
      "type": "number",
      "description": "Total number of other language editions the article has. Always the unfiltered count, so it exceeds the length of languages whenever editions narrowed the list."
    },
    "missing": {
      "description": "Requested edition codes with no article for this title, echoed as they were passed. Present whenever editions was given — empty when every code matched — and absent otherwise.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `not_found`: No Wikipedia article exists for the title in the specified language. `invalid_title`: The title contains characters MediaWiki cannot name a page with. `no_other_languages`: Article exists but has no other language editions. `invalid_language`: The language is not a valid BCP 47 code, or names a Wikipedia edition that does not exist. Other values are possible when a failure originates below the handler.",
              "examples": [
                "not_found",
                "invalid_title",
                "no_other_languages",
                "invalid_language"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "source_title",
        "source_language",
        "languages",
        "total_languages"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet6 Tools
verifiziertVersion nicht aufgezeichnet6 Tools