Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ESTNLTK_MCP_AUTH_TOKENNoBearer token for authentication. Required for bearer mode if not in public mode. Must be at least 16 characters.
ESTNLTK_MCP_PUBLIC_MODENoSet to '1' to enable public mode (no bearer token required). Default mode is bearer.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
tokenizeA

Split Estonian text into sentences and words.

Returns a dict with sentences (list of strings) and words (list of strings). Input is capped at 100,000 characters.

analyze_morphologyA

Run full morphological analysis on Estonian text.

For each word returns lemma(s), part-of-speech, grammatical form, root, ending, clitic, compound parts, ambiguity info, and a usage note flagging archaic / foreign / abbreviation / interjection / proper-noun cases. By default returns the first (most likely) analysis per word; set all_analyses=True to return every ambiguous analysis.

Each word's response includes:

  • lemma, partofspeech, form, root, ending, clitic, root_tokens

  • analyses_count: how many alternative analyses Vabamorf produced for this surface form (>1 means the word is morphologically ambiguous)

  • is_ambiguous: shorthand for analyses_count > 1

  • usage_note: machine code (None if neutral) — "archaic" / "foreign" / "abbreviation" / "interjection" / "proper-noun"

  • usage_note_estonian: human-readable Estonian rendering of the same flag (quote this verbatim in Estonian replies; do NOT translate the English usage_note yourself)

  • indeclinable: True for words that stay in base form when used attributively (lexical indeclinables like täis, and -tud/-nud past participles like tuntud) — i.e. they do NOT take the noun's case ending in agreement. Use this before inflecting a noun phrase so you don't wrongly decline an invariant adjective.

Input is capped at 100,000 characters.

paradigmA

Generate the full inflection paradigm for an Estonian word.

For nominals (nouns, adjectives, pronouns, numerals): produces all 14 cases × 2 numbers = up to 28 forms. For verbs: produces infinitives, present/past/conditional indicative, imperative, and participles (~30 forms). Other parts of speech (adverbs, conjunctions, particles) don't inflect — forms is empty.

Each form entry has the Vabamorf form code (e.g. sg p, ksin), its Estonian label (e.g. ainsuse osastav, tingiv 1.p ainsus), and the surface form Vabamorf generated. Use form_estonian verbatim in Estonian replies — don't translate the English form code.

Phase-1 scope: covers the most commonly-needed forms per word class, not every theoretical form Vabamorf can produce. Single-word input, capped at 200 characters.

lemmatizeA

Return lemma (dictionary form) for each word in the text.

Concise output: [{"word": ..., "lemma": ...}, ...]. Input is capped at 100,000 characters.

pos_tagA

Return part-of-speech tag for each word.

POS tag set: S=noun, V=verb, A=adj, P=pron, D=adv, K=adp, J=conj, N=numeral, I=interj, Y=abbrev, X=foreign, Z=punct, etc. Input is capped at 100,000 characters.

spell_checkA

Check Estonian spelling for each word and optionally return suggestions.

Returns one entry per word with text, spelling (bool), and suggestions (list of correction candidates) when suggestions=True. Input is capped at 100,000 characters.

CAVEAT: Vabamorf accepts ANY morphologically well-formed word, including compounds you just invented (e.g. toortõlkeoht) — it splits them into valid roots and reports spelling: true. So passing spell_check does NOT mean a word is real, attested Estonian. For a coined or unusual compound, confirm it with check_compound_familiarity before trusting it.

syllabifyA

Split a single Estonian word into syllables with quantity and accent.

Each syllable entry: {"syllable": str, "quantity": int, "accent": int}. Input is capped at 200 characters and must contain no whitespace.

named_entitiesA

Extract named entities (PER/LOC/ORG) using EstNLTK's CRF model.

Returns [{"text": ..., "type": ..., "start": ..., "end": ...}, ...]. Input is capped at 100,000 characters.

find_related_wordsA

Find Estonian words semantically similar to the input via fastText.

Returns the top-n nearest neighbours by cosine similarity over a pre-trained Estonian fastText model (Common Crawl + Wikipedia, 2018). Useful for breaking repetition, finding alternative phrasings, or expanding vocabulary when WordNet's exact-meaning synonyms aren't enough.

Distinct from synonyms: that one returns WordNet synsets — words with the same meaning. This one returns words that pattern with the input in real Estonian text, which can include near-synonyms, related concepts, and (sometimes) antonyms.

Known quirks of the embedding model:

  • Inflections crowd the top results for some words. fastText sees kasutama and kasutada as related because the surface forms share subword n-grams; you may want to lemmatize matches yourself to dedupe.

  • Antonyms can appear because antonyms occur in similar contexts (tark may surface loll). Treat the list as "semantically nearby" rather than "synonymous."

  • Polysemy is not disambiguated. lahe (which means both "bay" and the colloquial "cool") will return whichever sense dominates the training data.

Single-word input only, capped at 200 characters.

synonymsA

Look up Estonian synonyms via WordNet.

Returns synsets (groups of synonymous lemmas) for the input word, each with its definition and example usages. Useful when you want Claude to pick a different word with the same meaning, e.g. swap an over-used verb in marketing copy. Word-sense ambiguity is preserved: a polysemous word returns multiple synsets, one per meaning. Input capped at 200 characters.

check_compoundsA

Heuristic Estonian compound-word check (liitsõnaõigekiri).

Scans for common AI-generated splits of words that should be written as a single compound — kooli maja (wrong) → koolimaja (right), nädala vahetus (wrong) → nädalavahetus (right), etc. Uses a curated bigram lexicon (~30 entries covering the highest-frequency AI mistakes); not a full liitsõnaõigekiri solver.

Phase-1 limitations: only catches the bigrams in the lexicon. Estonian compounding is highly productive and most valid compounds aren't enumerated here. Treat hits as high-confidence; absence of hits does not prove the compound writing is correct everywhere. Input capped at 100,000 characters.

check_punctuationA

Heuristic Estonian punctuation check — comma-before-clause rule.

Flags missing commas before subordinating conjunctions where Estonian rules require one: et (that/in order to), kuna (because), sest (because), kuigi (although), kuid (but), vaid (rather), nagu (like), mistõttu (because of which), millepärast, kuhu.

Phase-1 limitations: only the comma-before-clause-conjunction rule is covered. kui, mis, kes are deliberately excluded because their function is contextual (kui = than/as in comparisons doesn't need a comma). Listing commas, apposition commas, dash and colon rules — all out of scope for phase 1. Input capped at 100,000 characters.

check_hyphenationA

Return safe line-break positions for an Estonian word (poolitamine).

Different from syllabify (which is phonological): this returns character offsets where a typesetter can legally break the word across lines. Applies the no-orphan-edge rule (don't leave fewer than 2 characters before or after the break point).

Phase-1 limitation: pure syllable-boundary based. Compound-boundary preference (Estonian poolitamine prefers kooli-maja over koo-limaja) is not yet applied. Input must be a single word with no whitespace, capped at 200 characters.

check_numbersA

Heuristic Estonian number-writing check.

Flags two clear-cut cases per EKI Reeglid:

  • Decimal separator: Estonian uses a comma (3,14), not a period (3.14).

  • Thousands separator: Estonian uses a space (1 000 000), not a comma (1,000,000).

Phase-1 limitations: spell-out-vs-digits guidance (the one-to-ten-spelled-out convention) is intentionally not implemented — it requires distinguishing measurements, dates, years, and lists from running prose, and naive flagging produces too many false positives. Input capped at 100,000 characters.

check_capitalizationA

Heuristic Estonian capitalization checker (Algustäheortograafia).

Scans Estonian text for the most common AI-generated capitalization errors per EKI's Reeglid:

  • Weekday names capitalized mid-sentence (Esmaspäeval → esmaspäeval)

  • Month names capitalized mid-sentence (Jaanuaris → jaanuaris)

  • Nationality names capitalized mid-sentence (Eestlane → eestlane)

  • Country/language adjectives capitalized before a culture or language noun (Eesti keel → eesti keel; Eesti köök → eesti köök). The bare capitalized form on its own (Eesti, Eestis) is left alone because it's a valid country proper-noun usage.

Sentence-initial capitalization is always allowed. All-caps acronyms are ignored. Returns each issue with rule code, an Estonian rule label (rule_estonian — quote this verbatim in Estonian replies, don't translate the English rule), a user-facing explanation, and a suggested correction. Input capped at 100,000 characters.

PHASE-1 LIMITATION: this is a lexicon-based heuristic, not a full EÕS implementation. Compound-word capitalization, punctuation rules, and hyphenation are NOT covered by this tool (separate check_compounds / check_punctuation / check_hyphenation tools may follow).

check_compound_familiarityA

fastText-based diagnostic for compound-noun familiarity in Estonian.

For each compound noun (root_tokens length >= 2), returns its top fastText neighbours, a top_score similarity, a neighbour_quality breakdown, and is_suspect: true + human-readable reasons when the compound is out-of-vocab AND its top similarity is below 0.60 OR its neighbours are mostly scrape-artifact tokens. This catches both toortõlkeoht (OOV, top 0.571 — over the old 0.55 gate but a coinage) and mõtteliin (literal English "train of thought"; real Estonian is mõttekäik).

Output is diagnostic, not authoritative. Even with the 100K-vocab medium model, some legitimate but rare compounds (e.g. tervisekindlustus) can still be OOV; the rule favours recall, so a flagged real compound just earns a second look. Judge by the included neighbours: semantically coherent neighbours (related real words) mean the compound is fine; neighbours that recycle the input's morphemes or are junk tokens mean a likely coinage.

Input capped at 100,000 characters.

check_abbreviation_hyphenationA

Heuristic check for the EKI Reeglid rule that case endings on Latin-letter / all-caps abbreviations are separated by a hyphen.

Catches the common AI mistake of writing MCPst, APIga, OÜle instead of MCP-st, API-ga, OÜ-le. Uses Vabamorf's POS+form analysis to identify tokens recognised as abbreviations carrying a case ending; only flags those that aren't already hyphenated.

Phase-1 scope: matches what Vabamorf tags as Y (abbreviation). Custom acronyms Vabamorf doesn't know (your brand acronym, niche industry shorthand) won't be flagged because Vabamorf doesn't see them as abbreviations. Input capped at 100,000 characters.

check_object_caseA

Heuristic Estonian object-case-government check.

Catches the single biggest class of confidently-wrong Estonian that AI agents produce: direct objects in the wrong case after negation or after partitive-governing verbs.

Two rules in phase 1:

  • Negation → partitive: any sentence containing 'ei', 'pole', 'ära', 'ärge', 'ärgu', 'ärgem', or 'mitte' must have direct objects in partitive. Flags nominative / genitive nouns.

  • Partitive-only verbs: the verbs armastama, vihkama, vajama, soovima, ootama, austama, kartma, puudutama, tundma always take partitive direct objects. Flags any noun in nominative/genitive in the same sentence.

Phase-1 limitation: no syntactic parser, so we can't perfectly distinguish subject from object. Subjects in negation/partitive-verb sentences may be flagged as false positives. Treat hits as "worth a second look", not authoritative. Proper nouns are skipped. Input capped at 100,000 characters.

check_redundancyA

Heuristic Estonian pleonasm / semantic-doubling check.

Flags phrasing that is grammatically valid but reads redundant to a native speaker — the class of error AI agents produce when they stack synonyms. Phase-1 rules, all high-precision:

  • Doubled 'also' particles: samuti ka, ka samuti, ühtlasi ka — both words mean "also/too", so together they're a tautology. (This is the exact samuti ka suvesärgid case.)

  • Double superlative: kõige before an already-absolute adjective (optimaalne, ideaalne, maksimaalne, täiuslik, ainus, …) — like English "most optimal". Lemma-matched, so all inflected forms count.

  • Fixed pleonasm phrases: a small curated set (ajaline periood, väike nüanss, üldine konsensus, …).

Conservative by design — it catches the obvious, high-confidence cases, not every redundancy. Absence of flags is not proof the prose is tight. Input capped at 100,000 characters.

check_styleA

Heuristic Estonian style metrics for newsletter / ad / email copy.

Returns four metrics that flag common writing issues, each with an Estonian-language summary line for quoting verbatim:

  • repetition: lemma-aware (so 'kasutab' and 'kasutamine' both count under 'kasutama'). Threshold scales with text length so short replies don't fire on natural repeats.

  • passive_voice: ratio of Estonian -takse/-ti/-tud/-tav forms over total verbs. Newsletter copy usually wants <15%.

  • sentence_length: mean, stddev, min, max in content words. Low stddev = monotonous rhythm.

  • hedging: density of hedging words (võib-olla, vist, pigem, ehk, ilmselt, …). >5% reads wishy-washy.

Phase-1 limitation: heuristic only. No detection of cliché phrases, weasel-words beyond the curated 15 lemmas, or genre-specific style drift. Input capped at 100,000 characters.

classify_registerA

Heuristic register classifier for Estonian (formal vs colloquial).

Returns a tier label (English in tier, correct Estonian in tier_estonian — quote that field verbatim when composing an Estonian-language reply rather than translating tier yourself, to avoid mistranslations like "formalne" instead of the correct "formaalne"), a normalised score in [-1, 1] (positive = formal, negative = colloquial), and the matched formal/colloquial markers found in the text. Useful for sanity-checking that marketing copy hasn't drifted into officialese, or that a contract draft hasn't slipped into chat tone.

PHASE-1 LIMITATION: this is a coarse lexicon-based heuristic, not a trained model. Real register also lives in sentence structure, address forms, and passive voice — none of which this catches. Most newsletter prose scores 'neutral'. Use the result as a directional hint, not a verdict. Input capped at 100,000 characters.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/silly-geese/estonian-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server