Skip to main content
Glama

Server Details

One MCP endpoint over every Valksor dictionary: namespaced tools plus a JSON passthrough.

Ownership verified
Status
Healthy
Uptime
11.3% over 56 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 27 tools

Disambiguation4/5

Tools are cleanly partitioned by language prefix, so cross-language search/get_inflections tools are easy to tell apart. Within a language the transform family (romanize/deromanize, transliterate/detransliterate) and the search-vs-get_inflections overlap can be momentarily confusing, but descriptions clearly state each is the inverse or a re-fetch of the other.

Naming Consistency5/5

Every tool follows the same <language>_<verb> snake_case pattern (anglo_romanize, latin_search, slavonic_get_inflections), with a single meta tool 'dictionaries' as the only deviation. The verb vocabulary is reused consistently across languages.

Tool Count3/5

27 tools is heavy, though it is the aggregate of nine bundled dictionaries each contributing a search, an inflection-fetch, and optional transforms. The count is justified by the hub purpose and the 'dictionaries' discovery tool, but it still sits at the top of the range where selection burden grows.

Completeness4/5

Each dictionary covers the core lookup lifecycle (search with inline paradigms, get_inflections, and transforms where relevant), giving good coverage. Per-language tool sets are uneven — e.g. Latin/Norse/Scythian have no romanize/transliterate counterparts, and deromanize/detransliterate exist for some languages but not others — a minor inconsistency an agent can work around.

Available Tools

27 tools
anglo_deromanizeFind the Old English word(s) matching an ASCII spellingA
Read-onlyIdempotent
Inspect

Find the real Old English word(s) whose ASCII spelling matches this input — the inverse of anglo_romanize. romanize is deeply lossy (th←þ or ð, dropped macrons), so this is a LOOKUP against words already cached: attested spellings come back as source=dictionary. If none match, a single best-effort reconstruction (source=reconstruction, approximate=true) — a guess, not attested. Coverage grows as words are cached.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesASCII-spelled Old English text to resolve back to real orthography. Returns the attested dictionary spelling(s) whose romanization matches (source=dictionary, exact) — several may match one ambiguous key. On a miss, a single best-effort reconstruction (source=reconstruction, approximate=true), a guess: Old English romanization is deeply lossy (th←þ or ð, dropped macrons/dots), so the dictionary hit is the reliable answer.

Output Schema

ParametersJSON Schema
NameRequiredDescription
candidatesYes
approximateYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/non-destructive, and the description adds substantive behavior beyond them: it is a LOOKUP against cached words, hits return source=dictionary, misses return a single reconstruction flagged approximate=true, and coverage grows as words are cached. This is exactly the kind of outcome-shaping detail an agent needs.

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?

Front-loaded with the core purpose, then the lossy-romanization rationale and fallback behavior. Dense but efficient; the parenthetical asides are justified, though the em-dash nesting is slightly heavy.

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?

An output schema exists so return values needn't be explained, yet the description still conveys the source/approximate distinction that governs interpretation. For a single-parameter lookup tool, nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the parameter's own description already explains the lossy romanization and source values. The tool description adds only the 'several may match one ambiguous key' nuance, so it largely repeats the schema — baseline 3 is appropriate.

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?

States a specific verb and resource (find the real Old English word(s) whose ASCII spelling matches) and explicitly names its inverse, anglo_romanize, so the agent can distinguish it from that sibling without opening either schema.

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?

Clearly establishes the direction of use relative to anglo_romanize and explains the dictionary-vs-reconstruction outcome, giving strong context. It stops short of explicit when-not guidance or naming other alternatives, but the inverse framing is unambiguous.

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

anglo_get_inflectionsGet an Old English inflection tableA
Read-onlyIdempotent
Inspect

Fetch the full declension (nominals, including the pronouns' dual) or conjugation (verbs) table for a lemma identified by a search result's inflection handle (entry_id + word_class). Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline. Returns Markdown plus the table as structuredContent with the shape {"result": } per the declared outputSchema — switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body. Content from en.wiktionary.org (CC BY-SA 4.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'cyning', 'bindan'.
word_classYesThe part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective', 'pronoun'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds genuinely useful behavior beyond them: the return is Markdown plus structuredContent, and the agent must switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body. It also discloses the content source/license. It does not cover rate limits or failure/auth conditions, and part of the return-shape detail is already carried by the output schema.

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

Conciseness5/5

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

Front-loaded with the action, then the usage condition, then the return contract. Dense but every sentence carries distinct, load-bearing information with no filler.

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 two-param read tool with full schema coverage, annotations, and an output schema, the description supplies the routing condition and the category-switch consumption guidance. Nothing material an agent needs to call and consume it correctly is missing.

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?

Schema description coverage is 100%, so the baseline is 3, but the description adds real meaning by explaining that both parameters originate from a search result's 'inflection handle', which is not stated in the schema's per-field descriptions.

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?

States a specific verb (Fetch) and resource (full declension/conjugation table for a lemma), and specifies the exact identifier pair (entry_id + word_class from a search result's inflection handle). It distinguishes itself from the sibling search tools by scoping itself to already-identified lemmas.

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

Usage Guidelines5/5

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

Explicitly states the condition for use ('only when a search ran without inline forms or left a match un-expanded') and names the alternative behavior (a default search already returns tables inline). This is a textbook when/when-not routing statement to anglo_search.

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

anglo_romanizeRomanize Old English to clean ASCIIA
Read-onlyIdempotent
Inspect

Reduce Old English orthography to its primary ASCII spelling (þing→thing, wæter→waeter; macrons and the dotted ġ/ċ dropped) for an ASCII-keyboard downstream. Pure local transform: no dictionary lookup, no network, always ASCII.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesOld English text to reduce to its primary ASCII spelling. Drops macrons and the dotted ġ/ċ, and folds the special letters (þ/ð→th, æ→ae, ƿ→w, œ→oe): þing→thing, wæter→waeter. For an ASCII-keyboard downstream. Pass a word, phrase, or several lines.

Output Schema

ParametersJSON Schema
NameRequiredDescription
textYesThe primary ASCII spelling.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description still adds value beyond them: it guarantees the output is always ASCII, names what is dropped (macrons, dotted ġ/ċ) and folded (þ/ð, æ, ƿ, œ), and rules out dictionary lookup or network calls.

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?

Two short sentences with the transform rule front-loaded and the constraint ('always ASCII') trailing; every clause earns its place. Minor waste from repeating the schema's own examples in the parenthetical.

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?

An output schema exists, so return values need not be explained, and the annotations carry the safety/idempotency profile. The description covers what the transform does, which characters change, the direction of the mapping, and the constraints, leaving nothing an agent needs in order to invoke it correctly.

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

Parameters3/5

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

With one parameter at 100% schema description coverage, the baseline is 3. The description largely restates the schema text (same þing→thing, wæter→waeter examples, same letter foldings) rather than adding syntax or format meaning the schema lacks.

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?

States a specific verb and resource ('Reduce Old English orthography to its primary ASCII spelling') and the worked examples (þing→thing, wæter→waeter) fix the direction of the transform, so an agent can tell it apart from the inverse sibling anglo_deromanize without opening either schema.

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?

Gives clear selection context: it is for 'an ASCII-keyboard downstream' and is a 'pure local transform: no dictionary lookup, no network', which implicitly steers lookup needs toward the search/deromanize siblings. It stops short of naming an explicit alternative or a when-not condition, so it falls just under the top band.

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

dictionariesA
Read-onlyIdempotent
Inspect

Index of every Valksor dictionary reachable through this hub and its CURRENT tool and prompt names (each named _). Call this to discover or re-check names — e.g. after an 'unknown tool'/'unknown prompt' error. The optional language argument narrows the result to one dictionary by its id (the prefix before the first underscore). Each entry's host is that dictionary's public site, for reference only — you still reach its tools through this hub by their listed names, not via that host.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoRestrict the index to one dictionary by its id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dictionariesYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds useful non-obvious behavior: the host field is for reference only and tools must still be called through this hub by their listed names.

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?

Three sentences, front-loaded with the resource and its contents, then the trigger, then the argument and host caveat. Dense but no sentence is filler.

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

Completeness4/5

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

An output schema exists, so return-value explanation is not required, and the description still explains the shape of each entry (host) and how to act on the results. It fully equips an agent to call and use this tool.

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

Parameters3/5

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

Schema coverage is 100%, and both the enum values and the description are fully documented in the schema, so the description adds no parameter detail beyond it. It does clarify the meaning of the id as 'the prefix before the first underscore', which is marginal added value. Baseline 3 applies.

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 states a specific resource (an index of every Valksor dictionary reachable through the hub) and the exact content returned (current tool and prompt names). It is immediately distinguishable from every sibling, which are all language-prefixed research operations.

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?

It gives a clear trigger condition — call this to discover or re-check names, e.g. after an 'unknown tool'/'unknown prompt' error. It does not name alternative discovery paths, but for a hub index tool there is no real alternative to exclude.

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

interslavic_get_inflectionsGet an Interslavic inflection tableA
Read-onlyIdempotent
Inspect

Fetch the full declension (noun/adjective) or conjugation (verb) table for a word identified by a search result's inflection handle (entry_id + word_class). Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline. Returns Markdown plus the table as structuredContent with the shape {"result": } — switch on result.category ('noun' | 'adjective' | 'verb' | 'not_found') before reading the body. Tables are generated by the official Interslavic morphology engine, not attested.

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe dictionary word id from a search result's inflection handle (a number, e.g. '33555') — NOT the headword itself (Interslavic homographs share a spelling).
word_classYesThe paradigm class from a search result's inflection handle: 'noun', 'adjective' or 'verb'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare readOnly/idempotent, and the description adds value beyond them: the return contract (Markdown plus structuredContent {"result": <paradigm>}), the discriminator to switch on (result.category with its four values), and the important provenance caveat that tables are engine-generated rather than attested.

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?

Three tight sentences: purpose and handle sourcing first, then the gating condition, then the return contract. Dense but every clause carries information; the em-dash asides are mildly heavy but not wasteful.

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 two-param read tool with full schema coverage and an output schema, the description supplies exactly the missing pieces: the precondition for calling it, the structuredContent shape, and the category switch. Nothing an agent needs to invoke and interpret it is absent.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning by framing the two parameters jointly as a 'search result's inflection handle' and implying both must come from the same search match. Field-level syntax (numeric id, class vocabulary) is left to the schema.

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?

States a specific verb and resource: fetch the declension/conjugation paradigm for a word keyed by a search result's inflection handle (entry_id + word_class). It is clearly distinct from interslavic_search, which produces those handles, and from the transliterate/romanize siblings.

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

Usage Guidelines5/5

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

Explicitly constrains usage: 'Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline.' This tells the agent both when to call it and when the sibling search already covers the need.

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

interslavic_transliterateTransliterate one Interslavic word between Latin and CyrillicA
Read-onlyIdempotent
Inspect

Transliterate ONE Interslavic word between Latin and Cyrillic. This is bidirectional: it auto-detects the input's script and returns the attested spelling in the OTHER script — Latin input yields Cyrillic, Cyrillic input yields Latin (or pass target to force it). Unlike the lossy deromanize tools, this is an EXACT dataset lookup (both spellings are stored per entry): it never guesses — a word not in the dataset returns empty candidates.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesONE Interslavic word (not a phrase — the lookup does not tokenize). Auto-detects the script and returns the attested spelling in the OTHER script (Latin↔Cyrillic). A word absent from the dataset, or input with no clear script, returns empty candidates — this is an exact lookup and never guesses.
targetNoForce the output script (cyrillic|latin); omit to auto-detect.

Output Schema

ParametersJSON Schema
NameRequiredDescription
directionYes
candidatesYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-open-world, non-destructive, so safety is covered. The description adds substantially beyond that: it discloses exact-lookup semantics (not guessing), that both spellings are stored per entry, and the failure mode (empty candidates for unknown words or ambiguous script). That failure-mode disclosure is exactly the kind of non-obvious behavior annotations cannot convey.

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

Conciseness5/5

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

Front-loads the core operation, then the bidirectional behavior, then the exact-lookup caveat and failure mode. Four sentences, each carrying distinct information with no repetition; the size is proportionate to a tool whose main risk is caller misuse (multi-word input, expecting guesses).

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?

Output schema exists, so return values need not be explained, and they aren't. For a 2-param read-only transliteration tool, the description covers input constraints, behavior, the override, and the failure mode, leaving no evident gap an agent would need to fill.

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?

Schema coverage is 100%, so the schema documents both params, calling for a baseline of 3. The description adds value by defining `text` as ONE word (not a phrase, no tokenization) and by stating the edge-case return for `target` auto-detection, which goes beyond the schema's prose. It does not add further syntax detail for `target`, so not a 5.

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?

States a specific verb (transliterate), resource (one Interslavic word), and scope (Latin↔Cyrillic, single word not phrase). The parenthetical '(not a phrase — the lookup does not tokenize)' and the explicit contrast with 'deromanize tools' sharply distinguish it from siblings like anglo_romanize and slavonic_transliterate.

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?

Explicitly states the auto-detect behavior and the `target` override condition ('or pass target to force it'). It also names the class of alternative it is NOT like ('the lossy deromanize tools') without naming a specific sibling, which is clear context but without a precise 'use X instead when Y' pointer.

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

latgalian_deromanizeFind the Latgalian word(s) matching a romanized spellingA
Read-onlyIdempotent
Inspect

Find the real Latgalian word(s) whose pronunciation-romanization matches this clean-ASCII input — the inverse direction of latgalian_romanize. Because romanize is lossy, this is a LOOKUP against the words already in the dictionary cache: attested spellings come back as source=dictionary. If none match, a single best-effort reconstruction is returned (source=reconstruction, approximate=true) — a guess, not attested. Coverage grows as words are cached, so an identical query may return a reconstruction now and a dictionary hit later.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesRomanized (clean-ASCII) Latgalian text to resolve back to real orthography. Returns the attested dictionary spelling(s) whose romanization matches (source=dictionary, exact) — several may match one ambiguous key. On a miss, a single best-effort reconstruction (source=reconstruction, approximate=true), which is a guess: romanize is lossy, so case, the plain o/ō, the cedilla on ŗ and macron length cannot be recovered, and a soft-consonant glide (ly/ny/ky/gy) may be over-restored.

Output Schema

ParametersJSON Schema
NameRequiredDescription
candidatesYes
approximateYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, it discloses the lossiness of romanization, the two distinct result modes (source=dictionary vs source=reconstruction, approximate=true), that reconstruction is a guess rather than attested, and that caching causes non-deterministic results over time. This is exactly the behavioral context annotations cannot carry.

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?

Front-loaded with the core purpose and the inverse relationship to latgalian_romanize, then the lookup-vs-reconstruction behavior. Efficient, though the lossiness details slightly duplicate the parameter schema description.

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?

An output schema exists and the annotations cover the safety profile, yet the description still conveys the essential return semantics (dictionary hit vs approximate reconstruction). Nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

With only one parameter and 100% schema description coverage, the schema already documents the input, its ASCII constraint, the multiple-match possibility, and the recovery limitations. The description restates this material rather than adding meaning beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ('Find the real Latgalian word(s) whose romanization matches'), and explicitly positions itself as the inverse of the sibling `latgalian_romanize`. An agent can distinguish it from latgalian_search and latgalian_romanize without opening a schema.

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?

Explains the operating context clearly: it is a lookup against the dictionary cache, with reconstruction as fallback, and notes coverage grows so results may change. It does not explicitly say when to prefer a sibling such as latgalian_search over this tool, so it falls short of full when/when-not guidance.

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

latgalian_get_inflectionsGet a Latgalian inflection tableA
Read-onlyIdempotent
Inspect

Fetch the full declension (nominals) or conjugation (verbs — positive AND negative) tables for a lemma identified by a search result's inflection handle (entry_id + word_class). Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline. Returns Markdown plus the table as structuredContent with the shape {"result": } per the declared outputSchema — switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body. Content from en.wiktionary.org (CC BY-SA 4.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'akmiņs', 'byut'.
word_classYesThe part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds real context beyond that: dual return format (Markdown plus structuredContent), the result.category discriminant ('nominal' | 'verbal' | 'not_found') to switch on before reading the body, and the CC BY-SA source provenance.

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?

Front-loads the action and scope, then the usage rule, then return details; every clause carries information. Slightly dense with stacked parentheticals, but no filler sentences.

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?

With an output schema present, the description needn't restate returns, yet it still points the agent to the result.category discriminant. Invocation, usage constraints, and return handling are all covered for a 2-param read-only tool.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are already documented in the schema. The description restates the entry_id + word_class pairing as an 'inflection handle' from a search result, which frames the concept but adds little beyond the schema's own descriptions.

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?

States a specific verb (Fetch) and resource (declension/conjugation inflection tables) for a lemma identified via an entry_id + word_class handle. It also bounds scope explicitly (nominals vs verbs, positive AND negative), making it clearly distinct from the romanize/deromanize/search siblings.

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

Usage Guidelines5/5

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

Gives an explicit when/when-not rule: use 'only when a search ran without inline forms or left a match un-expanded,' because 'a default search already returns each match's table inline.' It names the alternative (search) and the condition that routes to it.

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

latgalian_romanizeRomanize Latgalian to clean ASCIIA
Read-onlyIdempotent
Inspect

Strip Latgalian orthography down to clean, pronounceable ASCII for an English-trained downstream (a voice/TTS, a search box). See the text parameter doc for the exact letter mappings. Returns Markdown plus the romanized output as structuredContent matching the declared outputSchema. Pure local transform: no dictionary lookup, no network, and the output is always ASCII.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesLatgalian text to reduce to clean, pronounceable ASCII. Lowercases and maps each special letter to an English-readable spelling: the macron vowels double (ā→aa, ē→ee, ī→ee, ō→o, ū→oo), the caron consonants respell (č→ch, š→sh, ž→zh), and the soft consonants take a 'y' glide (ļ→ly, ņ→ny, ķ→ky, ģ→gy; ŗ→r). A one-way fold — diacritics are dropped, never added. Pass a word, phrase, or several lines; whitespace and punctuation are preserved.

Output Schema

ParametersJSON Schema
NameRequiredDescription
textYesThe romanized ASCII output.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive and closed-world, so safety is covered. The description adds genuine behavioral context beyond that: it is a pure local transform, performs no dictionary lookup or network access, and always emits ASCII. It does not detail failure behavior on empty or unsupported input.

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?

Four short sentences, front-loaded with the purpose before the mechanics. Each sentence carries information (purpose, mapping pointer, return shape, execution profile), though the parenthetical examples are slightly redundant phrasing rather than new content.

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

Completeness4/5

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

An output schema exists, so the brief note about Markdown plus structuredContent is sufficient and return values need no elaboration. For a single-parameter, local, read-only transform the description covers purpose, execution profile, and output shape adequately; only edge-case behavior is left unstated.

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

Parameters3/5

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

Schema description coverage is 100% and there is a single parameter, so the schema itself carries the semantics (including the full letter-mapping table). The description usefully points the agent to the `text` parameter doc, but adds no mapping detail of its own beyond what the schema already states.

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

Purpose4/5

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

The description names a specific verb and resource (romanize Latgalian orthography to ASCII) and states the downstream consumer (TTS, search box), which is unusually concrete. It doesn't explicitly name or contrast with the sibling latgalian_deromanize, so the direction is only inferred from the verb. Clear, but short of full sibling differentiation.

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?

It gives a clear use case — converting Latgalian for an English-trained downstream such as voice/TTS or a search box — which tells the agent when this tool is appropriate. It stops short of stating exclusions or explicitly routing the agent to latgalian_deromanize for the inverse operation.

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

latin_get_inflectionsGet a Latin inflection tableA
Read-onlyIdempotent
Inspect

Fetch the full declension (nominals) or conjugation (verbs) table for a lemma identified by a search result's inflection handle (entry_id + word_class). Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline. Returns Markdown plus the table as structuredContent with the shape {"result": } per the declared outputSchema — switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body. Content from en.wiktionary.org (CC BY-SA 4.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'amo', 'aqua'.
word_classYesThe part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/destructive=false, so the safety profile is covered. The description adds real behavioral value: the dual Markdown + structuredContent return and the instruction to switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body, plus the CC BY-SA attribution. Not a full 5 since the return shape is also declared in outputSchema.

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?

Strongly front-loaded: purpose, then usage constraint, then return/reading guidance. Every sentence carries weight, though the closing attribution adds a touch of length without aiding invocation.

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?

With annotations covering safety, an outputSchema covering the return shape, and 100% schema coverage on params, the description supplies everything else an agent needs: when to use it and how to interpret result.category. Nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the schema. The description reinforces that entry_id + word_class come from a search result's inflection handle but adds no syntax, format, or edge-case detail beyond the schema — baseline 3 applies.

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+resource ('Fetch the full declension... or conjugation... table for a lemma') and scopes it to the handle (entry_id + word_class). It clearly distinguishes the nominal vs verbal case, so an agent knows exactly what it retrieves.

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

Usage Guidelines5/5

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

It explicitly states the condition to use it ('only when a search ran without inline forms or left a match un-expanded') and the condition not to ('a default search already returns each match's table inline'). This directly routes the agent relative to the latin_search sibling.

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

latin_lemmatizeMorphologically analyze a Latin formA
Read-onlyIdempotent
Inspect

Analyze one inflected Latin form with the Morpheus morphological analyzer: its lemma(s) plus the grammatical reading (person, number, tense, mood, voice, case…). Useful when you want the morphology itself — for the dictionary entry, latin_search already resolves inflected queries on its own. Returns Markdown plus the analysis as structuredContent matching the declared outputSchema. Results are cached server-side. Analyses via the Perseids Morpheus service.

ParametersJSON Schema
NameRequiredDescriptionDefault
wordYesOne inflected Latin word form to analyze, e.g. 'amavit', 'aquam'. Macrons optional.

Output Schema

ParametersJSON Schema
NameRequiredDescription
wordYes
foundYes
sourceNo
analysesNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuinely new operational context: results are cached server-side and the analysis comes from an external Perseids Morpheus service. It also declares the return shape (Markdown + structuredContent). No contradiction with annotations.

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?

Front-loaded with the core action and the output contents, followed by the routing hint. Every sentence carries information (output shape, caching, service source), though the return-format and provenance sentences could be compressed.

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

Completeness4/5

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

With an outputSchema present, the description need not explain return values, and it still notes Markdown + structuredContent. Annotations, a fully documented single param, and the external-service note leave little an agent needs missing; only the unaddressed latin_get_inflections alternative keeps it from being fully complete.

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

Parameters3/5

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

Schema description coverage is 100% and the single 'word' parameter is already well documented in the schema (examples, macron note, length bounds). The description only restates 'one inflected Latin form' and adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

The description names a specific verb+resource (analyze one inflected Latin form) and enumerates the output (lemma(s) plus grammatical reading: person, number, tense, mood, voice, case). It explicitly carves out territory from latin_search. It does not address the latin_get_inflections sibling, which is the most overlapping tool, so sibling differentiation is incomplete.

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

Usage Guidelines5/5

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

It states exactly when this tool is the right pick ('when you want the morphology itself') and names the alternative with the condition that selects it ('for the dictionary entry, latin_search already resolves inflected queries on its own'). This is explicit when-to-use plus a named alternative.

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

livonian_deromanizeFind the Livonian word(s) matching a romanized spellingA
Read-onlyIdempotent
Inspect

Find the real Livonian word(s) whose pronunciation-romanization matches this clean-ASCII input — the inverse direction of livonian_romanize. Because romanize is lossy, this is a LOOKUP against the words already in the dictionary cache: attested spellings come back as source=dictionary. If none match, a single best-effort reconstruction is returned (source=reconstruction, approximate=true) — a guess, not attested. Coverage grows as words are cached, so an identical query may return a reconstruction now and a dictionary hit later.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesRomanized (clean-ASCII) Livonian text to resolve back to real orthography. Returns the attested dictionary spelling(s) whose romanization matches (source=dictionary, exact) — several may match one ambiguous key. On a miss, a single best-effort reconstruction (source=reconstruction, approximate=true), which is a guess: romanize is lossy, so case, stød, palatalization and macron length cannot be recovered.

Output Schema

ParametersJSON Schema
NameRequiredDescription
candidatesYes
approximateYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds genuinely novel behavior: it is a cache lookup, misses yield a single approximate reconstruction ('a guess, not attested'), and coverage grows so an identical query may later return a dictionary hit. That volatility disclosure is exactly the kind of context structured fields cannot carry.

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?

Front-loads the core purpose, then layers in lookup semantics and the reconstruction caveat in logically ordered sentences. Dense but every sentence carries weight; minor tightening possible around the source=reconstruction explanation.

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?

An output schema exists, so return values need no explanation, yet the description still clarifies the source=dictionary vs source=reconstruction distinction and the approximate=true flag. For a one-parameter lookup with rich annotations, nothing an agent needs is missing.

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

Parameters3/5

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

With a single parameter and 100% schema description coverage, the schema already documents format, length bounds, and the source/approximate return semantics. The description reinforces the inverse-direction framing but adds no syntax or format detail beyond what the schema provides, so the baseline 3 is appropriate.

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?

States a specific verb and resource ('Find the real Livonian word(s) whose pronunciation-romanization matches this clean-ASCII input') and explicitly frames itself as the inverse of `livonian_romanize`, which cleanly distinguishes it from that sibling.

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?

Gives clear context for when to reach for it (the reverse direction of romanize, resolving romanized input back to orthography). It does not, however, compare against the other siblings like `livonian_search`, so the routing guidance is good but not complete.

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

livonian_get_inflectionsGet Livonian inflection tableA
Read-onlyIdempotent
Inspect

Fetch the full declension (nouns) or conjugation (verbs) table for a word identified by a search result's inflection handle (entry_id + word_class) — the exact case, number, tense, not a guessed ending. Use this only when a search ran without inline forms, or to fetch a match a broad search left un-expanded. Never a first call — the handle values only come from livonian_search results, and a default search already returns each match's table inline, so calling this afterwards just re-fetches what you have.

Returns Markdown — a nominal gets one case × {singular, plural} table; a verb gets a table per mood/tense (person × {affirmative, negative}, the negation auxiliary folded into the negative) plus its principal-parts and participle lists — or a clean not-found message. (Grammatical labels are normalised to English; Livonian forms stay verbatim.) The same table rides along as structuredContent with the shape {"result": } per the declared outputSchema — switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body. Results are cached server-side (repeats are instant) and calls are rate limited — on a rate-limit error, wait a few seconds and retry. Table content is from livonian.tech (CC BY-SA 4.0 — attribute if republished).

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe word id from a search result's inflection handle. Accepts a number or a digit-string (e.g. 17746 or "17746").
word_classYesThe word-class code from a search result's inflection handle (e.g. 's' = noun, 'adj' = adjective, 'vi' = intransitive verb, 'vt' = transitive verb).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, the description discloses output modality (Markdown vs structuredContent), shape of both, table composition (case × number, mood/tense, negation auxiliary folding), and operational traits: server-side caching, rate limiting with a retry instruction, and CC BY-SA licensing. This is exactly the extra context annotations cannot carry.

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?

Front-loaded with purpose and the never-a-first-call warning before the return-format detail. Dense and mostly waste-free, though the second sentence restates the 'not a first call' point at some length and the output-format sentence is heavy with parentheticals.

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 two-parameter read tool with an output schema, annotations, and full schema coverage, the description covers everything an agent needs: provenance of the handle, fallback semantics, return shape, and error/rate-limit behavior. Nothing material is missing.

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?

Schema coverage is 100% and each parameter is already documented with examples, so the baseline is 3. The description adds the crucial provenance detail that both values come from a search result's inflection handle, tying the parameters to their only valid source.

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?

States a specific verb (Fetch) and resource (full declension/conjugation table) and pins the input to a search result's inflection handle (entry_id + word_class). It is immediately distinguishable from livonian_search, livonian_romanize and livonian_deromanize.

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

Usage Guidelines5/5

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

Explicitly states when to use it ('only when a search ran without inline forms, or to fetch a match a broad search left un-expanded') and when not to ('Never a first call', 'calling this afterwards just re-fetches what you have'). It also names the upstream tool that produces the handle, which is the alternative an agent might otherwise reach for.

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

livonian_romanizeRomanize Livonian to clean ASCIIA
Read-onlyIdempotent
Inspect

Strip Livonian orthography down to clean, pronounceable ASCII for an English-trained downstream (a voice/TTS, a search box). See the text parameter doc for the exact letter mappings. Returns Markdown plus the romanized output as structuredContent matching the declared outputSchema. Pure local transform: no dictionary lookup, no network, and the output is always ASCII.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesLivonian text to reduce to clean, pronounceable ASCII. Strips macrons, diacritics and capitals (ā→aa, š→sh, õ→u), softens a palatalized consonant (ņ ļ ŗ ţ ḑ) only before a vowel (ņ+a→nya, else ikšiggiņ→ikshiggin), and hyphenates the broken tone (si'zzõl→siz-zul) and long-vowel diphthong glides (kīen→kee-en). Pass a word, phrase, or several lines.

Output Schema

ParametersJSON Schema
NameRequiredDescription
textYesThe romanized ASCII output.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real value beyond them: it declares the transform is pure and local (no dictionary lookup, no network) and that output is always ASCII. It does not address edge behavior such as exceeding the 4000-char maxLength or non-Livonian input, which keeps it from a 5.

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

Conciseness5/5

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

Three sentences, front-loaded with the transformation, then the consumer, then the execution profile. Every sentence carries distinct information and nothing is redundant with the schema or annotations.

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

Completeness4/5

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

With an outputSchema present and 100% parameter coverage, the description doesn't need to explain return values, and it correctly confines itself to purpose, audience, and the pure-local-transform contract. It is nearly complete; only failure/edge behavior (length overflow, non-Livonian characters) is left unstated.

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

Parameters3/5

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

Schema description coverage is 100% and the `text` parameter doc already carries the full mapping table, so the schema does the heavy lifting. The description only cross-references that doc ('See the `text` parameter doc for the exact letter mappings') rather than adding new parameter semantics, which is the textbook baseline-3 case.

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+resource: 'Strip Livonian orthography down to clean, pronounceable ASCII.' Combined with the direction of transformation (Livonian → ASCII), an agent can immediately separate this from livonian_deromanize, the inverse sibling, without opening a schema.

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

Usage Guidelines3/5

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

It names the intended consumers ('an English-trained downstream (a voice/TTS, a search box)'), which implies when to reach for it. However, it never explicitly states when NOT to use it or names livonian_deromanize as the alternative for the reverse direction, so the routing guidance is only implied.

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

norse_get_inflectionsGet an Old Norse inflection tableA
Read-onlyIdempotent
Inspect

Fetch the full declension (nominals) or conjugation (verbs — active AND mediopassive) tables for a lemma identified by a search result's inflection handle (entry_id + word_class). Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline. Returns Markdown plus the table as structuredContent with the shape {"result": } per the declared outputSchema — switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body. Content from en.wiktionary.org (CC BY-SA 4.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'maðr', 'kasta'.
word_classYesThe part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so safety is covered; the description adds genuinely new behavioral context: dual Markdown + structuredContent output, the {"result": <paradigm>} shape, the need to switch on result.category before reading the body, and source/license attribution. It stops short of noting rate limits or failure modes beyond not_found, but the additions are substantive.

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?

Front-loaded with the action, then the usage constraint, then the return contract and license. Dense but every clause carries information; the parenthetical asides make it slightly harder to scan than a strictly linear sentence would be.

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

Completeness4/5

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

For a two-parameter read tool with full annotation coverage, a complete schema, and a declared output schema, the description supplies the missing link (how to obtain the handle, what the response category means). Nothing essential is absent.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds provenance meaning the schema lacks: both parameters come from a search result's 'inflection handle', tying entry_id/word_class to a prior tool call rather than leaving them as bare strings.

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?

States a specific verb (fetch) and resource (declension/conjugation tables for a lemma), names the identifying inputs (entry_id + word_class), and covers both nominals and verbs including mediopassive. An agent can distinguish it from norse_search immediately.

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

Usage Guidelines5/5

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

Explicit when-to-use condition: 'Use this only when a search ran without inline forms or left a match un-expanded', plus the exclusion that a default search already returns tables inline. This routes the agent away from redundant calls.

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

scythian_get_descendantsGet a Proto-Scythian entry's descendantsA
Read-onlyIdempotent
Inspect

Fetch the full descendants payload — etymology, glosses and the reflex tree (Sarmatian→Alanic→Ossetian, Saka→Khotanese) — for a lemma identified by a search result's descendant handle (entry_id + word_class). Use this only when a search ran without inline payloads or left a match un-expanded — a default search already returns each match's payload inline. Returns Markdown plus the payload as structuredContent with the shape {"result": } per the declared outputSchema — switch on result.category ('descendants' | 'not_found') before reading the body. Content from en.wiktionary.org (CC BY-SA 4.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe bare lemma (no asterisk) from a search result's descendant handle, e.g. 'tiɣri', 'baga' — a typed leading asterisk is tolerated.
word_classYesThe part-of-speech section from a search result's descendant handle, e.g. 'noun', 'adjective', 'proper noun'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuine context: the return is Markdown plus structuredContent of shape {"result": <payload>} and the agent must branch on result.category ('descendants' | 'not_found'), plus a source/license note. Some of this overlaps the output schema, but the category-branching advice is actionable and not in the annotations.

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?

Purpose and the key routing constraint are front-loaded in the first two sentences, and the trailing sentences carry real payload-shape and licensing information. Sentences are dense and long, but each clause earns its place; no filler.

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?

With an output schema present, the description need not explain return values, yet it goes further by naming the result.category discriminant the caller must switch on. Parameter, safety, routing, and licensing concerns are all covered, leaving no gap for an agent.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are already documented in detail, including the leading-asterisk tolerance and part-of-speech examples. The description only restates the composite 'descendant handle (entry_id + word_class)' concept, so baseline 3 is appropriate — no meaningful meaning is added beyond the schema.

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 states a specific verb ('Fetch the full descendants payload') and resource (etymology, glosses, reflex tree for a lemma identified by a descendant handle). It explicitly distinguishes itself from the sibling scythian_search by noting that a default search already returns payloads inline, so an agent can route correctly without opening either schema.

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

Usage Guidelines5/5

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

It gives an explicit when-to-use ('only when a search ran without inline payloads or left a match un-expanded') and a when-not ('a default search already returns each match's payload inline'). This is unambiguous routing guidance tied to the sibling tool's behavior.

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

slavonic_detransliterateFind the Church Slavonic word(s) matching a Latin transliterationA
Read-onlyIdempotent
Inspect

Find the real Church Slavonic word(s) whose scientific-Latin transliteration matches this input — the inverse direction of slavonic_transliterate. Because transliterate is lossy, this is a LOOKUP against the words already in the dictionary cache: attested spellings (normalized OCS Cyrillic) come back as source=dictionary. If none match, a single best-effort reconstruction is returned (source=reconstruction, approximate=true) — a guess in normalized OCS Cyrillic, not attested, with no Glagolitic or liturgical marks. Coverage grows as words are cached, so an identical query may return a reconstruction now and a dictionary hit later.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesScientific-Latin transliteration of Church Slavonic to resolve back to real orthography. Returns the attested dictionary spelling(s) whose transliteration matches (source=dictionary, exact) — several may match one ambiguous key. On a miss, a single best-effort reconstruction in normalized OCS Cyrillic (source=reconstruction, approximate=true), which is a guess: transliterate is lossy, so case, digraph boundaries (д+з vs ѕ) and the оу/ѿ ligatures cannot be recovered, and no Glagolitic or liturgical marks are produced.

Output Schema

ParametersJSON Schema
NameRequiredDescription
candidatesYes
approximateYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, it discloses that this is a cache lookup rather than a computed inverse because transliteration is lossy, what each result source means (attested vs reconstructed), that reconstructions lack Glagolitic/liturgical marks, and that coverage grows over time (a repeated query may change tier). This is unusually rich behavioral context.

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?

Front-loaded with the purpose and the inverse-relationship, then the failure-mode explanation. Dense but every sentence carries needed information; slightly long for a single-parameter tool.

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?

An output schema exists so return values need not be explained, and the description still covers the two result modes, their approximate flag, and the coverage-growth caveat, which is everything an agent needs to call it correctly.

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

Parameters3/5

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

Schema coverage is 100% and the parameter's own schema description already covers the lossy-recovery caveats and the multiple-match ambiguity, so the tool description adds little beyond structured data. Baseline 3 applies.

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?

States a specific verb+resource ('Find the real Church Slavonic word(s) whose scientific-Latin transliteration matches this input') and explicitly frames itself as the inverse of the sibling `slavonic_transliterate`, so an agent can distinguish it from `slavonic_search` and `slavonic_get_inflections` without opening a schema.

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?

Names the direction of use relative to the sibling transliterate tool and clearly describes the two outcome branches (dictionary hit vs failed lookup). It does not spell out explicit conditions for preferring any of the other siblings, but the context is clear.

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

slavonic_get_inflectionsGet a Church Slavonic inflection tableA
Read-onlyIdempotent
Inspect

Fetch the full declension (nominals) or conjugation (verbs) table for a lemma identified by a search result's inflection handle (entry_id + word_class). Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline. Returns Markdown plus the table as structuredContent with the shape {"result": } per the declared outputSchema — switch on result.category ('nominal' | 'verbal' | 'not_found') before reading the body. Content from en.wiktionary.org (CC BY-SA 4.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesThe Wiktionary page title (the Cyrillic lemma) from a search result's inflection handle, e.g. 'богъ', 'глаголати'.
word_classYesThe part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuine context beyond that: the return medium (Markdown plus structuredContent), the discriminator to switch on (result.category of nominal/verbal/not_found) before reading the body, and the CC BY-SA 4.0 source of the content.

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?

Front-loaded with the action, then the usage restriction, then the return contract; every sentence carries information. The trailing attribution line is boilerplate but justifiable for a CC BY-SA source, costing little.

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?

With an output schema present the description need not re-explain return values, yet it supplies the category discriminator and the inline-vs-explicit routing rule. Annotations, schema, and description together leave no gap for correct invocation of this two-parameter read tool.

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

Parameters3/5

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

Schema description coverage is 100% and both property descriptions already state that the values come from a search result's inflection handle, with examples. The description restates the same entry_id + word_class pairing without adding format, edge-case, or derivation detail beyond the schema, so the baseline of 3 applies.

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?

States a specific verb and resource: fetch the full declension (nominals) or conjugation (verbs) table for a given lemma. It also scopes the input domain to a lemma identified by a search result's inflection handle (entry_id + word_class), which cleanly separates it from slavonic_search and the transliteration siblings.

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

Usage Guidelines5/5

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

Gives an explicit when-not: 'Use this only when a search ran without inline forms or left a match un-expanded — a default search already returns each match's table inline.' That names the alternative behavior (inline tables from slavonic_search) and the exact condition that selects this tool.

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

slavonic_transliterateTransliterate Church Slavonic to scientific LatinA
Read-onlyIdempotent
Inspect

Render Church Slavonic — Cyrillic or Glagolitic — in the scientific Latin transliteration Wiktionary uses (богъ → bogŭ, ⰱⱁⰳⱏ → bogŭ). Liturgical reading marks (titlos, accents) are dropped and late Church Slavonic spellings folded, so copied liturgical text works as-is. Returns Markdown plus the transliterated output as structuredContent matching the declared outputSchema. Pure local transform: no dictionary lookup and no network.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesChurch Slavonic text to transliterate — Cyrillic and/or Glagolitic, one word or whole lines. Liturgical reading marks (titlos, accents, breathings) are dropped and late Church Slavonic spellings folded, so text copied from a liturgical source or a lyrics sheet works as-is.

Output Schema

ParametersJSON Schema
NameRequiredDescription
textYesThe scientific transliteration.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely non-structured behavior: liturgical marks (titlos, accents, breathings) are dropped, late spellings are folded, and the transform is purely local with no dictionary lookup or network call, plus the response shape. It does not discuss limits such as the 4000-character cap or failure behavior on mixed-script input.

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?

Four sentences, front-loaded with the verb and an illustrative example, then the transformation behavior, then the return format. Little waste, though the closing sentence about Markdown and structuredContent partially restates what the declared outputSchema already conveys.

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

Completeness4/5

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

For a single-parameter, deterministic local transform with an output schema and full annotation coverage, the description supplies everything needed to call it correctly: input scope, scripts accepted, preprocessing behavior, and side-effect freedom. The only gap is routing guidance among the sibling tools, which leaves a small ambiguity for an agent choosing between transliterate and detransliterate.

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?

Schema description coverage is 100% and the single 'text' parameter is already well documented, so the baseline is 3. The description goes slightly beyond the schema by showing an actual input-to-output mapping and confirming that both Cyrillic and Glagolitic scripts are accepted within the same argument.

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?

States a specific verb (transliterate), a specific resource (Church Slavonic, Cyrillic or Glagolitic), and the target convention (scientific Latin as used by Wiktionary), with a concrete worked example (богъ → bogŭ). The directionality is explicit, which cleanly separates it from the slavonic_detransliterate sibling even without naming it.

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

Usage Guidelines3/5

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

The description gives an implicit use case — liturgical text copied from a source or lyrics sheet works as-is — but never states when to prefer this tool over slavonic_detransliterate or the search/inflection siblings, and offers no exclusions or prerequisites. Usage is inferable from the transformation direction rather than spelled out.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • Addedscythian_get_descendants
    • Addedscythian_search
    • Addedslavonic_detransliterate
    • Addedslavonic_get_inflections
    • Addedslavonic_search
    • Addedslavonic_transliterate
  2. 6 tool updates
    • Removedscythian_get_descendants
    • Removedscythian_search
    • Removedslavonic_detransliterate
    • Removedslavonic_get_inflections
    • Removedslavonic_search
    • Removedslavonic_transliterate
  3. 11 tool updates
    • Addedanglo_deromanize
    • Addedanglo_get_inflections
    • Addedanglo_romanize
    • Addedanglo_search
    • Changeddictionaries1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "livonian",
        -  "latin",
        -  "slavonic",
        -  "scythian",
        -  "norse",
        -  "latgalian"
        -]New value: +[
        +  "livonian",
        +  "latin",
        +  "slavonic",
        +  "scythian",
        +  "norse",
        +  "latgalian",
        +  "anglo",
        +  "interslavic"
        +]
    • Addedinterslavic_get_inflections
    • Addedinterslavic_search
    • Addedinterslavic_transliterate
    • Addedlatgalian_deromanize
    • Addedlivonian_deromanize
    • Addedslavonic_detransliterate
  4. 17 tool updates
    • Addeddictionaries
    • Addedlatgalian_get_inflections
    • Addedlatgalian_romanize
    • Addedlatgalian_search
    • Changedlatin_get_inflections2 fields changed
      • changedInput schema / title
        Previous value: -"get_inflectionsArguments"New value: +"latin_get_inflectionsArguments"
      • changedOutput schema / title
        Previous value: -"get_inflectionsOutput"New value: +"latin_get_inflectionsOutput"
    • Changedlatin_lemmatize1 field changed
      • changedInput schema / title
        Previous value: -"lemmatize_latinArguments"New value: +"latin_lemmatizeArguments"
    • Changedlatin_search8 fields changed
      • changedInput schema / properties / include_forms / description
        Previous value: -"When true (default), each match's full declension/conjugation table is returned INLINE — usable cases/tenses in ONE call, no follow-up get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded Latin entries; the per-sense translations list itself is always returned."New value: +"When true (default), each match's full declension/conjugation table is returned INLINE — usable cases/tenses in ONE call, no follow-up latin_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded Latin entries; the per-sense translations list itself is always returned."
      • changedInput schema / title
        Previous value: -"search_latinArguments"New value: +"latin_searchArguments"
      • changedOutput schema / $defs / Entry / properties / entry_id / description
        Previous value: -"Page title — feed to get_inflections."New value: +"Page title — feed to latin_get_inflections."
      • changedOutput schema / $defs / Entry / properties / word_class / description
        Previous value: -"POS section — feed to get_inflections."New value: +"POS section — feed to latin_get_inflections."
      • changedOutput schema / $defs / InflectionHandle / description
        Previous value: -"A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``get_inflections`` — or ask\n``search`` to include the table inline (``forms``)."New value: +"A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``latin_get_inflections`` — or ask\n``search`` to include the table inline (``forms``)."
      • changedOutput schema / $defs / Sense / properties / form_of / description
        Previous value: -"When this sense is a non-lemma inflected form ('accusative singular of aqua'), the lemma it inflects from — its Wiktionary page title, ready to search or feed to get_inflections for the full paradigm. Empty for an ordinary gloss."New value: +"When this sense is a non-lemma inflected form ('accusative singular of aqua'), the lemma it inflects from — its Wiktionary page title, ready to search or feed to latin_get_inflections for the full paradigm. Empty for an ordinary gloss."
      • changedOutput schema / $defs / TranslationTerm / description
        Previous value: -"One Latin word a translations table offers for an English sense. ``word`` is\nthe Wiktionary page title (what an ``eng`` search re-searches and what\n``get_inflections`` needs); ``display`` keeps the rendered text only when it\ndiffers (macrons: title 'uvidus' renders as 'ūvidus')."New value: +"One Latin word a translations table offers for an English sense. ``word`` is\nthe Wiktionary page title (what an ``eng`` search re-searches and what\n``latin_get_inflections`` needs); ``display`` keeps the rendered text only when it\ndiffers (macrons: title 'uvidus' renders as 'ūvidus')."
      • changedOutput schema / properties / resolved_lemma / description
        Previous value: -"The lemma this query maps to; else empty. lat queries only. With search_method 'lemma_index'/'morpheus' the entries below ARE this lemma's; with 'direct' the entries are the queried form-of stub and this names the lemma whose page holds the full paradigm (search it / get_inflections it). Only set when unambiguous — a form mapping to several lemmas leaves it empty (use lemmatize); the per-sense form_of still carries each."New value: +"The lemma this query maps to; else empty. lat queries only. With search_method 'lemma_index'/'morpheus' the entries below ARE this lemma's; with 'direct' the entries are the queried form-of stub and this names the lemma whose page holds the full paradigm (search it / latin_get_inflections it). Only set when unambiguous — a form mapping to several lemmas leaves it empty (use lemmatize); the per-sense form_of still carries each."
    • Changedlivonian_get_inflections2 fields changed
      • changedInput schema / title
        Previous value: -"get_inflectionsArguments"New value: +"livonian_get_inflectionsArguments"
      • changedOutput schema / title
        Previous value: -"get_inflectionsOutput"New value: +"livonian_get_inflectionsOutput"
    • Changedlivonian_romanize1 field changed
      • changedInput schema / title
        Previous value: -"romanize_livonianArguments"New value: +"livonian_romanizeArguments"
    • Changedlivonian_search5 fields changed
      • changedInput schema / properties / include_forms / description
        Previous value: -"When true (default), each match's full inflection table is returned INLINE — usable cases/tenses in ONE call, no follow-up get_inflections. Set false to get just the headword handles + glosses: a cheap way to SCREEN several candidate words or synonyms (which exist? which sense?) before spending forms on the one you pick. Bounded by a per-search cap — use max_forms to raise or lower it for this call."New value: +"When true (default), each match's full inflection table is returned INLINE — usable cases/tenses in ONE call, no follow-up livonian_get_inflections. Set false to get just the headword handles + glosses: a cheap way to SCREEN several candidate words or synonyms (which exist? which sense?) before spending forms on the one you pick. Bounded by a per-search cap — use max_forms to raise or lower it for this call."
      • changedInput schema / title
        Previous value: -"search_livonianArguments"New value: +"livonian_searchArguments"
      • changedOutput schema / $defs / Entry / description
        Previous value: -"One dictionary entry (one upstream result card): the headword with its\npronunciation, part of speech, paradigm anchors, and senses.\n\n``entry_id`` + ``word_class`` are the same anchors carried by an\n:class:`InflectionHandle` — feed them to ``get_inflections`` for the full paradigm.\nEvery field except ``headword``/``gloss`` defaults, so a card missing a\npronunciation, type code, or senses still validates."New value: +"One dictionary entry (one upstream result card): the headword with its\npronunciation, part of speech, paradigm anchors, and senses.\n\n``entry_id`` + ``word_class`` are the same anchors carried by an\n:class:`InflectionHandle` — feed them to ``livonian_get_inflections`` for the full paradigm.\nEvery field except ``headword``/``gloss`` defaults, so a card missing a\npronunciation, type code, or senses still validates."
      • changedOutput schema / $defs / InflectionHandle / description
        Previous value: -"A reliable, structured anchor for fetching a full paradigm. Feed\n``entry_id`` + ``word_class`` to ``get_inflections`` — or ask ``search`` to\ninclude the table inline (``forms``)."New value: +"A reliable, structured anchor for fetching a full paradigm. Feed\n``entry_id`` + ``word_class`` to ``livonian_get_inflections`` — or ask ``search`` to\ninclude the table inline (``forms``)."
      • changedOutput schema / properties / forms_truncated / description
        Previous value: -"How many handles did NOT get an inline table because the per-search cap was reached. Refine the query or call get_inflections."New value: +"How many handles did NOT get an inline table because the per-search cap was reached. Refine the query or call livonian_get_inflections."
    • Changednorse_get_inflections2 fields changed
      • changedInput schema / title
        Previous value: -"get_inflectionsArguments"New value: +"norse_get_inflectionsArguments"
      • changedOutput schema / title
        Previous value: -"get_inflectionsOutput"New value: +"norse_get_inflectionsOutput"
    • Changednorse_search6 fields changed
      • changedInput schema / properties / include_forms / description
        Previous value: -"When true (default), each match's full declension/conjugation table is returned INLINE — usable cases/tenses (and the verbs' mediopassive voice) in ONE call, no follow-up get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded Old Norse entries; the per-sense translations list itself is always returned."New value: +"When true (default), each match's full declension/conjugation table is returned INLINE — usable cases/tenses (and the verbs' mediopassive voice) in ONE call, no follow-up norse_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded Old Norse entries; the per-sense translations list itself is always returned."
      • changedInput schema / title
        Previous value: -"search_norseArguments"New value: +"norse_searchArguments"
      • changedOutput schema / $defs / Entry / properties / entry_id / description
        Previous value: -"Page title — feed to get_inflections."New value: +"Page title — feed to norse_get_inflections."
      • changedOutput schema / $defs / Entry / properties / word_class / description
        Previous value: -"POS section — feed to get_inflections."New value: +"POS section — feed to norse_get_inflections."
      • changedOutput schema / $defs / InflectionHandle / description
        Previous value: -"A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``get_inflections`` — or ask\n``search`` to include the table inline (``forms``)."New value: +"A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``norse_get_inflections`` — or ask\n``search`` to include the table inline (``forms``)."
      • changedOutput schema / $defs / TranslationTerm / description
        Previous value: -"One Old Norse word a translations table offers for an English sense.\n``word`` is the Wiktionary page title (what an ``eng`` search re-searches and\nwhat ``get_inflections`` needs)."New value: +"One Old Norse word a translations table offers for an English sense.\n``word`` is the Wiktionary page title (what an ``eng`` search re-searches and\nwhat ``norse_get_inflections`` needs)."
    • Changedscythian_get_descendants2 fields changed
      • changedInput schema / title
        Previous value: -"get_descendants_scythianArguments"New value: +"scythian_get_descendantsArguments"
      • changedOutput schema / title
        Previous value: -"get_descendants_scythianOutput"New value: +"scythian_get_descendantsOutput"
    • Changedscythian_search6 fields changed
      • changedInput schema / properties / include_forms / description
        Previous value: -"When true (default), each match's full descendants payload — etymology, glosses and the reflex tree down to Ossetian and Khotanese — is returned INLINE in ONE call, no follow-up get_descendants_scythian. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded entries; the matched-lemmas list itself is always returned."New value: +"When true (default), each match's full descendants payload — etymology, glosses and the reflex tree down to Ossetian and Khotanese — is returned INLINE in ONE call, no follow-up scythian_get_descendants. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded entries; the matched-lemmas list itself is always returned."
      • changedInput schema / title
        Previous value: -"search_scythianArguments"New value: +"scythian_searchArguments"
      • changedOutput schema / $defs / DescendantsHandle / description
        Previous value: -"A structured anchor for fetching one entry's descendants: feed ``entry_id``\n(the bare lemma) + ``word_class`` (the POS section) to\n``get_descendants_scythian`` — or ask ``search`` to include the tree inline\n(``forms``)."New value: +"A structured anchor for fetching one entry's descendants: feed ``entry_id``\n(the bare lemma) + ``word_class`` (the POS section) to\n``scythian_get_descendants`` — or ask ``search`` to include the tree inline\n(``forms``)."
      • changedOutput schema / $defs / Entry / properties / entry_id / description
        Previous value: -"Bare lemma — feed to get_descendants_scythian."New value: +"Bare lemma — feed to scythian_get_descendants."
      • changedOutput schema / $defs / Entry / properties / word_class / description
        Previous value: -"POS section — feed to get_descendants_scythian."New value: +"POS section — feed to scythian_get_descendants."
      • changedOutput schema / $defs / TranslationTerm / description
        Previous value: -"One Proto-Scythian lemma the gloss index offers for an English query.\n``word`` is the bare lemma (what an ``eng`` search re-searches and what\n``get_descendants_scythian`` needs)."New value: +"One Proto-Scythian lemma the gloss index offers for an English query.\n``word`` is the bare lemma (what an ``eng`` search re-searches and what\n``scythian_get_descendants`` needs)."
    • Changedslavonic_get_inflections2 fields changed
      • changedInput schema / title
        Previous value: -"get_inflectionsArguments"New value: +"slavonic_get_inflectionsArguments"
      • changedOutput schema / title
        Previous value: -"get_inflectionsOutput"New value: +"slavonic_get_inflectionsOutput"
    • Changedslavonic_search6 fields changed
      • changedInput schema / properties / include_forms / description
        Previous value: -"When true (default), each match's full declension/conjugation table is returned INLINE — usable cases/tenses (singular, dual AND plural) in ONE call, no follow-up get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded OCS entries; the per-sense translations list itself is always returned."New value: +"When true (default), each match's full declension/conjugation table is returned INLINE — usable cases/tenses (singular, dual AND plural) in ONE call, no follow-up slavonic_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap — use max_forms to adjust per call. For eng queries this governs the expanded OCS entries; the per-sense translations list itself is always returned."
      • changedInput schema / title
        Previous value: -"search_slavonicArguments"New value: +"slavonic_searchArguments"
      • changedOutput schema / $defs / Entry / properties / entry_id / description
        Previous value: -"Page title — feed to get_inflections."New value: +"Page title — feed to slavonic_get_inflections."
      • changedOutput schema / $defs / Entry / properties / word_class / description
        Previous value: -"POS section — feed to get_inflections."New value: +"POS section — feed to slavonic_get_inflections."
      • changedOutput schema / $defs / InflectionHandle / description
        Previous value: -"A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``get_inflections`` — or ask\n``search`` to include the table inline (``forms``)."New value: +"A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``slavonic_get_inflections`` — or ask\n``search`` to include the table inline (``forms``)."
      • changedOutput schema / $defs / TranslationTerm / description
        Previous value: -"One Old Church Slavonic word a translations table offers for an English\nsense. ``word`` is the Wiktionary page title in Cyrillic (what an ``eng``\nsearch re-searches and what ``get_inflections`` needs); only the Cyrillic\nscript row is read — the parallel Glagolitic spelling is the same lemma on a\nsoft-redirect page, so surfacing it would only duplicate the term."New value: +"One Old Church Slavonic word a translations table offers for an English\nsense. ``word`` is the Wiktionary page title in Cyrillic (what an ``eng``\nsearch re-searches and what ``slavonic_get_inflections`` needs); only the Cyrillic\nscript row is read — the parallel Glagolitic spelling is the same lemma on a\nsoft-redirect page, so surfacing it would only duplicate the term."
    • Changedslavonic_transliterate1 field changed
      • changedInput schema / title
        Previous value: -"transliterate_slavonicArguments"New value: +"slavonic_transliterateArguments"
  5. 13 tool updates
    • First observedlatin_get_inflections
    • First observedlatin_lemmatize
    • First observedlatin_search
    • First observedlivonian_get_inflections
    • First observedlivonian_romanize
    • First observedlivonian_search
    • First observednorse_get_inflections
    • First observednorse_search
    • First observedscythian_get_descendants
    • First observedscythian_search
    • First observedslavonic_get_inflections
    • First observedslavonic_search
    • First observedslavonic_transliterate

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Exposes JustOneAPI endpoints as MCP tools, returning raw upstream JSON without field parsing for maximum data fidelity.
    7
    22 npm
    30
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Wraps any existing MCP server to reduce tool-description token usage by exposing a compact discovery interface with namespaced tools.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    One MCP to rule them all. A single MCP endpoint that aggregates many downstream connectors — remote MCP servers and plain HTTP APIs — and presents agents a fixed set of nine meta-tools.
    622 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Aggregates multiple MCP servers behind a single endpoint, letting MCP clients access all their tools through one URL and token while namespacing tools to avoid collisions.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources