MCP server that turns your Obsidian vault into a language learning hub
Polyglot MCP has complete input schemas for all 6 tools with proper JSON Schema structure and type definitions. However, descriptions are in Polish and lack LLM-optimized English guidance. Most parameter descriptions are missing or minimal. No output schemas are documented. Error handling is absent from tool definitions. Tool naming follows verb_noun convention (get_, set_, create_, update_) which is good, but descriptions do not explain WHEN to use each tool or what the LLM should expect in return. The server is STDIO-only, which caps protocol readiness at 50 regardless of definition quality.
Zapisuje notatkę z zakończonej sesji nauki. Wywołuj na końcu każdej sesji.
Tworzy notatkę nowego słówka w vault.
Zwraca słowa do powtórki na dziś. Język musi być podany explicite.
Pobiera statystyki nauki. Wywołuj na początku każdej sesji.
Tworzy lub aktualizuje profil językowy użytkownika.
Aktualizuje postęp słówek po sesji powtórek.
All tool descriptions are in Polish without English translations. LLMs operating in English contexts cannot understand when to invoke these tools. Descriptions lack WHEN/WHY guidance and are under 100 chars, violating the 10-1024 char baseline.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does get_stats return? What is the structure of due_words?). This violates the pattern requirement that tools document return types.
Most input parameters lack descriptions. E.g., 'language' parameter in get_stats has a description, but 'action' in set_language_profile lacks guidance on what each enum value does. Parameters named 'language', 'word', 'results' need context explaining format, constraints, and dependencies.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No error handling guidance in tool definitions. If a language code is invalid, or a word already exists, or vault write fails, the LLM has no recovery path. Error responses should guide the agent on retry vs. user-fixable vs. fatal.
No idempotency or confirmation pattern for destructive operations. create_word_note, update_word_progress, and create_session_note modify vault state but lack dry-run or confirmation steps. Agents may accidentally duplicate notes or overwrite data.