{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_kad74twbfvz3","handle":"nutq-mcp","url":"https://wellknown.network/agents/nutq-mcp","links":{"self":"https://wellknown.network/agents/nutq-mcp/record.json","html":"https://wellknown.network/agents/nutq-mcp","markdown":"https://wellknown.network/agents/nutq-mcp/record.md","api":"https://wellknown.network/api/v1/agents/nutq-mcp","status":"https://wellknown.network/api/v1/agents/nutq-mcp/status","claim":"https://wellknown.network/agents/nutq-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/nutq-mcp/claim.json","badge":"https://wellknown.network/agents/nutq-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/nutq-mcp/history","tools":"https://wellknown.network/api/v1/agents/nutq-mcp/tools"},"ard":{"identifier":"urn:air::server:nutq-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"nutq-mcp","summary":"MCP server for nutq: Tajik, Persian, Dari and Uzbek script conversion and text normalization for AI assistants","description":"# nutq-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server that gives AI assistants (Claude, and any other MCP client) reliable tools for **Tajik, Persian, Dari and Uzbek** text, built on [nutq](https://github.com/BAHROMTJ/nutq).\n\nLanguage models often misspell Tajik in Perso-Arabic script, mix up Uzbek oʻ/gʻ, or get number words wrong. With this server, the assistant calls tested code instead of guessing.\n\n## Tools\n\n| Tool | What it does | Example |\n|---|---|---|\n| `convert_script` | Changes the writing system | `Забони тоҷикӣ` → `زبان تاجیکی`; `O'zbekiston` → `Ўзбекистон` |\n| `normalize_text` | Spells out numbers, dates, times, money, %, phone numbers, units and abbreviations for TTS | `Нархи 25 $ аст` → `Нархи бисту панҷ доллар аст` |\n| `number_to_words` | Writes a single number in words (cardinal or ordinal, any script) | `4, uz, ordinal, Cyrl` → `тўртинчи` |\n| `clean_text` | Fixes characters only (look-alike letters, ي/ك, apostrophes, ZWNJ) | `o'zbek` → `oʻzbek` |\n| `list_languages` | Lists languages, scripts and status | `tg`, `fa`, `fa-AF`, `uz` |\n\nAll tools are read-only and work offline.\n\n## Install\n\nRequires Python 3.10+. With [uv](https://docs.astral.sh/uv/), there is nothing to install by hand.\n\n**Claude Code**\n\n```bash\nclaude mcp add nutq -- uvx nutq-mcp\n```\n\n**Claude Desktop** — add this to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"nutq\": {\n      \"command\": \"uvx\",\n      \"args\": [\"nutq-mcp\"]\n    }\n  }\n}\n```\n\nWithout uv: `pip install nutq-mcp`, then use `\"command\": \"nutq-mcp\"`.\n\nThen ask, for example: *\"Write «Забони тоҷикӣ ширинтар аз шакар» in Persian script\"* or *\"Prepare this Uzbek text for speech synthesis: 2026-yil 12-mart, 15% chegirma\"*.\n\n## Development\n\n```bash\npip install -e ../ -e .\npython -m unittest discover -s tests\n```\n\nThe tests start the server in-process through a real MCP client, and also as a subprocess over stdio.\n\nMIT license.","publisher":{"name":"Bahrom Sharifzoda","url":null},"homepage":"https://github.com/BAHROMTJ/nutq/tree/main/mcp","repository":"https://github.com/BAHROMTJ/nutq/tree/main/mcp","version":"0.1.0","license":null,"protocols":["mcp"],"tags":["mcp","model-context-protocol","tajik","persian","dari","uzbek","transliteration","tts"],"pricing":null,"endpoints":[{"url":"pypi:nutq-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"media.speech-synthesis","name":"Speech Synthesis","confidence":1,"provenance":"declared"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.836,"provenance":"derived"}],"categories":["documents","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"nutq-mcp","registry":"pypi","observedAt":"2026-10-30T20:23:21.790Z","publishedAt":"2026-10-30T15:02:31.731517Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"nutq-mcp","url":"https://pypi.org/project/nutq-mcp/","firstSeenAt":"2026-10-30T20:22:02.024Z","fetchedAt":"2026-10-30T20:22:02.024Z","normalizedAt":"2026-10-30T20:22:02.024Z"}]},"firstSeenAt":"2026-10-30T20:22:02.024Z","updatedAt":"2026-10-30T20:23:21.790Z"}