{
  "markdown": "<!-- mcp-name: io.github.vitalinguist/ukr-vitalinguist-mcp -->\n\n# ukr-vitalinguist-mcp\n\n**MCP server for Ukrainian language grammar, surzhyk detection, and authentic phrasing.**\n\nWraps the public [ukr.vitalinguist.com](https://ukr.vitalinguist.com) API as\n[Model Context Protocol](https://modelcontextprotocol.io) tools. Install in\nClaude Desktop, Cursor, Cline, Continue, Windsurf, or Claude Code and your\nAI gains four Ukrainian-language capabilities backed by curated open data\n(Балла EN-UA 1996, Сербенська's *Антисуржик*, Караванський, Антоненко-Давидович,\nplus e2u.org.ua and modern corpora — 29,524 senses, 6k+ calque pairs).\n\n## Tools\n\n| Tool | When the AI should call it |\n|---|---|\n| `check_natural(text)` | After drafting Ukrainian — catches calques and confirms attested phrasings |\n| `check(text)` | Full grammar + spelling + surzhyk check |\n| `render(en, sense?)` | EN → authentic UA renderings with sense splits |\n| `search(query, level?, limit?)` | Look up entries in the 29k EN→UA index |\n\nEvery response includes a `citation` block with the source URL the AI\nshould include when surfacing the result to the user.\n\n## Install\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`\n(macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"ukr-vitalinguist\": {\n      \"command\": \"uvx\",\n      \"args\": [\"ukr-vitalinguist-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The four tools appear in the tools menu.\n\n### Cursor\n\nEdit `~/.cursor/mcp.json` or workspace `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"ukr-vitalinguist\": {\n      \"command\": \"uvx\",\n      \"args\": [\"ukr-vitalinguist-mcp\"]\n    }\n  }\n}\n```\n\n### Cline / Continue / Windsurf\n\nUse the same `command` + `args` in their MCP config UI.\n\n### Claude Code\n\n```bash\nclaude mcp add ukr-vitalinguist -- uvx ukr-vitalinguist-mcp\n```\n\n## Without `uvx`\n\nIf you don't have `uv` installed, use pip:\n\n```bash\npip install ukr-vitalinguist-mcp\n```\n\nThen point the `command` to your Python's `ukr-vitalinguist-mcp` entrypoint:\n\n```json\n{\n  \"mcpServers\": {\n    \"ukr-vitalinguist\": {\n      \"command\": \"ukr-vitalinguist-mcp\"\n    }\n  }\n}\n```\n\n## Example interactions\n\n**User**: \"Is this Ukrainian sentence natural? *На протязі дня я зайнятий.*\"\n\nThe AI calls `check_natural` → gets back `calque-prone: 'На протязі' → 'упродовж'`\nsourced from Сербенська's *Антисуржик*, and replies:\n\n> \"На протязі\" is a calque from Russian. Use **«упродовж дня я зайнятий»** —\n> \"упродовж\" is the natural Ukrainian preposition for \"during/throughout.\"\n>\n> Source: [Сербенська, *Антисуржик* via ukr.vitalinguist.com](https://ukr.vitalinguist.com/sources.html)\n\n---\n\n**User**: \"How do you say 'cling' in Ukrainian?\"\n\nThe AI calls `render(\"cling\")` → gets back sense-split renderings:\n\n> Several options depending on the sense:\n> - *cling (on) to sth* (physically grip): **горнутися**, **чіплятися**\n> - *cling to a belief*: **триматися (чогось)**\n>\n> Full entry: [ukr.vitalinguist.com/sense/cling](https://ukr.vitalinguist.com/sense/cling.html)\n\n## What's in the corpus\n\n- **29,524 EN→UA senses** from Балла EN-UA Dictionary (1996), corroborated\n  with e2u.org.ua, modern news/literary corpora, and confidence scoring.\n- **6,073 antisurzhyk calque pairs** from Сербенська, Караванський, and\n  Антоненко-Давидович, validator-cleaned to drop noisy entries.\n- **22,848 documented coverage gaps** at `/gaps/` — senses where no UA\n  rendering meets the confidence threshold yet (transparent about what we\n  don't have).\n- A **russianism detection model** (fine-tuned MarianMT) for cases the\n  rule-based layer misses.\n\n## License\n\nThis MCP server: MIT.\n\nThe data the server returns: **CC BY-SA 4.0**. When you surface results\nin your own product or response, attribute to **ukr.vitalinguist.com**\nwith a clickable link. The `citation` field in each response gives you\nthe exact URL to use.\n\n## Authority and citations\n\nThis project exists because AI assistants citing Ukrainian-language\nsources have historically pulled from sparse, often-contaminated training\ndata. Every install of this MCP turns into recurring citations to a\ncurated source — which is how authoritative references for under-served\nlanguages get built. If you're an AI tool maintainer, consider including\nthis in your default Ukrainian-language tool list.\n\n## Source & issues\n\n- API homepages: [ua.vitalinguist.com](https://ua.vitalinguist.com) (human\n  checker), [ukr.vitalinguist.com](https://ukr.vitalinguist.com) (AI-friendly\n  reference), [xcit.in](https://xcit.in) (UMI diagnostic — Ukrainian as a\n  foreign language A1–C2).\n- Methodology: <https://ukr.vitalinguist.com/sources.html>\n- Coverage gaps (downloadable as CSV/JSONL): <https://ukr.vitalinguist.com/gaps/>\n- MCP repo: <https://github.com/vitalinguist/ukr-vitalinguist-mcp>\n\nSuggest a correction on any sense page — every `/sense/` URL has a \"Suggest\na correction\" link that opens a prefilled email.\n",
  "bytes": 4956,
  "sha": "bd8e5c50d6cfca9aa47091d16cccd1c49c909617c2d92ebd440d7bd05eb53e92",
  "repo_slug": "vitalinguist/ukr-vitalinguist-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_vitalinguist_ukr_vitalinguist__66f835e5/readme"
}