multilingual-dictionary-mcp
Многоязычный словарь MCP
MCP-сервер для многоязычного поиска в словарях с использованием семантических связей — синонимов, антонимов, гиперонимов, гипонимов, меронимов, переводов, этимологии, определений, рифм и многого другого — охватывающий все языки за счет объединения трех бесплатных публичных API:
ConceptNet — многоязычная семантическая сеть (80+ языков, связи слов: синоним, антоним, IsA, PartOf, RelatedTo, DerivedFrom и др.)
Wiktionary — определения, этимология и произношение на 4000+ языках
Datamuse — утилиты только для английского языка (рифмы, созвучные слова, «означает похожее», шаблоны написания, контекстные триггеры)
Никаких API-ключей. Никаких встроенных данных. Просто подключите его к Claude (или любому другому MCP-клиенту) и спрашивайте о словах на любом языке.
Установка
Через npm
npm install -g multilingual-dictionary-mcpЧерез GitHub Packages
npm install -g @eyalm321/multilingual-dictionary-mcp --registry=https://npm.pkg.github.comКонфигурация Claude Desktop / Claude Code
{
"mcpServers": {
"multilingual-dictionary": {
"command": "npx",
"args": ["-y", "multilingual-dictionary-mcp"]
}
}
}Related MCP server: word-orb
Инструменты
Многоязычные связи слов (ConceptNet)
Все они принимают word (слово), ISO 639-1 language код (по умолчанию en) и limit (лимит). Работает для английского, испанского, французского, немецкого, итальянского, русского, иврита, арабского, латыни, китайского, японского и еще 70+ языков.
Инструмент | Описание |
| Слова с похожим значением |
| Противоположности |
| Слабо связанные термины (связи RelatedTo) |
| Более широкие/родительские понятия (собака → млекопитающее) |
| Более узкие/дочерние понятия (собака → пудель) |
| Части/компоненты (автомобиль → колесо) |
| Целое, содержащее это (колесо → автомобиль) |
| Этимологические корни |
| Родственные слова и общие корни в разных языках |
| Типичное назначение (нож → резать) |
| Типичные действия (собака → лаять) |
| Типичные места (книга → библиотека) |
| Межъязыковые синонимы — перевод слова |
| Все связи для слова за один вызов |
Определения и этимология (Wiktionary)
Инструмент | Описание |
| Определения, сгруппированные по языкам (4000+ языков через en.wiktionary) |
| Краткое текстовое резюме из любого издания Wiktionary |
| Раздел этимологии, обычный текст |
| Раздел произношения (обычно IPA) |
| Поиск соответствующих страниц в издании Wiktionary |
| Случайное слово из любого издания Wiktionary |
Утилиты для английского языка (Datamuse)
Инструмент | Описание |
| Точные или неточные рифмы |
| Омофоны / созвучные слова |
| ML-поиск «означает примерно» — шире, чем синонимы |
| Шаблон написания с подстановочными знаками |
| Автодополнение |
| Статистически связанные термины (корова → молоко, ферма) |
| Слова, которые обычно следуют после (пить → кофе) |
| Слова, которые обычно стоят перед (аудитория → плененная) |
Управление кэшем
Инструмент | Описание |
| Просмотр попаданий/промахов/размера кэша ответов в памяти |
| Принудительное обновление данных путем очистки кэша |
Кэширование
Каждый успешный ответ от внешнего источника кэшируется в оперативной памяти на время работы процесса сервера, с ключом в виде полного URL запроса. Идентичные повторные вызовы в рамках одной сессии возвращаются мгновенно без повторного обращения к ConceptNet/Wiktionary/Datamuse.
TTL по умолчанию: 24 часа
Макс. количество записей по умолчанию: 5000 (вытеснение LRU)
Отключено для
dictionary_random(который должен меняться)Нет сохранения на диск — кэш перестраивается при каждом запуске сервера
Настройка через переменные окружения:
MDM_DISABLE_CACHE=true # turn caching off
MDM_CACHE_TTL_MS=3600000 # 1 hour TTL
MDM_CACHE_MAX_ENTRIES=10000 # bigger cacheПримеры
> What are the synonyms of "feliz" in Spanish?
[uses dictionary_synonyms with language: "es"]
> Translate "happiness" into Hebrew
[uses dictionary_translate with language: "en", targetLanguage: "he"]
> What's the etymology of the word "serendipity"?
[uses dictionary_etymology]
> Find me words that rhyme with "orange"
[uses dictionary_rhymes]
> What are the parts of a bicycle?
[uses dictionary_meronyms with word: "bicycle"]Разработка
npm install
npm run build # TypeScript compile
npm test # vitest run
npm run test:watch # vitest watch
npm run dev # ts-node entry pointСтруктура проекта
src/
├── index.ts # MCP server entry
├── client.ts # HTTP wrappers for ConceptNet / Wiktionary / Datamuse
├── tools/
│ ├── relations.ts # ConceptNet-backed multilingual relation tools
│ ├── definitions.ts # Wiktionary-backed definition/etymology tools
│ └── english.ts # Datamuse-backed English utilities
└── __tests__/ # vitest specsCI / Релиз
CI запускается при каждом push и PR в ветку
mainна Node 20 и 22.Публикация запускается при создании GitHub Release — тесты, сборка, затем публикация как в npm (как
multilingual-dictionary-mcp), так и в GitHub Packages (как@eyalm321/multilingual-dictionary-mcp).
Чтобы сделать релиз:
Увеличьте
versionвpackage.jsonи сделайте коммит.Поставьте тег и сделайте push (например,
git tag v0.1.1 && git push --tags).Создайте GitHub Release, указывающий на этот тег — рабочий процесс публикации сделает все остальное.
Рабочий процесс публикации ожидает два секрета репозитория: NPM_TOKEN (токен автоматизации npm) и GITHUB_TOKEN (автоматически предоставляется GitHub Actions).
Лицензия
MIT © Eyalm321
Available Tools
28 toolsdictionary_all_relationsC
All edges (every relation type) for a word in one call from offline ConceptNet.
Inputs: word (required), language, limit.
dictionary_antonymsB
Get antonyms (opposites) for a word in any language using offline ConceptNet.
Inputs: word (required), language, limit.
dictionary_at_locationB
Typical locations (AtLocation) via offline ConceptNet. E.g. book -> library.
Inputs: word (required), language, limit.
dictionary_capable_ofB
Typical actions (CapableOf) via offline ConceptNet. E.g. dog -> bark.
Inputs: word (required), language, limit.
dictionary_derived_fromC
Derivation relations via offline ConceptNet DerivedFrom.
Inputs: word (required), language, limit.
dictionary_etymologyA
Return etymology text for a word from the offline Wiktextract corpus.
Inputs: word (required), language.
dictionary_holonymsB
Holonyms (wholes that contain this word) via offline ConceptNet reverse PartOf.
Inputs: word (required), language, limit.
dictionary_hypernymsA
Hypernyms (broader concepts) via offline ConceptNet IsA. E.g. dog -> mammal.
Inputs: word (required), language, limit.
dictionary_hyponymsB
Hyponyms (narrower concepts) via offline ConceptNet IsA. E.g. dog -> poodle.
Inputs: word (required), language, limit.
dictionary_installA
Manually kick off (or re-trigger) the offline data download. Returns immediately while the install runs in the background. Idempotent — calling repeatedly while a download is in progress is a no-op. Use dictionary_status to track progress.
Inputs: no named parameters.
dictionary_lookupA
Look up definitions for a word from the offline Wiktextract corpus (4,755 languages, 10.5M entries). Returns part-of-speech, definitions per sense, IPA, etymology, and translations grouped by language.
Inputs: word (required), language, limit.
dictionary_means_likeA
Find words/phrases meaning approximately the same as the input via offline Numberbatch embedding cosine. Multilingual — works in any of the 78 languages Numberbatch covers.
Inputs: query (required), language, limit.
dictionary_meronymsC
Meronyms (parts/components) via offline ConceptNet PartOf. E.g. car -> wheel.
Inputs: word (required), language, limit.
dictionary_pronunciationB
Return IPA pronunciation(s) for a word from the offline Wiktextract corpus.
Inputs: word (required), language.
dictionary_randomA
Return a random word entry from the offline Wiktextract corpus, optionally filtered to a language.
Inputs: language.
dictionary_rhymesA
Find words that rhyme with the input word. English only — backed by the offline CMU Pronouncing Dictionary.
Inputs: word (required), limit, perfect.
dictionary_searchA
Prefix-search the offline Wiktextract corpus for words matching a query. Useful when you don't know the exact spelling.
Inputs: query (required), language, limit.
dictionary_semantic_neighborsA
Embedding-based nearest neighbors via Numberbatch. Returns words from the same OR a different language, sorted by cosine similarity. Multilingual (78 languages).
Inputs: word (required), language, targetLanguage, limit.
dictionary_sounds_likeB
Find English words that sound similar to the input (homophones / soundalikes) via offline CMU dict.
Inputs: word (required), limit.
dictionary_spelled_likeA
Find English words matching a spelling pattern via offline CMU dict. '?' = any single letter, '*' = any zero+ letters. Useful for crosswords.
Inputs: pattern (required), limit.
dictionary_statusA
Get the current state of the offline data installation. Always available — even before the bundle has finished downloading. Returns: state (pending/downloading/ready/failed), per-artifact progress, total bytes downloaded, data directory, CDN URL, manifest version, and any error.
Inputs: no named parameters.
dictionary_suggestA
Get autocomplete suggestions for a partial English word via offline CMU dict (shortest matches first).
Inputs: prefix (required), limit.
dictionary_summaryA
Get a brief plain-text summary of a word's senses from the offline Wiktextract data. Concatenates the first definition of each sense.
Inputs: word (required), language.
dictionary_synonymsA
Get synonyms for a word in any language using the offline ConceptNet 5.7 SQLite (24M edges, 80+ languages).
Inputs: word (required), language, limit.
dictionary_translateC
Translate a word to another language via offline ConceptNet's cross-lingual Synonym links. Returns the same concept expressed in different languages.
Inputs: word (required), language, targetLanguage, limit.
dictionary_used_forB
Typical uses (UsedFor) via offline ConceptNet. E.g. knife -> cutting.
Inputs: word (required), language, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 28 tools
Each tool targets a specific linguistic relation or operation with clear, distinct descriptions. Even potentially overlapping tools like synonyms, means_like, and related are differentiated by their underlying data sources (ConceptNet vs Numberbatch embeddings).
All tools follow a consistent 'dictionary_' prefix followed by a descriptive snake_case name. The pattern is uniform with no mixing of conventions or styles.
28 tools is on the higher end but justified by the comprehensive coverage of dictionary features (definitions, etymology, pronunciation, semantic relations, search, data management). It remains manageable and focused.
The tool surface covers a wide range of dictionary and lexical relations: definitions, pronunciations, etymology, synonyms, antonyms, hypernyms, hyponyms, meronyms, holonyms, translations, rhymes, spelling, autocomplete, random access, and data installation status. No obvious gaps for the stated purpose.
Maintenance
Related MCP Connectors
MCP server for Chinese dictionary lookup: character definitions, pinyin, stroke order and word
Wiktionary MCP — multilingual dictionary via Wikimedia REST + MediaWiki Action API
Dictionary MCP — wraps Free Dictionary API (free, no auth)
MCP server for Chinese idioms (chengyu): lookup by word, pinyin or meaning with explanation and
Related MCP Servers
- AlicenseCqualityDmaintenanceAn MCP server that provides access to the Similar Words API, allowing users to search for and retrieve semantically related words. It enables language-based applications to query word similarities and relationships through a standardized interface.1MIT
- AlicenseNot gradedqualityCmaintenanceVocabulary intelligence MCP server — 162K words, 47 languages, definitions, IPA pronunciation, etymology, translations, and daily lessons. 19 tools for AI agents.2 npm1MIT
- AlicenseAqualityDmaintenanceMCP server for the Datamuse API that enables word finding like synonyms, rhymes, autocomplete, and more.1049 npm3MIT
- FlicenseNot gradedqualityDmaintenanceRemote MCP server for word definitions and random word retrieval via Oxford Dictionaries API, deployable on Vercel with bearer token authentication.-