MCPサーバー

norse

com.valksor/norse
教育 検索・リサーチ 公開・接続可能 MCP 2025-11-25

このMCPでできること

Looks up attested Old Norse lemmas, translations, inflections, declensions, and conjugations.

norse_get_inflections
Get an Old Norse inflection table
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": <paradigm>} 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).
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'norse_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'maxLength': 80, 'minLength': 1, 'description': "The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'maðr', 'kasta'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'."}}}
出力スキーマ
{'type': 'object', '$defs': {'NorseNumberForms': {'type': 'object', 'title': 'NorseNumberForms', 'properties': {'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the two number forms of one case key. Forms are verbatim\nnormalized Old Norse; alternates stay comma-separated as Wiktionary renders\nthem. A number the table doesn't give (defective paradigms) is an empty\nstring."}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old Norse section, no table, or\nthe page doesn't exist). ``found`` is False and there is no body."}, 'NorseVerbalParadigm': {'type': 'object', 'title': 'NorseVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood and tense (lower-case: 'indicative present', 'subjunctive past', 'imperative present'; the mediopassive table's keys are prefixed â\x80\x94 'mediopassive indicative past') â\x86\x92 person and number ('first singular' â\x80¦ 'third plural') â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'present participle', 'past participle'; mediopassive-prefixed for that voice) â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood and tense â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite forms\n(infinitive and the participles). The mediopassive voice renders as its own\ntable and its keys carry a 'mediopassive ' prefix; active keys are bare."}, 'NorseNominalParadigm': {'type': 'object', 'title': 'NorseNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; nouns prefix the definiteness â\x80\x94 'indefinite nominative'; adjectives prefix the caption-derived declension class/degree and suffix the gender â\x80\x94 'strong nominative feminine') â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/NorseNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/etc.: case key â\x86\x92 {singular, plural}.\n\nNoun tables split by definiteness, folded into the key as a prefix:\n'indefinite nominative', 'definite genitive'. Adjective tables split by gender\n(suffixed: 'nominative feminine') and come one per declension class and degree,\nfolded in as a caption-derived prefix: 'strong nominative feminine',\n'weak superlative accusative neuter', 'comparative dative masculine'.\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch\non it before reading the body."}}, 'title': 'norse_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/NorseNominalParadigm'}, {'$ref': '#/$defs/NorseVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'verbal': '#/$defs/NorseVerbalParadigm', 'nominal': '#/$defs/NorseNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
norse_search
Look an Old Norse word up
Look an Old Norse word up on Wiktionary and return its senses plus full declension/conjugation tables — attested content (including the verbs' mediopassive voice), not invented. Any form of the word works; an inflected query is resolved to its lemma automatically via previously cached paradigms and the result notes the resolution. With search_language='eng' the query is an English word instead: the result lists its per-sense Old Norse 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).
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['non', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``non`` looks an Old Norse word up directly (any of its\nforms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Old\nNorse translations, and each distinct lemma is then looked up normally.'}}, 'title': 'norse_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Old Norse (default): a SINGLE Old Norse word, any form â\x80\x94 an inflected form ('mÇ«nnum') is resolved to its lemma ('maðr') automatically via cached paradigms, and the result says so; diacritics are optional once a paradigm is cached ('madr' and 'mathr' both find maðr, 'monnum' finds mÇ«nnum). English (search_language='eng'): the English word whose Old Norse equivalents you want â\x80\x94 multiword entries like 'apple tree' work."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many inflection tables to expand this call (0â\x80\x9312). 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': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full declension/conjugation table is returned INLINE â\x80\x94 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 â\x80\x94 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."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'non', 'description': "Language the query word is in: 'non' (default) looks the Old Norse word up directly; 'eng' finds the Old Norse equivalents of an English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in English either way."}}}
出力スキーマ
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Page title â\x80\x94 feed to norse_get_inflections.'}, 'headword': {'type': 'string', 'title': 'Headword'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': 'POS section â\x80\x94 feed to norse_get_inflections.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': "One Old Norse entry on the page: the headword (page title) with one\npart-of-speech section's senses."}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'examples': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Examples'}}, 'description': 'One sense of an entry: the (HTML-stripped) Wiktionary definition line.'}, 'SearchLanguage': {'enum': ['non', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``non`` looks an Old Norse word up directly (any of its\nforms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Old\nNorse translations, and each distinct lemma is then looked up normally.'}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'gender': {'type': 'string', 'title': 'Gender', 'default': '', 'description': "Grammatical gender as marked, e.g. 'n'."}, 'display': {'type': 'string', 'title': 'Display', 'default': '', 'description': 'Rendered form when it differs from the title.'}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "Usage qualifier as marked, e.g. 'poetic'; else empty."}}, 'description': '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).'}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/NorseNominalParadigm'}, {'$ref': '#/$defs/NorseVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'verbal': '#/$defs/NorseVerbalParadigm', 'nominal': '#/$defs/NorseNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': 'The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.'}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / hint.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Part-of-speech section, e.g. 'verb', 'noun'."}}, 'description': 'A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``norse_get_inflections`` â\x80\x94 or ask\n``search`` to include the table inline (``forms``).'}, 'NorseNumberForms': {'type': 'object', 'title': 'NorseNumberForms', 'properties': {'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the two number forms of one case key. Forms are verbatim\nnormalized Old Norse; alternates stay comma-separated as Wiktionary renders\nthem. A number the table doesn't give (defective paradigms) is an empty\nstring."}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old Norse section, no table, or\nthe page doesn't exist). ``found`` is False and there is no body."}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The sense gloss the source table carries.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': 'One English sense (a translations table) and the Old Norse terms it offers.'}, 'NorseVerbalParadigm': {'type': 'object', 'title': 'NorseVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood and tense (lower-case: 'indicative present', 'subjunctive past', 'imperative present'; the mediopassive table's keys are prefixed â\x80\x94 'mediopassive indicative past') â\x86\x92 person and number ('first singular' â\x80¦ 'third plural') â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'present participle', 'past participle'; mediopassive-prefixed for that voice) â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood and tense â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite forms\n(infinitive and the participles). The mediopassive voice renders as its own\ntable and its keys carry a 'mediopassive ' prefix; active keys are bare."}, 'NorseNominalParadigm': {'type': 'object', 'title': 'NorseNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; nouns prefix the definiteness â\x80\x94 'indefinite nominative'; adjectives prefix the caption-derived declension class/degree and suffix the gender â\x80\x94 'strong nominative feminine') â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/NorseNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/etc.: case key â\x86\x92 {singular, plural}.\n\nNoun tables split by definiteness, folded into the key as a prefix:\n'indefinite nominative', 'definite genitive'. Adjective tables split by gender\n(suffixed: 'nominative feminine') and come one per declension class and degree,\nfolded in as a caption-derived prefix: 'strong nominative feminine',\n'weak superlative accusative neuter', 'comparative dative masculine'.\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch\non it before reading the body."}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means Old Norse translations were found â\x80\x94 entries may still be empty when none of them could be expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for non): the Old Norse terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': 'The original inflected query when resolved; else empty. non queries only â\x80\x94 always empty for eng results.'}, 'search_method': {'enum': ['direct', 'lemma_index', 'translations'], 'type': 'string', 'title': '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; 'translations' = an English query resolved via Wiktionary translation tables."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': 'The lemma actually searched when resolved; else empty. non queries only â\x80\x94 always empty for eng results.'}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', '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).'}}, 'description': 'The result of a dictionary search.'}
追加
norse_get_inflections
2026年9月17日12:38
追加
norse_search
2026年9月17日12:38