Offline-first MCP server for multilingual dictionary lookups across 4,755 languages — definitions, synonyms, antonyms, hypernyms, hyponyms, meronyms, translations, etymology, semantic neighbors, rhymes, and more. Bundles ConceptNet 5.7, Wiktextract, Numberbatch embeddings, and the CMU Pronouncing Dictionary.
17 tools with consistent naming (verb_noun pattern) and reasonable descriptions (avg ~80 chars). However, critical gaps: 5 tools (synonyms, antonyms, translations, and 2 others) lack visible input schemas in source code, only inferred from package.json. No output schemas documented anywhere. Parameters present but descriptions are minimal (10-30 chars). No error handling guidance, no recovery paths, no pagination despite tools returning lists. Tool composition is sound (single responsibility), but LLM-facing descriptions are too terse to guide selection vs. similar tools (e.g., 'Find synonyms' vs 'Find semantic neighbors', when to use which?).
Find antonyms for a word using ConceptNet relations
Look up definitions for a word in a specific language
Trigger or resume installation of the offline data bundle
Get the current installation status of the offline data bundle
Get etymology information for a word using Wiktextract
Find words that commonly follow a given word in English text using n-gram analysis
Find hypernyms (more general terms) for a word using ConceptNet
Find hyponyms (more specific terms) for a word using ConceptNet
5 tools (synonyms, antonyms, translations, and 2 inferred from package.json) have NO visible input schemas in source code, only listed in package.json.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract fields without knowing return structure. Descriptions like 'Find synonyms' do not specify whether result is array of strings, array of objects with scores, or paginated response.
Parameter descriptions are too terse (10 - 30 chars). 'Language code (e.g., en, es, fr)' does not explain what happens if an unsupported language is passed, whether it falls back, or returns an error. LLMs cannot infer error recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Find meronyms (parts/components) for a word using ConceptNet
Find near rhymes (slant rhymes) for an English word using CMU Pronouncing Dictionary
Find words that commonly precede a given word in English text using n-gram analysis
Find perfect rhymes for an English word using CMU Pronouncing Dictionary
Find semantically similar words using Numberbatch embeddings
Find homophones and words with similar pronunciation using CMU Pronouncing Dictionary
Find synonyms for a word using ConceptNet relations
Find translations of a word across languages using Wiktextract
Find words with high pointwise mutual information (semantic triggers) for a given word using n-gram analysis
No error handling guidance. Tools return 'Error: <message>' but do not categorize errors (retryable vs. user-fixable vs. fatal) or suggest recovery steps. E.g., if a language is unsupported, should the LLM try a different language or ask the user?
Tools returning lists (synonyms, antonyms, rhymes, etc.) lack pagination parameters (limit, offset, page_size). No indication of result count limits. Large result sets risk context window exhaustion.