Skip to main content
Glama

paradigm

Read-onlyIdempotent

Generate full Estonian inflection paradigms for any word, covering all cases, numbers, and verb forms.

Instructions

Generate the full inflection paradigm for an Estonian word.

For nominals (nouns, adjectives, pronouns, cardinals, ordinals, comparatives, superlatives): produces all 14 cases × 2 numbers = up to 28 forms, plus the SHORT ILLATIVE (adt, ainsuse lühike sisseütlev) for the words that have one: majja beside majasse, kätte beside käesse. Both are correct illatives and the short one is often the commoner, so neither should be "corrected" into the other. For most words that have one, though, the short illative is spelled exactly like the singular partitive (vend: venda is both), so a surface appearing in this table does not confirm the case is right where it was used. For verbs: produces infinitives, the indicative present and past, the conditional, the imperative, the participles, and the umbisikuline tegumood's own finite forms (kasutatakse, kasutati, kasutataks), about 39 in all. Other parts of speech (adverbs, conjunctions, particles) don't inflect, so 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.

AMBIGUOUS LEMMAS. Some lemmas belong to more than one inflection type (kott inflects as either koti or kota, two different words that share a nominative). forms is then one internally consistent paradigm, paradigm_key names it by its singular genitive, paradigm_count says how many exist, and the rest are in other_paradigms. Read ambiguity_estonian before quoting a form. Pass an inflected form (koti) rather than the bare lemma when you know which word you mean: that selects the paradigm exactly.

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
wordYesA single Estonian word (lemma or inflected form) to generate the full paradigm for.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
formsNo
inputNo
lemmaNo
invariantNo
word_classNo
paradigm_keyNo
partofspeechNo
paradigm_countNo
other_paradigmsNo
reading_estonianNo
summary_estonianNo
ambiguity_estonianNo
invariant_estonianNo
word_class_estonianNo
partofspeech_estonianNo
ranked_by_corpus_frequencyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed25 schema fields changedv0.6.0
    • addedOutput schema / properties / ambiguity_estonian / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / ambiguity_estonian / type
      Removed value: -"string"
    • addedOutput schema / properties / invariant / anyOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / invariant / type
      Removed value: -"boolean"
    • addedOutput schema / properties / invariant_estonian / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / invariant_estonian / type
      Removed value: -"string"
    • addedOutput schema / properties / lemma / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / lemma / type
      Removed value: -"string"
    • addedOutput schema / properties / other_paradigms / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / other_paradigms / items
      Removed value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}
    • removedOutput schema / properties / other_paradigms / type
      Removed value: -"array"
    • addedOutput schema / properties / paradigm_key / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / paradigm_key / type
      Removed value: -"string"
    • addedOutput schema / properties / partofspeech / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / partofspeech / type
      Removed value: -"string"
    • addedOutput schema / properties / partofspeech_estonian / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / partofspeech_estonian / type
      Removed value: -"string"
    • addedOutput schema / properties / ranked_by_corpus_frequency / anyOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / ranked_by_corpus_frequency / type
      Removed value: -"boolean"
    • addedOutput schema / properties / reading_estonian / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / reading_estonian / type
      Removed value: -"string"
    • addedOutput schema / properties / word_class / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / word_class / type
      Removed value: -"string"
    • addedOutput schema / properties / word_class_estonian / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / word_class_estonian / type
      Removed value: -"string"
  2. Changed10 schema fields changedv0.5.6
    • addedOutput schema / properties / ambiguity_estonian
      Added value: +{
      +  "default": null,
      +  "title": "Ambiguity Estonian",
      +  "type": "string"
      +}
    • addedOutput schema / properties / invariant
      Added value: +{
      +  "default": null,
      +  "title": "Invariant",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / invariant_estonian
      Added value: +{
      +  "default": null,
      +  "title": "Invariant Estonian",
      +  "type": "string"
      +}
    • addedOutput schema / properties / other_paradigms
      Added value: +{
      +  "default": null,
      +  "items": {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  "title": "Other Paradigms",
      +  "type": "array"
      +}
    • addedOutput schema / properties / paradigm_count
      Added value: +{
      +  "default": null,
      +  "title": "Paradigm Count",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / paradigm_key
      Added value: +{
      +  "default": null,
      +  "title": "Paradigm Key",
      +  "type": "string"
      +}
    • addedOutput schema / properties / partofspeech_estonian
      Added value: +{
      +  "default": null,
      +  "title": "Partofspeech Estonian",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ranked_by_corpus_frequency
      Added value: +{
      +  "default": null,
      +  "title": "Ranked By Corpus Frequency",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / reading_estonian
      Added value: +{
      +  "default": null,
      +  "title": "Reading Estonian",
      +  "type": "string"
      +}
    • addedOutput schema / properties / word_class_estonian
      Added value: +{
      +  "default": null,
      +  "title": "Word Class Estonian",
      +  "type": "string"
      +}
  3. First observedv0.2.4

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the readOnly/idempotent annotations by disclosing the short illative nuance, the ambiguity handling via `paradigm_key` and `other_paradigms`, the fact that `forms` can be empty for adverbs/conjunctions/particles, and the instruction to read `ambiguity_estonian` before quoting a form. It also warns that a surface form may be shared between cases, which is exactly the kind of non-obvious behavior an agent needs to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-organized with bolded section labels and no filler. The first sentence states the core purpose, and subsequent paragraphs add necessary caveats about illatives, ambiguity, and phase-1 scope. A little trimming of the short-illative explanation might be possible, but all content is relevant and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-input tool with a rich output schema, the description covers the essential context: what forms are generated for each word class, how to read the output fields (`form_estonian`, `paradigm_key`, `other_paradigms`), how to resolve ambiguity, and the input constraints. An agent has enough information to invoke the tool correctly and interpret results without additional external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes `word` as 'A single Estonian word (lemma or inflected form),' so coverage is 100%. The description adds meaningful extra semantics: inflected forms are preferred for ambiguous lemmas, input is capped at 200 characters, and word class determines whether a paradigm exists. This goes beyond a simple restatement of the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Generate the full inflection paradigm for an Estonian word.' It clearly distinguishes itself from sibling tools by enumerating exactly which forms are produced for nominals versus verbs, and by noting that non-inflecting parts of speech yield an empty `forms`. This is far more precise than a generic 'generates paradigms' statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear contextual guidance: pass an inflected form instead of a bare lemma to disambiguate, and mentions the 200-character single-word limit and phase-1 scope. It does not explicitly name sibling tools or say 'use this instead of analyze_morphology when you need a complete paradigm,' but the scope of forms and the ambiguity handling make the intended use case clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.