Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Predict query cost, explain the plan, and rewrite it before you run it — 12 DB engines.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
ANUMANA_DSN, ANUMANA_TARGETS, ANUMANA_POLICIES标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"anumana": {
"command": "uvx",
"args": [
"anumana-mcp"
],
"env": {
"ANUMANA_DSN": "your-value",
"ANUMANA_TARGETS": "your-value",
"ANUMANA_POLICIES": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add anumana --env ANUMANA_DSN=your-value --env ANUMANA_TARGETS=your-value --env ANUMANA_POLICIES=your-value -- uvx anumana-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"anumana": {
"command": "uvx",
"args": [
"anumana-mcp"
],
"env": {
"ANUMANA_DSN": "your-value",
"ANUMANA_TARGETS": "your-value",
"ANUMANA_POLICIES": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"anumana": {
"type": "stdio",
"command": "uvx",
"args": [
"anumana-mcp"
],
"env": {
"ANUMANA_DSN": "your-value",
"ANUMANA_TARGETS": "your-value",
"ANUMANA_POLICIES": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
ANUMANA_POLICIES env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月10日
注册名称已通过 GitHub 账户 sinhaKAN-ra 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:ANUMANA_DSN, ANUMANA_TARGETS
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.1)于36天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Google Jobs
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ 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.
Google Jobs listings (title, company, salary, description) + AI-training job boards.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Know what your query will cost — before you run it. *Inference-grade foresight for every query your AI writes.*
Anumana is an MCP server that catches the costly query your AI coding agent just wrote — *before* it runs or reaches a PR. It rides inside Claude, Cursor, Windsurf, Codex, Kiro, or any MCP-compatible agent, reads your real schema via EXPLAIN (never EXPLAIN ANALYZE), and tells you — in plain English — how the query behaves and whether it'll hurt.
Its scope is the queries AI agents actually generate: text-to-SQL today, and RAG / vector search (pgvector) alongside it — because an agent writing a similarity search has no idea it just triggered a brute-force scan over every embedding. Anumana is the feedback loop the agent is missing.
It is not another NL→SQL tool and not a DB-health dashboard. It does one job: stop AI-written database code from silently rotting production.
| Tool | What it answers |
|---|---|
| `preflight_query` | *"Will this SQL query be costly?"* — risk tier (cheap/moderate/expensive/dangerous), rows scanned vs returned, scan strategy, and overhead flags. Without running it. |
| `preflight_vector_search` | *"Will this RAG similarity search be costly?"* — catches the vector traps a plain SQL check misses: brute-force scan with no HNSW/IVFFlat index, top_k too large, unbounded search, metadata-filter/ANN recall loss. |
| `rewrite_query` | *"Make it cheaper."* — a verified equivalent rewrite with before/after planner cost, plus index suggestions gated on selectivity (won't tell you to index a column when the filter matches most of the table). engine="pgvector" suggests an HNSW index. |
| `explain_query_working` | *"How does this run?"* — two layers: the logical gather order (FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT) and the actual physical plan for your schema, step by step. |
| `preflight_schema_only` | *"I haven't given you DB creds yet."* — static analysis against pasted CREATE TABLE DDL, no connection. Offline, zero-trust front door. |
Engines (12, across 7 paradigms): Postgres and SQLite are live-tested;
MySQL, pgvector, MongoDB, DynamoDB, FalkorDB, Cassandra, Redshift, BigQuery,
Snowflake and ClickHouse ship as offline-verified, untested adapters that
are promoted to live one at a time. Full matrix + cost signals in
SUPPORTED_ENGINES.md. The adapter interface is in
DESIGN.md.
Postgres planner cost is unitless — not milliseconds (docs). Anumana never fakes a ~3.2s number. It reports rows scanned, scan strategy, a risk tier, overhead flags, and the cost-delta of a rewrite — all defensible, nothing invented. Every estimate carries an accuracy tier (UPPER_BOUND live, HEURISTIC schema-only).
pip install anumana-mcp # once published to PyPI
pip install -e .
Then point your agent at it. The user installs it; the agent discovers the tools automatically on connect via the MCP tools/list handshake — there is no store to publish into.
mcpServers config block{
"mcpServers": { "anumana": { "command": "uvx", "args": ["anumana-mcp"], "env": { "ANUMANA_DSN": "postgres://readonly@localhost:5432/mydb" } } } }
Use a **read-only** Postgres role. Anumana only ever `EXPLAIN`s, but read-only is
defence in depth. Omit ANUMANA_DSN to run in schema-only mode (DDL in, no DB).
python3 src/demo.py # runs the engine on a canned plan, zero deps
# a throwaway table, then:
ANUMANA_DSN=postgres://localhost/mydb anumana-mcp
See `src/live_test.py` for a `psql`-backed harness that proves the real
cost-delta and the selectivity gate on live data.
No run_query (we never execute your SQL), no NL→SQL (the agent already does that), no DB-health reports, no dollar-billing. Staying narrow is the strategy.
MIT — see LICENSE.
Contributions welcome — see CONTRIBUTING.md and the Code of Conduct. Adding a database engine is the highest- leverage contribution; the adapter contract is small (SUPPORTED_ENGINES.md).