An MCP server providing tools for web search, Wikipedia article retrieval, and time/date information with integration to an AI agent via Azure OpenAI
The server defines 4 tools with basic verb-noun naming conventions (get_*, search_*, check_*) and includes descriptions in German. However, critical gaps exist: (1) Parameter descriptions are minimal or absent in JSON schemas, the schema shows parameter names but lacks the descriptions that LLMs rely on to understand what values to pass. (2) Output schemas are not documented, return types are inferred from code (list, str) but not formally declared for agent consumption. (3) No error handling guidance, tools return empty lists or empty strings on failure without telling the LLM what went wrong or how to recover. (4) No pagination support despite tools that could return large results (search_web, get_wikipedia_article). Per-tool analysis: get_current_time_and_date (straightforward, no params, acceptable); search_web (has num_results default=5, good); get_wikipedia_article (basic); check_available_wikipedia_articles (returns list but no pagination). Descriptions are written in German, which is not ideal for LLM understanding in multilingual contexts, most production tools use English. Code shows no input validation, no retry guidance, and fragile web scraping (BeautifulSoup selectors could break).
Überprüft, ob es Wikipedia-Artikel zu einem bestimmten Suchbegriff gibt.
Gibt die Zeit (Datum und Uhrzeit) in Deutschland/Berlin (UTC+1) zurück.
Gibt den Inhalt eines Wikipedia-Artikels zurück.
Führt eine Websuche mit dem angegebenen Suchbegriff durch und gibt die Ergebnisse zurück.
Parameter descriptions missing from JSON schemas. Schema declares parameters (search_term, num_results, title, possible_title) with types, but LLMs cannot see descriptions that explain what values to pass or what each parameter controls.
Output schemas not documented. Tools return untyped Python objects (list, str) without formal documentation of fields, structure, or content. Agents cannot plan downstream calls or validate responses.
No error handling guidance. Tools catch exceptions and return empty results (return [] or return '') without telling the LLM why, what went wrong, or what to do next. Agents cannot distinguish between 'no results found' and 'service unavailable'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
Descriptions in German rather than English. LLMs are trained primarily on English documentation. German descriptions may not be understood by models trained on English-heavy corpora, reducing tool discoverability and selection accuracy.
No pagination support. search_web returns top N results with a hard-coded default (5), and get_wikipedia_article truncates to 2000 chars without exposing pagination options. Large result sets could exhaust context.
Fragile web scraping. Tools rely on BeautifulSoup CSS selectors (e.g., '.result', '.result__title', '.result__url') that depend on DuckDuckGo/Wikipedia HTML structure. Any DOM change breaks the tool silently.