Icelandic Morphology MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Icelandic Morphology MCP ServerWhat is the dative plural of the word 'kona'?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Icelandic Morphology MCP Server
An MCP (Model Context Protocol) server that provides Icelandic word inflection lookups using BinPackage.
This server enables LLMs to query the Database of Icelandic Morphology (BÍN) to answer questions about Icelandic word inflections, such as:
"Hvernig beygist orðið hestur?" (How does the word hestur inflect?)
"Hvað er þágufall fleirtölu af kona?" (What is the dative plural of kona?)
"Er síamskattarkjóll rétt orð?" (Is síamskattarkjóll a correct word?)
Installation
pip install icelandic-morphology-mcpOr install from source:
git clone https://github.com/mideind/icelandic-morphology-mcp
cd icelandic-morphology-mcp
pip install -e .Related MCP server: Icelandic Law MCP
Tools
The server exposes three tools:
lookup_word
Look up an Icelandic word form and return all matching entries.
lookup_word("færi")
# Returns all interpretations: verb forms of "fara", "færa", noun "færi", etc.get_variant
Get a specific grammatical variant of a word.
get_variant("hestur", "kk", ["ÞGF", "FT"])
# Returns: "hestum" (dative plural)
get_variant("fallegur", "lo", ["EVB", "KVK"])
# Returns: "fallegasta" (superlative weak, feminine)get_lemma
Find the lemma(s) and word class(es) for a word form.
get_lemma("hestana")
# Returns: [{"lemma": "hestur", "word_class": "kk"}]Usage with Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"icelandic-morphology": {
"command": "icelandic-morphology-mcp"
}
}
}Or if running from source:
{
"mcpServers": {
"icelandic-morphology": {
"command": "python",
"args": ["-m", "icelandic_mcp.server"],
"cwd": "/path/to/icelandic-morphology-mcp"
}
}
}Grammatical Tags
The server uses standard BÍN grammatical tags:
Tag | Meaning |
| Cases: nominative, accusative, dative, genitive |
| Number: singular, plural |
| Article: definite, indefinite |
| Gender: masculine, feminine, neuter |
| Class: verb, adjective, noun |
| Adjective degree/form |
| Voice: active, middle |
| Mood: indicative, subjunctive, infinitive |
| Tense: present, past |
| Person: 1st, 2nd, 3rd |
For full documentation, see BÍN tagset.
License
MIT License. See LICENSE for details.
The underlying BÍN data is licensed under CC BY-SA 4.0 by The Árni Magnússon Institute for Icelandic Studies.
Credits
BinPackage by Miðeind ehf.
Database of Icelandic Morphology (BÍN) by The Árni Magnússon Institute
Available Tools
3 toolsget_lemmaA
Find the lemma(s) and word class(es) for an Icelandic word form.
Given any inflected form, this returns all possible base forms (lemmas)
and their word classes.
Args:
word: The word form to analyze (e.g., "hestana", "laga", "færi")
Returns:
A dict with:
- lemmas: List of possible lemmas, each with lemma and word_class
| Name | Required | Description | Default |
|---|---|---|---|
| word | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adequately describes the core functionality (returns all possible base forms and word classes) and output structure, but lacks details on error handling, rate limits, authentication needs, or performance characteristics that would be helpful for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement, parameter documentation, and return value explanation in just three sentences. Every sentence adds essential information with zero wasted words, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no annotations and no output schema, the description provides good coverage of purpose, parameters, and return structure. However, it lacks explicit error cases or limitations (e.g., handling of non-Icelandic words, empty inputs), which would make it fully complete for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must fully compensate. It explicitly documents the single parameter 'word' with clear semantics ('The word form to analyze'), provides examples, and explains what it represents (inflected Icelandic form), adding significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb ('find') and resource ('lemma(s) and word class(es)'), explicitly distinguishes from siblings by focusing on Icelandic word form analysis, and provides concrete examples ('hestana', 'laga', 'færi') to illustrate its unique function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context ('Given any inflected form') and implies usage for Icelandic language analysis, but does not explicitly state when to use this tool versus the sibling tools (get_variant, lookup_word), nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_variantA
Get a specific grammatical variant of an Icelandic word.
This converts a word to a different case, number, person, tense, etc.
For example, convert "hestur" to dative plural, or "fallegur" to superlative.
Args:
word: The base word to convert (e.g., "hestur", "fallegur", "fara")
word_class: The word class to disambiguate the word. Common values:
- "kk" (masculine noun), "kvk" (feminine noun), "hk" (neutral noun)
- "no" (any noun)
- "so" (verb)
- "lo" (adjective)
target_form: List of grammatical feature tags to request. Examples:
- ["ÞGF"] - dative case
- ["ÞGF", "FT"] - dative plural
- ["NF", "FT", "gr"] - nominative plural with definite article
- ["nogr"] - indefinite form (no article)
- ["EVB", "KVK"] - superlative weak form, feminine
- ["FH", "NT", "3P"] - indicative, present tense, 3rd person
Returns:
A dict with:
- variants: List of matching variants, each with inflection_form,
grammatical_tag, and lemma
| Name | Required | Description | Default |
|---|---|---|---|
| word | Yes | ||
| word_class | Yes | ||
| target_form | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes what the tool does (converts words to specified grammatical forms), provides examples of input-output behavior, and outlines the return structure. It doesn't mention error cases, rate limits, or authentication needs, but covers core functionality well given the annotation gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement, explanatory sentence, examples, and well-organized parameter documentation. Every sentence earns its place by providing essential information without redundancy, and it's appropriately front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of grammatical transformation with three parameters and no output schema, the description does an excellent job explaining inputs and providing return value documentation. It could be more complete by explicitly mentioning error conditions or limitations, but it covers the essential context needed for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing detailed semantic explanations for all three parameters. It defines 'word' with examples, explains 'word_class' with common values and meanings, and thoroughly documents 'target_form' with multiple examples and tag explanations, adding significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Get', 'converts') and resources ('grammatical variant of an Icelandic word'), distinguishing it from siblings like 'get_lemma' (which likely returns base forms) and 'lookup_word' (which likely provides definitions or general information). It provides concrete examples ('convert "hestur" to dative plural') that illustrate its unique functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool through examples and parameter explanations, suggesting it's for grammatical transformation rather than lemma retrieval or general lookup. However, it doesn't explicitly state when NOT to use it or name alternatives like 'get_lemma' or 'lookup_word', which would be needed for a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_wordA
Look up an Icelandic word form and return all matching entries from BÍN.
This finds all possible interpretations of a word form, including its
lemma(s), word class(es), and grammatical tags.
Args:
word: The Icelandic word form to look up (e.g., "hestur", "færi", "hestana")
at_sentence_start: If True, also check lowercase forms when the word
is capitalized (useful for words at the start of sentences)
Returns:
A dict with:
- found: Whether any matches were found
- search_key: The actual search key used (may differ if z->s replacement occurred)
- entries: List of matching entries, each with lemma, word_class, domain,
inflection_form, and grammatical_tag
| Name | Required | Description | Default |
|---|---|---|---|
| word | Yes | ||
| at_sentence_start | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so well by detailing the tool's behavior: it performs a lookup, returns a structured dict with specific fields (found, search_key, entries), and explains the search key adjustment (z->s replacement). It covers the output format comprehensively, though it lacks information on error handling or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose, followed by detailed explanations of arguments and returns in a structured format. Every sentence adds value, with no redundant information, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, no annotations, no output schema), the description is largely complete, covering purpose, usage, parameters, and return values in detail. However, it could benefit from mentioning potential limitations or error cases, slightly reducing completeness for a tool with no structured output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate, which it does excellently. It adds meaning beyond the schema by explaining what 'word' is (e.g., 'Icelandic word form' with examples like 'hestur') and clarifies the purpose of 'at_sentence_start' (checking lowercase forms for capitalized words at sentence start), providing practical context not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Look up an Icelandic word form'), the resource ('BÍN'), and the outcome ('return all matching entries'). It distinguishes from siblings by specifying it finds 'all possible interpretations' including lemma, word class, and grammatical tags, unlike get_lemma or get_variant which likely focus on specific aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool (e.g., for looking up word forms and their interpretations) and includes a practical example for the 'at_sentence_start' parameter. However, it does not explicitly state when not to use it or name alternatives among siblings, though the distinction is implied by the detailed functionality described.
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. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
get_lemma - First observed
get_variant - First observed
lookup_word
TDQS
Each tool has a clearly distinct purpose with no overlap. get_lemma finds base forms from inflections, get_variant generates specific grammatical variants, and lookup_word provides comprehensive dictionary-style lookups. An agent can easily distinguish between analyzing forms, generating variants, and looking up entries.
All three tools follow a consistent verb_noun pattern (get_lemma, get_variant, lookup_word) with clear, descriptive names. The naming convention is uniform throughout the set, making the tools predictable and easy to understand.
Three tools is reasonable for a morphology server, covering analysis, generation, and lookup operations. While slightly minimal, each tool serves a distinct and essential function. A few additional tools (like batch processing or error handling) could enhance completeness, but the current count is appropriate for the core functionality.
The tool set covers the essential workflows for Icelandic morphology: analyzing inflected forms, generating grammatical variants, and looking up word entries. Minor gaps exist, such as batch processing or handling edge cases like compound words, but agents can work effectively with the provided tools for most tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Grounds LLMs in real Old Norse: lemmas, mediopassive paradigms, English→Old Norse lookup.
Grounds LLMs in the real Livonian dictionary: attested words, inflections, romanization.
AI-powered biblical research tools — lexicons, morphology, manuscripts, and more.
Grounds LLMs in real Latin: Wiktionary lemmas, Morpheus inflections, citations.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to search and retrieve Latin word definitions and lemmas from the Logeion dictionary database, with support for automatic lemmatization via spaCy.3MIT
- AlicenseAqualityFmaintenanceProvides access to 1,709 Icelandic statutes and 19,026 provisions with full-text search, citation validation, and EU/EEA law integration, enabling legal research and compliance checks through natural language queries.11931Apache 2.0
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants instant access to WHO ICD-10 and ICD-11 classification systems for code lookup, search, autocoding, validation, and hierarchy browsing via 12 tool actions.1MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to BookBrainz open book metadata, enabling search, lookup, and browsing of works, editions, authors, publishers, and series via natural language or direct tool calls.15MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mideind/icelandic-morphology-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server