latin
Server Details
Grounds LLMs in real Latin: Wiktionary lemmas, Morpheus inflections, citations.
- Status
- Healthy
- Uptime
- 14.4% over 58 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a stated niche: search for dictionary lookup, lemmatize for raw morphology, get_inflections for expanding a table. However, the boundaries blur because latin_search already resolves inflected queries via Morpheus and returns tables inline, overlapping both other tools; the descriptions do explicitly explain when to reach for each, mitigating the overlap.
All tools share the 'latin_' prefix and are snake_case, giving a predictable namespace. The verb styles are slightly mixed (get_inflections is verb_noun while lemmatize and search are bare verbs), a minor deviation but still readable and clearly Latin-scoped.
Three tools map cleanly onto the domain's core operations: lookup, morphological analysis, and paradigm expansion. It sits at the thin end of the range, but each tool earns its place with no redundant or filler entries.
The surface covers the main lifecycle: word lookup (both Latin and English directions), morphological analysis, and declension/conjugation tables. Minor gaps like batch lookup or explicit cache management exist, but these are workable since caching is automatic and searches resolve forms themselves.
Available Tools
3 toolslatin_get_inflectionsGet a Latin inflection tableRead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| entry_id | Yes | The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'amo', 'aqua'. | |
| word_class | Yes | The part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
latin_lemmatizeMorphologically analyze a Latin formRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| word | Yes | One inflected Latin word form to analyze, e.g. 'amavit', 'aquam'. Macrons optional. |
Output Schema
| Name | Required | Description |
|---|---|---|
| word | Yes | |
| found | Yes | |
| source | No | |
| analyses | No |
latin_searchLook a Latin word upRead-onlyIdempotentInspect
Look a Latin word up on Wiktionary and return its senses plus full declension/conjugation tables — attested content, not invented. Any form of the word works; an inflected query is resolved to its lemma automatically (via previously cached paradigms or the Morpheus analyzer) and the result notes the resolution. With search_language='eng' the query is an English word instead: the result lists its per-sense Latin equivalents (the translations block) plus their expanded entries. Returns Markdown plus the same result as structuredContent matching the declared outputSchema.
Results are cached server-side; first-time queries reach the live upstream politely and calls are rate limited — on a rate-limit error, wait a few seconds and retry. Content is from en.wiktionary.org (CC BY-SA 4.0 — attribute and share alike if republished).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The word to look up, in the language search_language names. Latin (default): a SINGLE word, any form — an inflected form ('amavit') is resolved to its lemma ('amo') automatically, and the result names it (search_method tells you how; resolved_lemma is the lemma to follow for the full paradigm); macrons are optional ('amo' and 'amō' both work). English (search_language='eng'): the English word whose Latin equivalents you want — multiword entries like 'give up' work. | |
| max_forms | No | Optional override for how many inflection tables to expand this call (0–12). On an uncached query each table is one politely paced upstream fetch, so high values on cold queries are slow. Omit for the server default. | |
| include_forms | No | 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. | |
| search_language | No | Language the query word is in: 'lat' (default) looks the Latin word up directly; 'eng' finds the Latin equivalents of an English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in English either way. | lat |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | False when nothing matched. For an eng query, True means Latin translations were found — entries may still be empty when none of them could be expanded (see translations). |
| query | Yes | |
| source | No | |
| entries | No | |
| handles | No | |
| language | Yes | |
| translations | No | Populated only for eng queries (always [] for lat): the Latin terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms. |
| resolved_from | No | The query whose lemma this result names (paired with resolved_lemma); else empty. lat queries only (always empty for eng). Set both when an inflected miss was re-searched (search_method lemma_index/morpheus) and when the query's own page is a form-of stub returned directly (search_method stays 'direct'). |
| search_method | No | How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'morpheus' = resolved via the Morpheus morphological analyzer; 'translations' = an English query resolved via Wiktionary translation tables. |
| resolved_lemma | No | 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. |
| forms_truncated | No | How many handles did NOT get an inline table because the per-search cap was reached. |
| translations_truncated | No | How many distinct translated lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations). |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
latin_get_inflections8 fields changed- added
Input schema / properties / entry_id / patternAdded value: +"^[A-Za-zĀāĒēĪīŌōŪūȲȳÄäÖöËë\\-']{1,80}$" - added
Input schema / properties / word_class / enumAdded value: +[ + "abbreviation", + "acronym", + "adjective", + "adverb", + "affix", + "article", + "character", + "circumfix", + "classifier", + "combining form", + "conjunction", + "contraction", + "counter", + "determiner", + "diacritical mark", + "idiom", + "infix", + "initialism", + "interfix", + "interjection", + "letter", + "ligature", + "noun", + "number", + "numeral", + "participle", + "particle", + "phrase", + "postposition", + "prefix", + "preposition", + "prepositional phrase", + "pronoun", + "proper noun", + "proverb", + "punctuation mark", + "romanization", + "root", + "suffix", + "symbol", + "verb" +] - removed
Input schema / properties / word_class / maxLengthRemoved value: -24 - removed
Input schema / properties / word_class / minLengthRemoved value: -1 - removed
Input schema / properties / word_class / patternRemoved value: -"^[a-z ]+$" - changed
Output schema / $defs / LatinNominalParadigm / properties / source / defaultPrevious value: -"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)"New value: +"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/) Adapted: reformatted and condensed from the original." - changed
Output schema / $defs / LatinVerbalParadigm / properties / source / defaultPrevious value: -"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)"New value: +"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/) Adapted: reformatted and condensed from the original." - changed
Output schema / $defs / ParadigmNotFound / properties / source / defaultPrevious value: -"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)"New value: +"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/) Adapted: reformatted and condensed from the original."
- Changed
latin_lemmatize1 field changed- added
Input schema / properties / word / patternAdded value: +"^[A-Za-zĀāĒēĪīŌōŪūȲȳÄäÖöËë\\-']{1,80}$"
- Changed
latin_search4 fields changed- changed
Output schema / $defs / LatinNominalParadigm / properties / source / defaultPrevious value: -"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)"New value: +"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/) Adapted: reformatted and condensed from the original." - changed
Output schema / $defs / LatinVerbalParadigm / properties / source / defaultPrevious value: -"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)"New value: +"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/) Adapted: reformatted and condensed from the original." - changed
Output schema / $defs / ParadigmNotFound / properties / source / defaultPrevious value: -"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)"New value: +"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/) Adapted: reformatted and condensed from the original." - changed
Output schema / properties / source / defaultPrevious value: -"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)"New value: +"Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/) Adapted: reformatted and condensed from the original."
6 tool updates
- Removed
get_inflections - Added
latin_get_inflections - Added
latin_lemmatize - Added
latin_search - Removed
lemmatize_latin - Removed
search_latin
1 tool update
- Changed
search_latin4 fields changed- changed
Input schema / properties / query / descriptionPrevious value: -"The word to look up, in the language search_language names. Latin (default): a SINGLE word, any form — an inflected form ('amavit') is resolved to its lemma ('amo') automatically via cached paradigms or the Morpheus analyzer, and the result says so; macrons are optional ('amo' and 'amō' both work). English (search_language='eng'): the English word whose Latin equivalents you want — multiword entries like 'give up' work."New value: +"The word to look up, in the language search_language names. Latin (default): a SINGLE word, any form — an inflected form ('amavit') is resolved to its lemma ('amo') automatically, and the result names it (search_method tells you how; resolved_lemma is the lemma to follow for the full paradigm); macrons are optional ('amo' and 'amō' both work). English (search_language='eng'): the English word whose Latin equivalents you want — multiword entries like 'give up' work." - added
Output schema / $defs / Sense / properties / form_ofAdded value: +{ + "default": "", + "description": "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.", + "title": "Form Of", + "type": "string" +} - changed
Output schema / properties / resolved_from / descriptionPrevious value: -"The original inflected query when resolved; else empty. lat queries only — always empty for eng results."New value: +"The query whose lemma this result names (paired with resolved_lemma); else empty. lat queries only (always empty for eng). Set both when an inflected miss was re-searched (search_method lemma_index/morpheus) and when the query's own page is a form-of stub returned directly (search_method stays 'direct')." - changed
Output schema / properties / resolved_lemma / descriptionPrevious value: -"The lemma actually searched when resolved; else empty. lat queries only — always empty for eng results."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 / 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."
2 tool updates
- Changed
get_inflections12 fields changed- added
Input schema / properties / entry_idAdded value: +{ + "description": "The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'amo', 'aqua'.", + "maxLength": 80, + "minLength": 1, + "title": "Entry Id", + "type": "string" +} - removed
Input schema / properties / vards_idRemoved value: -{ - "description": "The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'amo', 'aqua'.", - "maxLength": 80, - "minLength": 1, - "title": "Vards Id", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "vards_id", - "word_class" -]New value: +[ + "entry_id", + "word_class" +] - added
Output schema / $defs / LatinNominalParadigm / properties / entry_idAdded value: +{ + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / LatinNominalParadigm / properties / vards_idRemoved value: -{ - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / LatinNominalParadigm / requiredPrevious value: -[ - "vards_id", - "word_class", - "cases" -]New value: +[ + "entry_id", + "word_class", + "cases" +] - added
Output schema / $defs / LatinVerbalParadigm / properties / entry_idAdded value: +{ + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / LatinVerbalParadigm / properties / vards_idRemoved value: -{ - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / LatinVerbalParadigm / requiredPrevious value: -[ - "vards_id", - "word_class", - "finite", - "nonfinite" -]New value: +[ + "entry_id", + "word_class", + "finite", + "nonfinite" +] - added
Output schema / $defs / ParadigmNotFound / properties / entry_idAdded value: +{ + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / ParadigmNotFound / properties / vards_idRemoved value: -{ - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / ParadigmNotFound / requiredPrevious value: -[ - "vards_id", - "word_class" -]New value: +[ + "entry_id", + "word_class" +]
- Changed
search_latin30 fields changed- added
Input schema / $defsAdded value: +{ + "SearchLanguage": { + "description": "The query language. ``lat`` looks a Latin word up directly (any of its forms —\nan inflected query resolves via the form index or Morpheus). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Latin\ntranslations, and each distinct Latin lemma is then looked up normally.", + "enum": [ + "lat", + "eng" + ], + "title": "SearchLanguage", + "type": "string" + } +} - changed
Input schema / properties / include_forms / descriptionPrevious 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."New 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." - changed
Input schema / properties / query / descriptionPrevious value: -"A SINGLE Latin word, not a phrase — one per call. Any form works: an inflected form ('amavit') is resolved to its lemma ('amo') automatically via cached paradigms or the Morpheus analyzer, and the result says so. Macrons are optional ('amo' and 'amō' both work). For English→Latin, you must already know the Latin word — this dictionary is keyed by Latin headwords."New value: +"The word to look up, in the language search_language names. Latin (default): a SINGLE word, any form — an inflected form ('amavit') is resolved to its lemma ('amo') automatically via cached paradigms or the Morpheus analyzer, and the result says so; macrons are optional ('amo' and 'amō' both work). English (search_language='eng'): the English word whose Latin equivalents you want — multiword entries like 'give up' work." - added
Input schema / properties / search_languageAdded value: +{ + "$ref": "#/$defs/SearchLanguage", + "default": "lat", + "description": "Language the query word is in: 'lat' (default) looks the Latin word up directly; 'eng' finds the Latin equivalents of an English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in English either way." +} - added
Output schema / $defs / Entry / properties / entry_idAdded value: +{ + "default": "", + "description": "Page title — feed to get_inflections.", + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / Entry / properties / vards_idRemoved value: -{ - "default": "", - "description": "Page title — feed to get_inflections.", - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / InflectionHandle / descriptionPrevious value: -"A structured anchor for fetching a full paradigm: feed ``vards_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 ``get_inflections`` — or ask\n``search`` to include the table inline (``forms``)." - added
Output schema / $defs / InflectionHandle / properties / entry_idAdded value: +{ + "description": "Wiktionary page title — the lemma itself.", + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / InflectionHandle / properties / vards_idRemoved value: -{ - "description": "Wiktionary page title — the lemma itself.", - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / InflectionHandle / requiredPrevious value: -[ - "vards_id", - "word_class" -]New value: +[ + "entry_id", + "word_class" +] - added
Output schema / $defs / LatinNominalParadigm / properties / entry_idAdded value: +{ + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / LatinNominalParadigm / properties / vards_idRemoved value: -{ - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / LatinNominalParadigm / requiredPrevious value: -[ - "vards_id", - "word_class", - "cases" -]New value: +[ + "entry_id", + "word_class", + "cases" +] - added
Output schema / $defs / LatinVerbalParadigm / properties / entry_idAdded value: +{ + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / LatinVerbalParadigm / properties / vards_idRemoved value: -{ - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / LatinVerbalParadigm / requiredPrevious value: -[ - "vards_id", - "word_class", - "finite", - "nonfinite" -]New value: +[ + "entry_id", + "word_class", + "finite", + "nonfinite" +] - added
Output schema / $defs / ParadigmNotFound / properties / entry_idAdded value: +{ + "title": "Entry Id", + "type": "string" +} - removed
Output schema / $defs / ParadigmNotFound / properties / vards_idRemoved value: -{ - "title": "Vards Id", - "type": "string" -} - changed
Output schema / $defs / ParadigmNotFound / requiredPrevious value: -[ - "vards_id", - "word_class" -]New value: +[ + "entry_id", + "word_class" +] - changed
Output schema / $defs / SearchLanguage / descriptionPrevious value: -"The query language. Latin only for now: the English Wiktionary's definition\nendpoint is keyed by page title, so the query must be a Latin word (any of its\nforms — an inflected query resolves via the form index or Morpheus)."New value: +"The query language. ``lat`` looks a Latin word up directly (any of its forms —\nan inflected query resolves via the form index or Morpheus). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Latin\ntranslations, and each distinct Latin lemma is then looked up normally." - changed
Output schema / $defs / SearchLanguage / enumPrevious value: -[ - "lat" -]New value: +[ + "lat", + "eng" +] - added
Output schema / $defs / TranslationSenseAdded value: +{ + "description": "One English sense (a translations table) and the Latin terms it offers.", + "properties": { + "sense": { + "description": "The sense gloss the source table carries.", + "title": "Sense", + "type": "string" + }, + "terms": { + "items": { + "$ref": "#/$defs/TranslationTerm" + }, + "title": "Terms", + "type": "array" + } + }, + "required": [ + "sense" + ], + "title": "TranslationSense", + "type": "object" +} - added
Output schema / $defs / TranslationTermAdded value: +{ + "description": "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').", + "properties": { + "display": { + "default": "", + "description": "Rendered form when it differs from the title (macrons).", + "title": "Display", + "type": "string" + }, + "gender": { + "default": "", + "description": "Grammatical gender as marked, e.g. 'f'.", + "title": "Gender", + "type": "string" + }, + "qualifier": { + "default": "", + "description": "Usage qualifier as marked, e.g. 'poetic'; else empty.", + "title": "Qualifier", + "type": "string" + }, + "word": { + "description": "Wiktionary page title — the lemma itself.", + "title": "Word", + "type": "string" + } + }, + "required": [ + "word" + ], + "title": "TranslationTerm", + "type": "object" +} - changed
Output schema / properties / found / descriptionPrevious value: -"False when nothing matched."New value: +"False when nothing matched. For an eng query, True means Latin translations were found — entries may still be empty when none of them could be expanded (see translations)." - changed
Output schema / properties / resolved_from / descriptionPrevious value: -"The original inflected query when resolved; else empty."New value: +"The original inflected query when resolved; else empty. lat queries only — always empty for eng results." - changed
Output schema / properties / resolved_lemma / descriptionPrevious value: -"The lemma actually searched when resolved; else empty."New value: +"The lemma actually searched when resolved; else empty. lat queries only — always empty for eng results." - changed
Output schema / properties / search_method / descriptionPrevious value: -"How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'morpheus' = resolved via the Morpheus morphological analyzer."New value: +"How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'morpheus' = resolved via the Morpheus morphological analyzer; 'translations' = an English query resolved via Wiktionary translation tables." - changed
Output schema / properties / search_method / enumPrevious value: -[ - "direct", - "lemma_index", - "morpheus" -]New value: +[ + "direct", + "lemma_index", + "morpheus", + "translations" +] - added
Output schema / properties / translationsAdded value: +{ + "description": "Populated only for eng queries (always [] for lat): the Latin terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms.", + "items": { + "$ref": "#/$defs/TranslationSense" + }, + "title": "Translations", + "type": "array" +} - added
Output schema / properties / translations_truncatedAdded value: +{ + "default": 0, + "description": "How many distinct translated lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).", + "title": "Translations Truncated", + "type": "integer" +}
3 tool updates
- Changed
get_inflections1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$defs": { + "LatinNominalParadigm": { + "description": "Declension of a noun/adjective/etc.: case → {singular, plural}.\n\n``category`` discriminates this from the verbal and not-found shapes — switch on\nit before reading the body.", + "properties": { + "cases": { + "additionalProperties": { + "$ref": "#/$defs/NumberForms" + }, + "description": "Case name (lower-case: 'nominative', 'genitive', …) → its singular/plural forms, in table order.", + "title": "Cases", + "type": "object" + }, + "category": { + "const": "nominal", + "default": "nominal", + "title": "Category", + "type": "string" + }, + "found": { + "const": true, + "default": true, + "title": "Found", + "type": "boolean" + }, + "source": { + "default": "Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)", + "title": "Source", + "type": "string" + }, + "vards_id": { + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "vards_id", + "word_class", + "cases" + ], + "title": "LatinNominalParadigm", + "type": "object" + }, + "LatinVerbalParadigm": { + "description": "Conjugation of a verb, grouped the way Wiktionary's table is:\nfinite cells keyed by \"<voice> <mood> <tense>\" → person/number → form, plus the\nnon-finite sections (infinitives, participles, gerund, supine).", + "properties": { + "category": { + "const": "verbal", + "default": "verbal", + "title": "Category", + "type": "string" + }, + "finite": { + "additionalProperties": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "description": "'<voice> <mood> <tense>' (lower-case, e.g. 'active indicative present') → person/number ('first singular' … 'third plural') → the form. Periphrastic rows (e.g. passive perfect) appear under the single key 'all'. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", + "title": "Finite", + "type": "object" + }, + "found": { + "const": true, + "default": true, + "title": "Found", + "type": "boolean" + }, + "nonfinite": { + "additionalProperties": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "description": "Non-finite section ('infinitive', 'participle', 'gerund', 'supine') → label ('active present', 'genitive', …) → the form.", + "title": "Nonfinite", + "type": "object" + }, + "source": { + "default": "Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)", + "title": "Source", + "type": "string" + }, + "vards_id": { + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "vards_id", + "word_class", + "finite", + "nonfinite" + ], + "title": "LatinVerbalParadigm", + "type": "object" + }, + "NumberForms": { + "description": "A declension cell: the two number forms of one case. Latin forms are verbatim\n(macrons preserved); alternates stay space-separated as Wiktionary renders them.", + "properties": { + "plural": { + "title": "Plural", + "type": "string" + }, + "singular": { + "title": "Singular", + "type": "string" + } + }, + "required": [ + "singular", + "plural" + ], + "title": "NumberForms", + "type": "object" + }, + "ParadigmNotFound": { + "description": "No inflection table for this page/POS (no Latin section, no table, or the\npage doesn't exist). ``found`` is False and there is no table body.", + "properties": { + "category": { + "const": "not_found", + "default": "not_found", + "title": "Category", + "type": "string" + }, + "found": { + "const": false, + "default": false, + "title": "Found", + "type": "boolean" + }, + "source": { + "default": "Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)", + "title": "Source", + "type": "string" + }, + "vards_id": { + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "vards_id", + "word_class" + ], + "title": "ParadigmNotFound", + "type": "object" + } + }, + "properties": { + "result": { + "discriminator": { + "mapping": { + "nominal": "#/$defs/LatinNominalParadigm", + "not_found": "#/$defs/ParadigmNotFound", + "verbal": "#/$defs/LatinVerbalParadigm" + }, + "propertyName": "category" + }, + "oneOf": [ + { + "$ref": "#/$defs/LatinNominalParadigm" + }, + { + "$ref": "#/$defs/LatinVerbalParadigm" + }, + { + "$ref": "#/$defs/ParadigmNotFound" + } + ], + "title": "Result" + } + }, + "required": [ + "result" + ], + "title": "get_inflectionsOutput", + "type": "object" +}
- Changed
lemmatize_latin1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$defs": { + "MorphAnalysis": { + "description": "One Morpheus analysis of an inflected form: its lemma plus the grammatical\ntags the analyzer assigned (mood/tense/case/number/…, whatever applies).", + "properties": { + "lemma": { + "title": "Lemma", + "type": "string" + }, + "part_of_speech": { + "default": "", + "title": "Part Of Speech", + "type": "string" + }, + "source": { + "default": "Morpheus morphological analyses via the Perseids Project morphology service (morph.perseids.org), Tufts University / Perseus Digital Library.", + "title": "Source", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "title": "Tags", + "type": "object" + } + }, + "required": [ + "lemma" + ], + "title": "MorphAnalysis", + "type": "object" + } + }, + "description": "The result of lemmatizing one word form via Morpheus.", + "properties": { + "analyses": { + "items": { + "$ref": "#/$defs/MorphAnalysis" + }, + "title": "Analyses", + "type": "array" + }, + "found": { + "title": "Found", + "type": "boolean" + }, + "source": { + "default": "Morpheus morphological analyses via the Perseids Project morphology service (morph.perseids.org), Tufts University / Perseus Digital Library.", + "title": "Source", + "type": "string" + }, + "word": { + "title": "Word", + "type": "string" + } + }, + "required": [ + "word", + "found" + ], + "title": "Lemmatization", + "type": "object" +}
- Changed
search_latin1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$defs": { + "Entry": { + "description": "One Latin entry on the page: the headword (page title) with one\npart-of-speech section's senses.", + "properties": { + "headword": { + "title": "Headword", + "type": "string" + }, + "part_of_speech": { + "default": "", + "title": "Part Of Speech", + "type": "string" + }, + "senses": { + "items": { + "$ref": "#/$defs/Sense" + }, + "title": "Senses", + "type": "array" + }, + "vards_id": { + "default": "", + "description": "Page title — feed to get_inflections.", + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "default": "", + "description": "POS section — feed to get_inflections.", + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "headword" + ], + "title": "Entry", + "type": "object" + }, + "InflectionHandle": { + "description": "A structured anchor for fetching a full paradigm: feed ``vards_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``get_inflections`` — or ask\n``search`` to include the table inline (``forms``).", + "properties": { + "context": { + "default": "", + "description": "Nearby headword / hint.", + "title": "Context", + "type": "string" + }, + "forms": { + "anyOf": [ + { + "discriminator": { + "mapping": { + "nominal": "#/$defs/LatinNominalParadigm", + "not_found": "#/$defs/ParadigmNotFound", + "verbal": "#/$defs/LatinVerbalParadigm" + }, + "propertyName": "category" + }, + "oneOf": [ + { + "$ref": "#/$defs/LatinNominalParadigm" + }, + { + "$ref": "#/$defs/LatinVerbalParadigm" + }, + { + "$ref": "#/$defs/ParadigmNotFound" + } + ] + }, + { + "type": "null" + } + ], + "default": null, + "description": "The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.", + "title": "Forms" + }, + "pos_hint": { + "default": "", + "description": "Part-of-speech hint.", + "title": "Pos Hint", + "type": "string" + }, + "vards_id": { + "description": "Wiktionary page title — the lemma itself.", + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "description": "Part-of-speech section, e.g. 'verb', 'noun'.", + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "vards_id", + "word_class" + ], + "title": "InflectionHandle", + "type": "object" + }, + "LatinNominalParadigm": { + "description": "Declension of a noun/adjective/etc.: case → {singular, plural}.\n\n``category`` discriminates this from the verbal and not-found shapes — switch on\nit before reading the body.", + "properties": { + "cases": { + "additionalProperties": { + "$ref": "#/$defs/NumberForms" + }, + "description": "Case name (lower-case: 'nominative', 'genitive', …) → its singular/plural forms, in table order.", + "title": "Cases", + "type": "object" + }, + "category": { + "const": "nominal", + "default": "nominal", + "title": "Category", + "type": "string" + }, + "found": { + "const": true, + "default": true, + "title": "Found", + "type": "boolean" + }, + "source": { + "default": "Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)", + "title": "Source", + "type": "string" + }, + "vards_id": { + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "vards_id", + "word_class", + "cases" + ], + "title": "LatinNominalParadigm", + "type": "object" + }, + "LatinVerbalParadigm": { + "description": "Conjugation of a verb, grouped the way Wiktionary's table is:\nfinite cells keyed by \"<voice> <mood> <tense>\" → person/number → form, plus the\nnon-finite sections (infinitives, participles, gerund, supine).", + "properties": { + "category": { + "const": "verbal", + "default": "verbal", + "title": "Category", + "type": "string" + }, + "finite": { + "additionalProperties": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "description": "'<voice> <mood> <tense>' (lower-case, e.g. 'active indicative present') → person/number ('first singular' … 'third plural') → the form. Periphrastic rows (e.g. passive perfect) appear under the single key 'all'. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", + "title": "Finite", + "type": "object" + }, + "found": { + "const": true, + "default": true, + "title": "Found", + "type": "boolean" + }, + "nonfinite": { + "additionalProperties": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "description": "Non-finite section ('infinitive', 'participle', 'gerund', 'supine') → label ('active present', 'genitive', …) → the form.", + "title": "Nonfinite", + "type": "object" + }, + "source": { + "default": "Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)", + "title": "Source", + "type": "string" + }, + "vards_id": { + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "vards_id", + "word_class", + "finite", + "nonfinite" + ], + "title": "LatinVerbalParadigm", + "type": "object" + }, + "NumberForms": { + "description": "A declension cell: the two number forms of one case. Latin forms are verbatim\n(macrons preserved); alternates stay space-separated as Wiktionary renders them.", + "properties": { + "plural": { + "title": "Plural", + "type": "string" + }, + "singular": { + "title": "Singular", + "type": "string" + } + }, + "required": [ + "singular", + "plural" + ], + "title": "NumberForms", + "type": "object" + }, + "ParadigmNotFound": { + "description": "No inflection table for this page/POS (no Latin section, no table, or the\npage doesn't exist). ``found`` is False and there is no table body.", + "properties": { + "category": { + "const": "not_found", + "default": "not_found", + "title": "Category", + "type": "string" + }, + "found": { + "const": false, + "default": false, + "title": "Found", + "type": "boolean" + }, + "source": { + "default": "Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)", + "title": "Source", + "type": "string" + }, + "vards_id": { + "title": "Vards Id", + "type": "string" + }, + "word_class": { + "title": "Word Class", + "type": "string" + } + }, + "required": [ + "vards_id", + "word_class" + ], + "title": "ParadigmNotFound", + "type": "object" + }, + "SearchLanguage": { + "description": "The query language. Latin only for now: the English Wiktionary's definition\nendpoint is keyed by page title, so the query must be a Latin word (any of its\nforms — an inflected query resolves via the form index or Morpheus).", + "enum": [ + "lat" + ], + "title": "SearchLanguage", + "type": "string" + }, + "Sense": { + "description": "One sense of an entry: the (HTML-stripped) Wiktionary definition line.", + "properties": { + "examples": { + "items": { + "type": "string" + }, + "title": "Examples", + "type": "array" + }, + "gloss": { + "title": "Gloss", + "type": "string" + }, + "label": { + "default": "", + "title": "Label", + "type": "string" + } + }, + "required": [ + "gloss" + ], + "title": "Sense", + "type": "object" + } + }, + "description": "The result of a dictionary search.", + "properties": { + "entries": { + "items": { + "$ref": "#/$defs/Entry" + }, + "title": "Entries", + "type": "array" + }, + "forms_truncated": { + "default": 0, + "description": "How many handles did NOT get an inline table because the per-search cap was reached.", + "title": "Forms Truncated", + "type": "integer" + }, + "found": { + "description": "False when nothing matched.", + "title": "Found", + "type": "boolean" + }, + "handles": { + "items": { + "$ref": "#/$defs/InflectionHandle" + }, + "title": "Handles", + "type": "array" + }, + "language": { + "$ref": "#/$defs/SearchLanguage" + }, + "query": { + "title": "Query", + "type": "string" + }, + "resolved_from": { + "default": "", + "description": "The original inflected query when resolved; else empty.", + "title": "Resolved From", + "type": "string" + }, + "resolved_lemma": { + "default": "", + "description": "The lemma actually searched when resolved; else empty.", + "title": "Resolved Lemma", + "type": "string" + }, + "search_method": { + "default": "direct", + "description": "How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'morpheus' = resolved via the Morpheus morphological analyzer.", + "enum": [ + "direct", + "lemma_index", + "morpheus" + ], + "title": "Search Method", + "type": "string" + }, + "source": { + "default": "Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)", + "title": "Source", + "type": "string" + } + }, + "required": [ + "query", + "language", + "found" + ], + "title": "SearchResult", + "type": "object" +}
3 tool updates
- First observed
get_inflections - First observed
lemmatize_latin - First observed
search_latin
Related MCP Connectors
Grounds LLMs in real Latgalian: Wiktionary lemmas, inflections, romanization.
Grounds LLMs in the real Livonian dictionary: attested words, inflections, romanization.
Grounds LLMs in real Church Slavonic: Wiktionary lemmas, dual-number paradigms, transliteration.
Grounds LLMs in real Old Norse: lemmas, mediopassive paradigms, English→Old Norse lookup.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides Latin NLP tools for tokenization, lemmatization, POS tagging, reported speech detection, and LiLa Knowledge Base querying via MCP.MIT

SciWeave MCP Serverofficial
FlicenseNot gradedqualityCmaintenanceGround Claude, ChatGPT, Cursor, and Windsurf in 300M scientific works — every citation a verifiable DOI.-- AlicenseNot gradedqualityAmaintenanceCite-grade German legal-text infrastructure for LLM agents, providing access to federal, Länder, and EU laws with cryptographic provenance.26 PyPI2Apache 2.0
- AlicenseNot gradedqualityCmaintenanceVocabulary intelligence MCP server — 162K words, 47 languages, definitions, IPA pronunciation, etymology, translations, and daily lessons. 19 tools for AI agents.7 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.