プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

A2db

作者:agentic-engバージョン 0.2.1i★ 2iパソコンで動く
レジストリ名io.github.agentic-eng/a2db

インストール方法

What it does

Safe, read-only database access for AI agents. 5 databases, batch queries, SQLGlot.

  • Connects パソコンで動く
  • Account or key No key needed
  • Category データベース・データセット

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 2/3 合格 · あなたのパソコンで動きます

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  3. この設定を貼り付けて保存

    {
      "mcpServers": {
        "a2db": {
          "command": "uvx",
          "args": [
            "a2db"
          ]
        }
      }
    }
  4. Claude を終了してもう一度開く

  5. 試してみる

    A2db を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が A2db を使っていると言うか、回答に A2db のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ A2db につなげません

A2db はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · A2db につなげるアプリを使う

  • 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)

B · データベース・データセット の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  3. このコマンドを貼り付けて Enter

    claude mcp add --scope user a2db -- uvx a2db
  4. Claude Code で /mcp と入力

    A2db が一覧にあり、接続済みと表示されれば OK です

  5. 試してみる

    A2db を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が A2db を使っていると言うか、回答に A2db のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  3. Cursor の AI チャットを Agent モードで開く

  4. 試してみる

    A2db を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が A2db を使っていると言うか、回答に A2db のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  3. VS Code の AI チャットを Agent モードで開く

  4. 試してみる

    A2db を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が A2db を使っていると言うか、回答に A2db のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?A2db を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

claude mcp add --scope user a2db -- uvx a2db

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "a2db": {
      "command": "uvx",
      "args": [
        "a2db"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "a2db": {
      "command": "uvx",
      "args": [
        "a2db"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "a2db": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "a2db"
      ]
    }
  }
}

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

週あたりのダウンロードi
62/週
接続方法
パソコンで動く
最新バージョンi
0.2.1
レジストリ公開日i
2026年3月29日
コードの最終更新i
2026年4月13日
作者
agentic-eng
パッケージ
pypi: a2db
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント yoselabs で確認済みです

  • ! 注意

    今もメンテナンスされている

    コードの最終更新:7 か月前(6か月以上前)

  • ✓ 合格

    ライセンスがある

    Apache-2.0を使用

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

Google でログインして投稿

ユーザーレビュー

まだレビューはありません

Google でログインしてレビューを書く

データベース・データセットのほかのサーバーとの比較i

  • このカテゴリのほかの1170件のうち85%よりスターが多い
  • このカテゴリのほかの1170件のうち7%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1170件のうち49%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

A2dbは安全ですか?

当てはまる基本チェック3項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は7 か月前、最新バージョン(0.2.1)がレジストリに届いたのは8 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Dbx, MCP Toolbox for Databases, MCP Toolbox for Databases

同じカテゴリのほかの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Dbx

Query databases from AI agents using connections configured in DBX.

作者:t8y2広く使われている↓ 9446/週★ 3万6 か月前更新

パソコンで動く

MCP Toolbox for Databases

MCP Toolbox for Databases enables your agent to connect to your database.

作者:googleapis広く使われている★ 1.7万6 日前更新

パソコンで動く

MCP Toolbox for Databases

MCP Toolbox for Databases enables your agent to connect to your database.

作者:googleapis広く使われている★ 1.7万8 か月前更新

パソコンで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

🗄️ a2db

Agent-to-Database

Give AI agents safe, read-only access to your databases. One call, multiple queries, clean results.

5 databases · batch queries · pre-configured connections · SQLGlot read-only

Quick Start · MCP Tools · Security · Comparison · Setup


Agent: "Show me active users and their recent orders"

↓ a2db execute → 2 queries, 1 call, structured results ↓ Agent: "Got it — 847 active users, avg order $42.50"

Why a2db?

Most database MCP servers make you run one query at a time, repeat connection details on every call, and return results double-encoded inside JSON strings. a2db fixes all of that:

  • Pre-configured connections — define databases in .mcp.json with --register, agent queries immediately
  • Batch queries — run multiple named queries in a single tool call
  • Default connection — set connection once, use it across all queries in a batch
  • Clean output — structured JSON envelope with compact TSV data and per-query timing (see why TSV?)
  • Read-only enforced — SQLGlot AST parsing blocks all write operations
  • All drivers bundled — pip install a2db and you're done
  • Secrets stay in env — ${DB_PASSWORD} in DSNs, expanded only at connection time

Supported Databases

DatabaseDriverAsync
PostgreSQLasyncpgnative
SQLiteaiosqlitenative
MySQL / MariaDBmysql-connector-pythonwrapped
Oracleoracledbwrapped
SQL Serverpymssqlwrapped

Quick Start

pip install a2db
As an MCP Server (recommended)

Claude Code (with pre-configured connection):

claude mcp add -s user a2db -- a2db-mcp \

--register myapp/prod/main 'postgresql://user:${DB_PASSWORD}@host/mydb'

Claude Code (minimal — agent calls login on demand):

claude mcp add -s user a2db -- a2db-mcp

Claude Desktop / Cursor / any MCP client (.mcp.json):

{

"mcpServers": { "a2db": { "command": "uvx", "args": [ "a2db-mcp", "--register", "myapp/prod/main", "postgresql://user:${DB_PASSWORD}@host/mydb" ], "env": { "DB_PASSWORD": "your-password-here" } } } }

Multiple databases:

{

"args": [ "a2db-mcp", "--register", "myapp/prod/main", "postgresql://user:${DB_PASSWORD}@host/maindb", "--register", "myapp/prod/analytics", "postgresql://user:${DB_PASSWORD}@host/analytics" ] }

--register pre-registers connections at server startup — the agent can query immediately. Passwords use ${ENV_VAR} syntax and are expanded at connection time, never stored in plaintext.

As a CLI
# Save a connection (validates immediately)

a2db login -p myapp -e prod -d main 'postgresql://user:${DB_PASSWORD}@localhost/mydb'

Query

a2db query -p myapp -e prod -d main "SELECT * FROM users LIMIT 10"

JSON output

a2db query -p myapp -e prod -d main -f json "SELECT * FROM users LIMIT 10"

Explore schema

a2db schema -p myapp -e prod -d main tables a2db schema -p myapp -e prod -d main columns -t users

List / remove connections

a2db connections a2db logout -p myapp -e prod -d main

MCP Tools

ToolDescription
loginSave a connection — validates by connecting first
logoutRemove a saved connection
list_connectionsList connections (no secrets exposed)
executeRun named batch queries with pagination
search_objectsExplore schema — tables, columns, with detail levels
execute — the core tool

Named dict with default connection (preferred):

{

"connection": {"project": "myapp", "env": "prod", "db": "main"}, "queries": { "active_users": {"sql": "SELECT id, name FROM users WHERE active = true"}, "recent_orders": {"sql": "SELECT id, total FROM orders ORDER BY created_at DESC LIMIT 5"} } }

List format (auto-named q1, q2, ...):

{

"connection": {"project": "myapp", "env": "prod", "db": "main"}, "queries": [ {"sql": "SELECT COUNT(*) AS cnt FROM users"}, {"sql": "SELECT AVG(total) AS avg_order FROM orders"} ] }

Response (TSV format — default):

{

"active_users": { "data": "id\tname\n1\tAlice\n2\tBob\n3\tCharlie", "rows": 3, "truncated": false, "time_ms": 12 }, "recent_orders": { "data": "id\ttotal\n501\t129.00\n500\t49.99", "rows": 2, "truncated": false, "time_ms": 8 } }

No ::text casts needed — integers, floats, timestamps, arrays, NULLs all work natively.

Error context

When a query fails with a column error, a2db enriches the message:

column "nme" does not exist

Did you mean: name? Available columns: id (integer), name (text), email (text), active (integer)

Why TSV?

LLM context windows are expensive. JSON row data is verbose — every row repeats every column name, adds braces, commas, and quotes. TSV is a flat grid: one header row, then just values separated by tabs.

For a 100-row, 5-column result set, TSV typically uses 40-60% fewer tokens than JSON row format. The structured JSON envelope still gives you metadata (row count, truncation status) — only the row payload is TSV.

Set format="json" if you need full structured output with column names on every row.

Security

Read-Only Enforcement

Every query is parsed by SQLGlot before execution:

  • Blocked: INSERT, UPDATE, DELETE, DROP, TRUNCATE, ALTER, CREATE, GRANT, REVOKE
  • Bypass-resistant: multi-statement attacks and comment-wrapped writes are caught at the AST level, not just keyword matching
  • Allowed: SELECT, UNION, EXPLAIN, SHOW, DESCRIBE, PRAGMA

This is defense-in-depth — you should also use a read-only database user, but a2db won't let writes through even if the user has write permissions.

Write support is implemented in the core but not yet exposed via MCP. Planned: per-connection write permissions, explicitly enabled by the human operator — not the agent. See TODO.md.

Credential Storage

Connections are saved in ~/.config/a2db/connections/ as TOML files.

  • `${DB_PASSWORD}` syntax — environment variable references are stored literally and expanded only at connection time. Secrets stay in your environment, not on disk.
  • No secrets in list output — list_connections shows project/env/db and database type, never DSNs or passwords
  • Connection files are local to your machine and outside any repository
Deployment Scope

a2db currently runs as a local stdio MCP server. It inherits environment variables from the process that launches it (your shell, Claude Code, Docker). This is the standard model for local MCP servers — the same approach used by DBHub, Google Toolbox, and others.

Planned: remote HTTP transport with OAuth 2.1 per the MCP spec. For now, if running in Docker, inject secrets via environment variables at container runtime.

Comparison

Featurea2dbDBHubGoogle ToolboxPGMCPSupabase MCP
Databases5 (PG, SQLite, MySQL, Oracle, MSSQL)5 (PG, MySQL, MSSQL, MariaDB, SQLite)40+ (cloud + OSS)PG onlyPG (Supabase)
Batch queriesNamed dict + listSemicolon-separatedNoNoNo
Default connectionSet once, use for allPer-queryN/ASingle DBSingle project
Read-onlySQLGlot AST (enforced)Keyword check (config)Hint/annotationRead-only tx + regexConfig flag
Write supportPlanned (per-connection)Config flagVia tool definitionNoConfig flag
OutputJSON + TSV dataStructured textMCP protocolTable / JSON / CSVJSON
Schema discovery3 detail levelsDedicated toolPrebuilt toolsVia NL-to-SQLDedicated tools
Pre-configured--register in MCP configConfig fileYAML configEnv varCloud-managed
Credentials${ENV_VAR} in DSNDSN stringsEnv vars + GCP IAMEnv varOAuth 2.1
Drivers bundledAll includedAll includedVariesBuilt-inManaged
CLIYesNoYesYesNo
Error contextColumn suggestions + typesNoNoNoNo
LicenseApache 2.0MITApache 2.0Apache 2.0Apache 2.0

When to use what:

  • a2db — multi-DB batch queries with clean output, agent-first design, fast setup
  • DBHub — custom tools via TOML config, web workbench UI
  • Google Toolbox — GCP ecosystem, IAM integration, 40+ sources
  • PGMCP — natural-language-to-SQL for PostgreSQL (requires OpenAI key)
  • Supabase MCP — full Supabase platform management (edge functions, branching, storage)

Setup by Environment

Local (macOS / Linux)
pip install a2db

CLI

a2db login -p myapp -e dev -d main 'postgresql://user:pass@localhost/mydb'

Or add as MCP server (see Quick Start)

Docker
FROM python:3.12-slim

RUN pip install a2db CMD ["a2db-mcp", "--register", "myapp/prod/main", "postgresql://user:${DB_PASSWORD}@host/mydb"]

docker run -e DB_PASSWORD=secret -i my-a2db-image

Secrets are injected as environment variables at runtime — never baked into the image.

CI / Automation
pip install a2db

Pre-configured — no login needed

a2db-mcp --register myapp/ci/main "postgresql://ci_user:${CI_DB_PASSWORD}@db-host/mydb"

Or use CLI directly

a2db login -p myapp -e ci -d main "postgresql://ci_user:${CI_DB_PASSWORD}@db-host/mydb" a2db query -p myapp -e ci -d main "SELECT COUNT(*) FROM migrations"

Development

make bootstrap   # Install deps + hooks

make check # Lint + test + security (full gate) make test # Tests with coverage (90% minimum) make lint # Lint only (never modifies files) make fix # Auto-fix + lint

License

Apache 2.0


🗄️ Agent-first database access since 2025.

Built by Denis Tomilin