About estonian-mcp
estonian-mcp is an MCP server published by silly-geese in the Documentation category: estonian NLP tools so AI agents stop hallucinating Estonian. 26 read-only tools wrapping EstNLTK, EKI Reeglid, and Riigi Teataja: spell-check, morphological analysis, lemmatization, full inflection paradigms, WordNet synonyms, fastText related words, named-entity recognition, orthography/grammar checks (capitalization, compounds, commas, numbers, abbreviation hyphenation, object case, register, style, redundancy, calque risk), editorial checks that catch kantseliit in reports and academic prose and flag a document that names one thing three ways, plus legal-Estonian tools (legalese simplification that protects terms of art, defined-term + cross-reference tracking, and canonical legal-usage collocations from public-domain legislation). Paradigms cover ordinals, comparatives and superlatives, and a word with two inflection types (kott inflects as either koti or kota, two different words sharing a nominative) returns one consistent table per type instead of a merged one. Offline and PII-f.
The repository has 25 stars and 4 forks, with the last commit 5 hours ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/silly-geese/estonian-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (26)
analyze_morphology(text)Lemma, POS, form and its Estonian name, root, ending, clitic, compound parts, ambiguity count, and usage flags (archaic / foreign / interjection / abbreviation / proper-noun) per word
Parameters not published.
check_abbreviation_hyphenation(text)Lühendiortograafia, flags abbreviations with case endings missing the EKI-mandated hyphen (`MCPst` → `MCP-st`, `OÜle` → `OÜ-le`)
Parameters not published.
check_capitalization(text)Algustäheortograafia check, flags wrongly capitalized weekdays, months, nationalities, and language/culture adjectives per EKI's Reeglid
Parameters not published.
check_compound_familiarity(text)Calque-risk diagnostic, for each compound noun, returns top fastText neighbours and flags compounds with weak similarity (`mõtteliin`-style translationese, e.g. literal English "train of thought" → real Estonian is `mõttekäik`) for second-look review
Parameters not published.
check_compounds(text)Liitsõnaõigekiri, flags common AI-generated splits of words that should be a single compound (`kooli maja` → `koolimaja`)
Parameters not published.
check_defined_terms(text)Long-document structure, maps terms defined with `(edaspidi «X»)`, counts their usage, lists `§` / `lõige` / `punkt` cross-references, and flags defined-but-unused or doubly-defined terms (cap raised to 500k chars)
Parameters not published.
check_hyphenation(word)Poolitamine, safe line-break positions for an Estonian word, syllable-boundary based with no-orphan-edge rule
Parameters not published.
check_legalese(text)Legal plain-language aid, flags archaic `kantseliit` filler (`käesolev` → `see`, `juhul kui` → `kui`) and over-long sentences to simplify, while listing the **terms of art** that must be preserved so simplification doesn't change legal meaning
Parameters not published.
check_numbers(text)Numbrite õigekirjutus, flags decimal separators (`3.14` → `3,14`) and thousands separators (`1,000,000` → `1 000 000`)
Parameters not published.
check_object_case(text)Käändeõpetus, flags direct-object case errors under negation and after partitive-only verbs (armastama, vihkama, vajama, …)
Parameters not published.
Show all 26 tools
check_officialese(text)Kantseliit check for **non-legal** prose (reports, academic, business), where `check_legalese` stays silent. Nominalisation density (`hindamine` → `hindama`), impersonal-voice ratio, clause stacking (`mille käigus … ning …`), Estonian-calibrated sentence length, and admin filler (`omab` → `on`, `viidi läbi` → `tehti`, `mudeli poolt loodud` → `mudeli loodud`)
Parameters not published.
check_punctuation(text)Kirjavahemärgid, flags missing commas before subordinating conjunctions (`et`, `sest`, `kuna`, `kuid`, `vaid`, `nagu`, …)
Parameters not published.
check_redundancy(text)Pleonasm check, flags semantic doubling like `samuti ka` (also+also), `kõige optimaalsem` (most+optimal), and fixed redundant phrases
Parameters not published.
check_style(text)Style metrics, lemma-aware repetition, umbisikuline-tegumood ratio, sentence-length variance, hedging-word density
Parameters not published.
check_term_consistency(text)One referent, one term. Flags a document that calls the same thing `andmestik` on page 1 and `teadusandmestik` on page 2, via shared compound head or shared Estonian WordNet synset, with per-variant counts so you can standardise on the dominant one
Parameters not published.
classify_register(text)Coarse formal/colloquial register hint with matched markers, consistency flag for register-mixed text, plus structural signals (umbisikuline tegumood ratio, noun density) so dense officialese no longer scores "neutral"
Parameters not published.
common_legal_usage(word)Canonical legal collocations from an offline corpus index, how often a term occurs in legislation and the words most often seen before/after it (`hagi` → `esitama hagi`, `kohustus` → `kohustuse täitmine`), so the model uses real legalese instead of inventing it (bundled index: 5 core Riigi Teataja codes, obligations, civil procedure, property, penal, general; expandable)
Parameters not published.
find_related_words(word)Top-N semantically nearby words via fastText embeddings (semantically related, not always synonymous)
Parameters not published.
lemmatize(text)Just the dictionary form per word
Parameters not published.
named_entities(text)People / places / organisations
Parameters not published.
paradigm(word)Full Vabamorf-generated inflection paradigm, 14 cases × 2 numbers for nominals (including ordinals, comparatives and superlatives), plus the short illative where a word has one (`majja` beside `majasse`), ~39 verb forms including the umbisikuline tegumood (`kasutatakse`, `kasutati`), with Estonian labels per form. A lemma with several inflection types (`kott` → `koti` or `kota`, two different words) returns one consistent table per type, corpus-ranked, rather than a merged one; pass an inflected form (`koti`) to select the type you mean
Parameters not published.
pos_tag(text)Just the part-of-speech tag per word
Parameters not published.
spell_check(text)Spelling check + correction suggestions
Parameters not published.
syllabify(word)Syllables with quantity + accent
Parameters not published.
synonyms(word)Synsets from Estonian WordNet, synonymous lemmas + definition + examples per word sense
Parameters not published.
tokenize(text)Split text into sentences and words
Parameters not published.
Ask AI
Ask AI about estonian-mcp
Powered by Claude · Grounded in docs
Security checks
6 checks have not been run yet.