Wraps the ukr.vitalinguist.com API to give Claude four Ukrainian language tools: check_natural() catches calques and confirms attested phrasings after you draft text, check() runs full grammar and surzhyk detection, render() translates English terms into authentic Ukrainian with sense splits, and search() queries a 29,524-sense EN-UA index. The corpus comes from Балла's 1996 dictionary, Сербенська's Антисуржик, and modern corpora, with over 6,000 documented calque pairs. Reach for this when working with Ukrainian content and you need something stronger than generic spell-check. Every response includes a citation field with the source URL. Installs via uvx in Claude Desktop, Cursor, Cline, and other MCP-compatible editors.
MCP server for Ukrainian language grammar, surzhyk detection, and authentic phrasing.
Wraps the public ukr.vitalinguist.com API as Model Context Protocol tools. Install in Claude Desktop, Cursor, Cline, Continue, Windsurf, or Claude Code and your AI gains four Ukrainian-language capabilities backed by curated open data (Балла EN-UA 1996, Сербенська's Антисуржик, Караванський, Антоненко-Давидович, plus e2u.org.ua and modern corpora — 29,524 senses, 6k+ calque pairs).
| Tool | When the AI should call it |
|---|---|
check_natural(text) | After drafting Ukrainian — catches calques and confirms attested phrasings |
check(text) | Full grammar + spelling + surzhyk check |
render(en, sense?) | EN → authentic UA renderings with sense splits |
search(query, level?, limit?) | Look up entries in the 29k EN→UA index |
Every response includes a citation block with the source URL the AI
should include when surfacing the result to the user.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"ukr-vitalinguist": {
"command": "uvx",
"args": ["ukr-vitalinguist-mcp"]
}
}
}
Restart Claude Desktop. The four tools appear in the tools menu.
Edit ~/.cursor/mcp.json or workspace .cursor/mcp.json:
{
"mcpServers": {
"ukr-vitalinguist": {
"command": "uvx",
"args": ["ukr-vitalinguist-mcp"]
}
}
}
Use the same command + args in their MCP config UI.
claude mcp add ukr-vitalinguist -- uvx ukr-vitalinguist-mcp
uvxIf you don't have uv installed, use pip:
pip install ukr-vitalinguist-mcp
Then point the command to your Python's ukr-vitalinguist-mcp entrypoint:
{
"mcpServers": {
"ukr-vitalinguist": {
"command": "ukr-vitalinguist-mcp"
}
}
}
User: "Is this Ukrainian sentence natural? На протязі дня я зайнятий."
The AI calls check_natural → gets back calque-prone: 'На протязі' → 'упродовж'
sourced from Сербенська's Антисуржик, and replies:
"На протязі" is a calque from Russian. Use «упродовж дня я зайнятий» — "упродовж" is the natural Ukrainian preposition for "during/throughout."
User: "How do you say 'cling' in Ukrainian?"
The AI calls render("cling") → gets back sense-split renderings:
Several options depending on the sense:
- cling (on) to sth (physically grip): горнутися, чіплятися
- cling to a belief: триматися (чогось)
Full entry: ukr.vitalinguist.com/sense/cling
/gaps/ — senses where no UA
rendering meets the confidence threshold yet (transparent about what we
don't have).This MCP server: MIT.
The data the server returns: CC BY-SA 4.0. When you surface results
in your own product or response, attribute to ukr.vitalinguist.com
with a clickable link. The citation field in each response gives you
the exact URL to use.
This project exists because AI assistants citing Ukrainian-language sources have historically pulled from sparse, often-contaminated training data. Every install of this MCP turns into recurring citations to a curated source — which is how authoritative references for under-served languages get built. If you're an AI tool maintainer, consider including this in your default Ukrainian-language tool list.
Suggest a correction on any sense page — every /sense/ URL has a "Suggest
a correction" link that opens a prefilled email.
UKR_VITAL_HUMAN_APIOverride human-checker API base (default: https://ua.vitalinguist.com)
UKR_VITAL_REFERENCE_APIOverride reference API base (default: https://ukr.vitalinguist.com)
UKR_VITAL_MCP_TIMEOUTPer-request timeout in seconds (default: 30)