Ukrainian Language Reference (vitalinguist)

io.github.vitalinguistPublished by GitHub account vitalinguistv0.1.1Updated Oct 24, 2026

Ukrainian grammar/surzhyk check + authentic-rendering lookup. Wraps ukr.vitalinguist.com API.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Lets an assistant check Ukrainian grammar, spelling and surzhyk, and look up authentic Ukrainian renderings of English words.

What you can do
Wraps the ukr.vitalinguist.com reference API as four tools: check_natural for calque and naturalness checks on drafted Ukrainian, check for full grammar, spelling and surzhyk checking, render for English-to-Ukrainian renderings split by sense, and search for looking up entries in a roughly 29,000-sense English-to-Ukrainian index. Responses include a citation block pointing to the source the assistant should surface.
When to use it
Useful when an assistant writes or reviews Ukrainian text and needs to catch Russian-influenced calques, confirm attested phrasing, or find sense-appropriate Ukrainian equivalents for English words. It is aimed at Ukrainian-language drafting and reference work rather than general translation.
Requirements
Runs locally over stdio as a PyPI package, normally launched with uvx or installed with pip, so Python and either uv or pip are needed. It calls remote APIs over the network; the base URLs can be overridden with UKR_VITAL_HUMAN_API and UKR_VITAL_REFERENCE_API, and UKR_VITAL_MCP_TIMEOUT sets the per-request timeout. No authentication is declared.
Before you install
Text submitted for checking is sent to the remote vitalinguist APIs, so avoid sending confidential or unpublished material. The API base URLs can be redirected through UKR_VITAL_HUMAN_API and UKR_VITAL_REFERENCE_API, so confirm they point where you expect before relying on results.

Installation

In SourceWeft

  1. Open Ukrainian Language Reference (vitalinguist) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

ukr-vitalinguist-mcp

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).

Tools

ToolWhen 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.

Install

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "ukr-vitalinguist": {      "command": "uvx",      "args": ["ukr-vitalinguist-mcp"]    }  }}

Restart Claude Desktop. The four tools appear in the tools menu.

Cursor

Edit ~/.cursor/mcp.json or workspace .cursor/mcp.json:

json
{  "mcpServers": {    "ukr-vitalinguist": {      "command": "uvx",      "args": ["ukr-vitalinguist-mcp"]    }  }}

Cline / Continue / Windsurf

Use the same command + args in their MCP config UI.

Claude Code

bash
claude mcp add ukr-vitalinguist -- uvx ukr-vitalinguist-mcp

Without uvx

If you don't have uv installed, use pip:

bash
pip install ukr-vitalinguist-mcp

Then point the command to your Python's ukr-vitalinguist-mcp entrypoint:

json
{  "mcpServers": {    "ukr-vitalinguist": {      "command": "ukr-vitalinguist-mcp"    }  }}

Example interactions

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."

Source: Сербенська, Антисуржик via ukr.vitalinguist.com


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

What's in the corpus

  • 29,524 EN→UA senses from Балла EN-UA Dictionary (1996), corroborated with e2u.org.ua, modern news/literary corpora, and confidence scoring.
  • 6,073 antisurzhyk calque pairs from Сербенська, Караванський, and Антоненко-Давидович, validator-cleaned to drop noisy entries.
  • 22,848 documented coverage gaps at /gaps/ — senses where no UA rendering meets the confidence threshold yet (transparent about what we don't have).
  • A russianism detection model (fine-tuned MarianMT) for cases the rule-based layer misses.

License

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.

Authority and citations

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.

Source & issues

Suggest a correction on any sense page — every /sense/ URL has a "Suggest a correction" link that opens a prefilled email.

Source: README.md at commit 65c8f88

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.