multilingual-dictionary-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@multilingual-dictionary-mcpsynonyms of 'amor' in Spanish"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Multilingual Dictionary MCP
An MCP server for multilingual dictionary lookups with word relations — synonyms, antonyms, hypernyms, hyponyms, meronyms, translations, etymology, definitions, rhymes, and more — covering all languages by stitching together three free public APIs:
ConceptNet — multilingual semantic network (80+ languages, word relations: Synonym, Antonym, IsA, PartOf, RelatedTo, DerivedFrom, etc.)
Wiktionary — definitions, etymology, and pronunciation in 4000+ languages
Datamuse — English-only utilities (rhymes, sound-alikes, "means like", spelling patterns, contextual triggers)
No API keys. No bundled data. Just plug it into Claude (or any MCP client) and ask it about words in any language.
Installation
From npm
npm install -g multilingual-dictionary-mcpFrom GitHub Packages
npm install -g @eyalm321/multilingual-dictionary-mcp --registry=https://npm.pkg.github.comClaude Desktop / Claude Code config
{
"mcpServers": {
"multilingual-dictionary": {
"command": "npx",
"args": ["-y", "multilingual-dictionary-mcp"]
}
}
}Tools
Multilingual word relations (ConceptNet)
All of these accept a word, an ISO 639-1 language code (defaults to en), and a limit. Works for English, Spanish, French, German, Italian, Russian, Hebrew, Arabic, Latin, Chinese, Japanese, and 70+ more.
Tool | Description |
| Words with similar meaning |
| Opposites |
| Loosely associated terms (RelatedTo edges) |
| Broader/parent concepts (dog → mammal) |
| Narrower/child concepts (dog → poodle) |
| Parts/components (car → wheel) |
| Wholes that contain this (wheel → car) |
| Etymological roots |
| Cognates and shared roots across languages |
| Typical purposes (knife → cutting) |
| Typical actions (dog → bark) |
| Typical locations (book → library) |
| Cross-lingual synonyms — translates a word |
| All relations for a word in one call |
Definitions & etymology (Wiktionary)
Tool | Description |
| Definitions grouped by language (4000+ languages via en.wiktionary) |
| Brief plain-text summary from any Wiktionary edition |
| Etymology section, plain text |
| Pronunciation section (typically IPA) |
| Search a Wiktionary edition for matching pages |
| Random word from any Wiktionary edition |
English-specific utilities (Datamuse)
Tool | Description |
| Perfect or near rhymes |
| Homophones / soundalikes |
| ML-based "means approximately" — broader than synonyms |
| Spelling pattern with |
| Autocomplete |
| Statistically associated terms (cow → milk, farm) |
| Words that commonly follow (drink → coffee) |
| Words that commonly precede (audience → captive) |
Cache management
Tool | Description |
| Inspect hits/misses/size of the in-memory response cache |
| Force fresh upstream lookups by clearing the cache |
Caching
Every successful upstream response is cached in memory for the lifetime of the server process, keyed by the full request URL. Identical follow-up calls within the same session return instantly without hitting ConceptNet/Wiktionary/Datamuse again.
Default TTL: 24 hours
Default max entries: 5000 (LRU eviction)
Disabled for
dictionary_random(which is supposed to vary)No disk persistence — cache is rebuilt on each server start
Tune via env vars:
MDM_DISABLE_CACHE=true # turn caching off
MDM_CACHE_TTL_MS=3600000 # 1 hour TTL
MDM_CACHE_MAX_ENTRIES=10000 # bigger cacheExamples
> 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"]Development
npm install
npm run build # TypeScript compile
npm test # vitest run
npm run test:watch # vitest watch
npm run dev # ts-node entry pointProject layout
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 / Release
CI runs on every push and PR against
main, on Node 20 and 22.Publish runs when a GitHub Release is published — tests, builds, then publishes to both npm (as
multilingual-dictionary-mcp) and GitHub Packages (as@eyalm321/multilingual-dictionary-mcp).
To cut a release:
Bump the
versioninpackage.jsonand commit.Tag and push (e.g.
git tag v0.1.1 && git push --tags).Create a GitHub Release pointing at the tag — the publish workflow handles the rest.
The publish workflow expects two repository secrets: NPM_TOKEN (npm automation token) and GITHUB_TOKEN (auto-provided by GitHub Actions).
License
MIT © Eyalm321
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Eyalm321/multilingual-dictionary-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server