MCP server that fetches Wikipedia articles, parses their content, converts to Markdown, and generates summaries using the Ollama model
Single tool with basic implementation. Tool name follows verb-noun convention (summarize_wikipedia_article), but description lacks clarity on when to use vs alternatives, what fields are returned, and dependencies. Input schema present but minimal, single string parameter with description. No output schema documented. Error handling maps to MCP error codes but lacks recovery guidance. Tool does one thing well (summarization), but definition quality falls short of production baseline for three reasons: (1) parameter description is bare, lacks format/constraint details; (2) no documented output schema despite returning a string summary; (3) error messages are generic ('Unexpected error') rather than actionable recovery guidance. Description length ~180 chars is acceptable, but lacks WHEN/WHY context.
Fetch a Wikipedia article at the provided URL, parse its main content, convert it to Markdown, and generate a summary using the Ollama model.
Missing output schema documentation. Tool returns a string summary, but no structured description of the response format, length constraints, or retry behavior on partial failures.
Parameter description lacks actionable constraints. 'The Wikipedia article URL to fetch and summarize' does not specify format, length limits, or what happens if the URL is malformed. Should state: 'Must be a valid Wikipedia article URL (https://en.wikipedia.org/wiki/...). Tool validates HTTP/HTTPS scheme and parses mw-content-text div; returns error if div not found.'
Error handling does not guide recovery. Generic messages like 'Unexpected error: ...' do not tell the LLM what to do next. Should categorize as retryable vs user-fixable and suggest alternatives. E.g., 'Could not find main content on provided Wikipedia URL. Verify the URL points to a standard Wikipedia article (not a redirect, disambiguation page, or special page).'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No description of tool behavior under edge cases: What happens if the article is very long? Are there token limits? What is the expected response time? What happens if Ollama service is unavailable?
Hardcoded model name 'deepseek-r1:1.5b' in tool implementation. This is not configurable and the tool description does not mention which model is used or how the user can customize it. Tool should document which summarization model is used and whether it is configurable.