MCP server providing access to Wikipedia articles via search, retrieval, and random article selection
Four tools with clear verb-noun naming (wikipedia_search, wikipedia_get_page, wikipedia_get_summary, wikipedia_random) and basic descriptions. All tools have input schemas with type definitions and parameter descriptions. However, descriptions are minimal (10-50 chars), falling below the 50-200 char baseline for LLM-optimized docs. No output schemas documented. Parameter descriptions lack format/constraint details (e.g., 'limit' accepts 1-50 but description doesn't specify range). No error recovery guidance. All tools are READ_ONLY, which is good, but descriptions don't explicitly state this or explain when to use each tool vs. alternatives.
Get full content of a Wikipedia article
Get a summary of a Wikipedia article
Get a random Wikipedia article summary
Search Wikipedia articles
Descriptions are too brief (10-50 chars vs. 50-200 char baseline). 'Search Wikipedia articles' and 'Get full content of a Wikipedia article' lack context on when to use each tool, what they return, or dependencies.
Output schemas are not documented. Callers cannot see what fields are returned (title, url, extract, etc.) or their types. LLMs must infer structure from tool behavior.
Parameter 'limit' in wikipedia_search has description 'Maximum number of results (1-50)' but no min/max constraints in schema. Schema should declare minimum: 1, maximum: 50 to prevent LLM from passing invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
No error recovery guidance. Error messages like 'search failed: %v' or 'failed to fetch page: %v' do not tell the LLM what to do next or whether the error is retryable.
Tool descriptions do not distinguish use cases. When should an LLM call wikipedia_get_page vs. wikipedia_get_summary? The descriptions don't explain the difference or guide selection.