Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Locale vocabulary audit (calques, inventeds, foreign slips). Local CLI via stdio — no hosted API.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"lexaudit": {
"command": "uvx",
"args": [
"lexaudit"
]
}
}
}在终端中运行这条命令
claude mcp add lexaudit -- uvx lexaudit粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"lexaudit": {
"command": "uvx",
"args": [
"lexaudit"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"lexaudit": {
"type": "stdio",
"command": "uvx",
"args": [
"lexaudit"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 nareyko 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.1)于8天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Agent Data Tools: Utilities
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
103 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Finds odd, wrong or copied-from-another-language words in your texts, and tells you which pages to fix first.
You write or translate articles, courses or documentation. A normal spellchecker shouts about every brand name, abbreviation and long German word, and still misses the words that really hurt: a word copied from another language ("calque"), a real word used with the wrong meaning ("false friend"), or a word someone invented.
lexaudit reads your files, ignores the harmless things, and gives you a short ranked list: "look at this page first." It runs on an ordinary laptop in about a second. No graphics card, no internet, no account.
It only reports. It never changes your texts.
Unknown terms? See the glossary. 0.3.0 prep and publish path: docs/p1-INDEX.md.
en), German (de), Spanish (es), Polish (pl), Russian (ru), Swedish (sv), Ukrainian (uk)pipx run lexaudit audit --path . --locale en --check
Missing spelling dictionaries download automatically into your user cache. No GPU. No config file required. Exit code 1 means confirmed calques or invented words remain.
Optional helpers: lexaudit doctor, lexaudit fetch-dicts, lexaudit init.
# One file or folder, no settings file needed
uv run lexaudit audit --path ./README.md --locale en
uv run lexaudit init uv run lexaudit audit --locale en
The reports are in the output folder, one subfolder per language. Start with queue.md:
| score | unique_suspects | path | top_words |
|---|---|---|---| | 12.0 | 2 | docs/en/en-04-defect-known-calques.md | orientir surveyness | | 6.0 | 1 | docs/en/en-05-defect-false-friend.md | denseness | | 1.6 | 2 | docs/en/en-03-clean-unseen-jargon.md | vinylester haulout |
A higher score means "look here first". top_words shows the words behind the score.
uv run lexaudit explain orientir --locale en
word: orientir (normalized: orientir, locale: en)
status: calque (tier: confirmed) reason: loan-calque-orientir | detectors: calque, hunspell editorial hint: working rule / ballpark / figures - not orientir
uv run lexaudit audit --config examples/synthetic-demo/lexaudit.config.yaml
Then open tmp/synthetic-demo-out/ /queue.md.
We built a 42-page test set in all 7 languages: 21 clean technical pages and 21 pages with planted problems. Some problems are known to the rules, some are brand new words the rules have never seen. Details: docs/synthetic-benchmark.md.
| Setup | Bad page in top 2 | Bad page in top 3 | Recall@2 | Recall@3 | MAP (0 to 1, higher is better) | Known problems found | Brand-new neologisms found | Combined planted problems | Clean-page FP / 1k tokens | Time |
|---|---|---|---|---|---|---|---|---|---|---|
| A. Plain spellchecker | 0.0% | 23.8% | 0.0% | 23.8% | 0.389 | 0.0% (0/26) | 0.0% (0/7) | 0.0% (0/33) | 81.2 | 0.48 s |
| B. Plus your word lists | 7.1% | 23.8% | 4.8% | 23.8% | 0.421 | 0.0% (0/26) | 0.0% (0/7) | 0.0% (0/33) | 47.1 | 0.56 s |
| C. Full lexaudit | 100.0% | 100.0% | 66.7% | 100.0% | 1.000 | 100.0% (26/26) | 100.0% (7/7) | 100.0% (33/33) | 47.1 | 2.97 s |
What this means:
Recall@2 is 66.7% when the top-2 slots are both bad (Precision@2 = 100.0%). Precision@3 / Recall@3 are 100.0% (singleton inventeds outrank repeated domain jargon).domain-term-candidate, nearly zero-weighted in ranking, and listed under Suggested glossary additions.Start with docs/README.md.
| Guide | What you learn |
|---|---|
| Glossary | Every term in plain words |
| Benchmark | The 42-page test, step by step |
| Architecture | What goes in, what comes out |
| Pipeline | The gates every word passes |
| CLI reference | All commands |
| Agent workflow | From report to fixed page |
| Scores and metrics | How pages are scored |
# Re-rank pages, filter by source (docs, academy, model_pack)
uv run lexaudit rank --locale ru --mode weighted --sources=docs
uv run lexaudit expand-needle --needle orientir --locale all \ --write-queue /abs/path/to/rewrite-queue.md
uv run lexaudit label --locale ru --top-pages 20 --top-words 50 --tiers likely,weak --profile cpu
uv run lexaudit diff --baseline .../report.json --current .../report.json --out /tmp/diff.json
Setup and checks:
uv sync --extra dev
uv run ruff check . && uv run ruff format --check . uv run mypy --strict src/ uv run pytest uv run python scripts/crap_report.py uv run mutmut run && uv run python scripts/check_mutation_score.py --min-percent 80 uv build
Test layers: unit and integration tests (branch coverage 80% or more), the 7-language benchmark, property-based fuzzing (Hypothesis), golden regression with a read-only check of your files, JSON Schema contract, complexity gate (CRAP), mutation testing (kill rate 80% or more).
Pictures in docs/images are generated from code: run python scripts/render_diagrams.py (needs Inkscape and Pillow). Never edit the JPG files by hand.
| What | License |
|---|---|
| PyPI / this repo’s code (CLI, library, YAML rules, packs) | [MIT](LICENSE) — use in products and private SaaS is fine under MIT |
| Intended future hosted multi-tenant network service (not shipped here) | Policy text: AGPL-3.0-or-later — not a second license on the MIT wheel |
| Benchmark corpora & fetched spelling dictionaries | LICENSE-THIRD-PARTY.md + upstream *.license.txt |
Full wording: docs/licensing.md. Adding rules: docs/contributing-rules.md.
Created and maintained by Vadim Nareyko (github.com/nareyko). It grew out of auditing multilingual courses and encyclopedias at FairHelm.