MCP server providing access to Wikipedia search, summaries, and page retrieval
This Wikipedia server has severe definition quality gaps. All five tools lack parameter descriptions entirely (critical per pattern:tool-description). Tool descriptions are missing or trivial (all 0 chars, visible only as docstring placeholders in FastMCP decorator). No output schemas are documented. Parameter naming is inconsistent: 'query' appears in four tools but is never described; 'lang' in set_lang is also undescribed. Four tools (search, summary, page, random) return unstructured Wikipedia API responses without pagination, limits, or field documentation. The set_lang tool has a side effect (WRITE risk) but no error handling or confirmation pattern. No tool declares its output schema. This server requires fundamental documentation work before use in production.
All tool descriptions are missing. The @mcp.tool() decorators lack docstrings, leaving LLMs unable to determine when or why to select each tool.
All input parameters lack descriptions. 'query' (in search, summary, page) and 'lang' (in set_lang) appear with no explanation of what values are valid, what format is expected, or how they are used. LLMs cannot infer meaning from names alone.
No output schemas are documented. Tools return raw Wikipedia API responses (lists, strings, or exceptions) with no indication of structure, fields, pagination, or limits. Agents cannot plan downstream operations based on unknown output.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 31 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |
No error handling or recovery guidance. Tools may raise exceptions (Wikipedia.exceptions.DisambiguationError, Wikipedia.exceptions.PageError) but provide no actionable error messages or retry guidance for LLMs.
set_lang is a state-mutating tool (WRITE risk) with no confirmation step, idempotency declaration, or rollback guidance. An agent calling this tool can permanently switch the session language for all subsequent operations without visibility.
search, summary, and page accept free-form string queries with no validation. No constraints on query length, format, or content. No guidance on ambiguous results (disambiguation).
Tools return unstructured or verbose Wikipedia responses without pagination, result limits, or field filtering. search() may return dozens of titles; summary() and page() return full article text (potentially thousands of tokens). No limit parameter or documented cap prevents context window exhaustion.