MCP Server für internationale Bildungsdaten – UNESCO UIS (4000+ Indikatoren) und OECD Education at a Glance (SDMX API)
Single tool 'uis_list_indicators' has well-structured JSON Schema with proper type constraints (theme maxLength=50, search maxLength=200, limit min=1 max=500 default=50). Description is comprehensive (~280 chars) and explains purpose, categories, and return format in German. Parameters all have descriptions and types. However, output schema is not formally documented in the tool definition, only described as 'Markdown-liste'. No error handling guidance provided. Tool follows verb_noun naming (list_indicators) and accepts optional filters with sensible defaults.
Listet verfügbare Indikatoren der UNESCO Institute for Statistics auf. Die UIS bietet über 4'000 Indikatoren zu Bildung, Wissenschaft, Kultur und Kommunikation. Diese Funktion dient zur Exploration und Indikatorsuche. Wichtige Indikator-Kategorien (am 2026-08-08 gegen die Quelle gehalten; `NERA.*`, `XUNIT.*` und `PTR.*` standen hier, existieren dort aber nicht): - Alphabetisierung (LR.*): Lese-/Schreibkompetenz nach Alter, Geschlecht - Einschulungsraten (NERT.*, OFST.*): Netto-Einschulung, Kinder ausserhalb der Schule - Schulabschlüsse (CR.*): Abschlussquoten Primar- bis Sekundarstufe - Bildungsausgaben (XGDP.*): % BIP - Lehrpersonen (TRTP.*, FTP.*): Mindestqualifikation, Frauenanteil Args: params: theme (optional), search (optional), limit Returns: Markdown-Liste mit Indikator-IDs und Beschreibungen
Output schema not formally documented. Tool description states 'Markdown-liste mit Indikator-IDs und Beschreibungen' but does not specify structured fields (e.g., indicator_id, name, description, category). LLMs cannot plan downstream tool calls without knowing response structure.
No error handling guidance. Tool description does not explain what happens if theme is invalid, search returns no results, or API is unavailable. LLMs need recovery hints (e.g., 'If no results, try broader search or omit theme filter').
Description includes category examples (LR.*, NERT.*, CR.*, etc.) but notes these may be outdated ('am 2026-08-08 gegen die Quelle gehalten'). This creates uncertainty for LLMs about valid values. Consider returning available categories dynamically or documenting a refresh cadence.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | <=2025-11-25 | v2 |
Theme parameter accepts free-form string (maxLength=50) but description suggests enum-like values ('EDUCATION', 'SCIENCE', 'CULTURE'). Should declare as enum or provide discovery tool to list valid themes.
Search parameter description lacks format guidance. Does it support regex, wildcards, phrase matching, or exact match? LLMs will guess, leading to unexpected results.