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.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っている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月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント sinhaKAN-ra で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ANUMANA_DSN, ANUMANA_TARGETS
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.1)がレジストリに届いたのは34 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Readfirst
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
What to read and check before changing a file: project rules, risks, checks and tests per file.
作者のリポジトリから書かれたとおりにコピーしたものです。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).