MCP Toolbox for Databases 研究筆記¶
資料來源¶
| 項目 | 連結 |
|---|---|
| GitHub Repo | googleapis/mcp-toolbox |
| 官方文件 | mcp-toolbox.dev |
| MCP 支援公告 | Google Cloud Blog |
| Java SDK 公告 | Google Cloud Blog |
| Managed MCP Server | Google Cloud Blog |
| LangChain 整合 | LangChain Docs |
| ADK 整合 | ADK Docs |
專案狀態: ⭐ 14.5K+ stars · Go · Apache 2.0 · v1.1.0 · 原名 Gen AI Toolbox for Databases
專案概述¶
MCP Toolbox for Databases 是 Google 官方開源的 MCP Server,讓 AI Agent、IDE(Gemini CLI、Claude Code、Codex 等)直接連接企業級資料庫。它同時扮演兩個角色:
- 即用型 MCP Server — 用
--prebuilt=postgres一行指令啟動,立即讓 AI 查資料、探索 schema - 自訂工具框架 — 透過
tools.yaml定義結構化查詢、語義搜尋、NL2SQL
支援 42 種資料來源,涵蓋 Google Cloud 資料庫和主流第三方資料庫。
支援的資料庫¶
Google Cloud¶
| 資料庫 | 支援 |
|---|---|
| AlloyDB | ✅ |
| BigQuery | ✅ |
| Cloud SQL(PostgreSQL/MySQL/SQL Server) | ✅ |
| Spanner | ✅ |
| Firestore | ✅ |
| Knowledge Catalog(原 Dataplex) | ✅ |
第三方 / 開源¶
| 資料庫 | 支援 |
|---|---|
| PostgreSQL / MySQL / SQL Server | ✅ |
| Oracle / MongoDB / Redis | ✅ |
| Elasticsearch / Neo4j | ✅ |
| CockroachDB / ClickHouse | ✅ |
| Snowflake / Trino / TiDB | ✅ |
| Couchbase | ✅ |
技術架構¶
┌──────────────────────┐
│ AI Agent / IDE │ Gemini CLI, Claude Code, Codex, ADK, LangChain...
│ (MCP Client) │
└──────────┬───────────┘
│ MCP 協定(HTTP)
│ http://127.0.0.1:5000/mcp
▼
┌──────────────────────┐
│ MCP Toolbox Server │ Go 核心,連線池管理,IAM 認證
│ (tools.yaml 設定) │ OpenTelemetry 可觀測性
│ │ 動態重載(不需重啟)
└──────────┬───────────┘
│ 各資料庫原生協定
▼
┌──────────────────────┐
│ 42 種資料庫 │ PostgreSQL, BigQuery, MongoDB, Redis...
└──────────────────────┘
客戶端 SDK¶
| 語言 | 套件 |
|---|---|
| Python | toolbox-core、toolbox-langchain、toolbox-llamaindex |
| JS/TS | @toolbox-sdk/core、@toolbox-sdk/server、@toolbox-sdk/adk |
| Go | mcp-toolbox-sdk-go |
| Java | mcp-toolbox-sdk-java(2026-03 發布) |
核心功能¶
| 功能 | 說明 |
|---|---|
| Prebuilt Tools | list_tables、execute_sql 等通用工具,一行啟動 |
| 自訂工具 | tools.yaml 宣告式定義 source + tool + toolset + prompt |
| 連線池 | 自動管理資料庫連線池 |
| IAM 整合 | 內建 Google Cloud IAM 認證 |
| OpenTelemetry | 端到端 metrics + tracing |
| Toolbox UI | --ui 旗標啟動互動式測試介面 |
| Agent Skills 生成 | skills-generate 將 toolset 轉為可攜套件 |
| 動態重載 | 修改 tools.yaml 不需重啟 |
快速開始¶
方法一:Prebuilt(最快,以 PostgreSQL 為例)¶
MCP 客戶端設定檔加入:
{
"mcpServers": {
"toolbox-postgres": {
"command": "npx",
"args": ["-y", "@toolbox-sdk/server", "--prebuilt=postgres"]
}
}
}
方法二:自訂工具¶
# tools.yaml
kind: source
name: my-pg-source
type: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
---
kind: tool
name: search-hotels-by-name
type: postgres-sql
source: my-pg-source
description: Search for hotels based on name.
parameters:
- name: name
type: string
description: The name of the hotel.
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';
# 啟動
npx @toolbox-sdk/server --config tools.yaml
# 或用 binary(生產環境推薦)
brew install mcp-toolbox
toolbox --config tools.yaml
方法三:Python SDK 整合¶
from toolbox_core import ToolboxClient
async with ToolboxClient("http://127.0.0.1:5000") as client:
tools = await client.load_toolset("toolset_name")
部署方式¶
| 方式 | 指令 |
|---|---|
| Homebrew | brew install mcp-toolbox |
| NPM | npx @toolbox-sdk/server |
| Docker | docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox |
| Binary | 支援 Linux AMD64、macOS Apple Silicon/Intel、Windows |
| 原始碼 | go install |
目前限制 / 注意事項¶
- 不是受管服務 — 開源版需自行部署。Google Cloud Managed MCP Server 是另一產品
- NPM 模式非最佳效能 — 官方明確說
npx方式是 convenience 優先,生產環境用 binary 或 container - tools.yaml 密碼明文 — 生產環境需搭配 Secret Manager
- Prebuilt Tools 功能有限 — 只有通用工具,複雜查詢需自訂
- Google Cloud 生態偏好 — IAM、Managed MCP 等功能明顯偏向 GCP 使用者
- 部分資料庫支援開發中 — KDB+、ArcadeDB、Spanner Admin 等仍在 PR 階段
- 版本快速迭代 — v0.x → v1.1.0,API 可能隨版本變動
研究價值與啟示¶
關鍵洞察¶
-
Google 押注 MCP 作為 AI-Database 標準介面。 14.5K stars + 官方維護 + 4 語言 SDK + Managed 版本——Google 對 MCP 的投入程度遠超「實驗性支援」。這暗示 MCP 正在成為 AI Agent 存取企業資料的事實標準,不只是 Anthropic 的專利。
-
「Prebuilt → 自訂」的漸進式設計降低了門檻。
--prebuilt=postgres一行搞定讓人先體驗價值,然後tools.yaml提供完整的自訂能力。這種「30 秒上手 → 逐步深入」的產品設計在開發者工具中非常有效。 -
tools.yaml 宣告式配置是對的抽象層級。 不用寫 Go/Python 程式碼就能定義資料庫工具——寫 SQL statement + 參數描述就好。這讓 DBA 和資料工程師(而非只有後端工程師)也能為 AI Agent 提供資料存取能力。
-
42 種資料庫支援的策略意義。 不只是 Google Cloud 資料庫——PostgreSQL、MongoDB、Redis、Snowflake、Oracle 都支援。這是 Google 的平台策略:讓 Toolbox 成為「不管你用什麼資料庫都好用」的中立層,然後透過 IAM 和 Managed 版本引導到 GCP。
-
OpenTelemetry 內建說明這是生產級工具。 大多數 MCP Server 是實驗性的,Google 直接把 metrics + tracing 作為內建功能——這是為企業生產環境設計的信號。
與其他專案的關聯¶
- vs MCP CLI(筆記庫中): MCP CLI 是通用的 MCP 開發/除錯工具,Toolbox 是專門為資料庫設計的 MCP Server。兩者在 MCP 生態中的角色完全不同但互補。
- 對 Fluffy 生態的啟示: fluffy-core 使用 Django + PostgreSQL,可以考慮用 Toolbox 為 AI Agent 提供直接的資料庫存取能力——不需要在 Django API 上額外包裝一層,Toolbox 直連 PostgreSQL 即可。特別是
tools.yaml定義業務查詢的模式,可以讓 fluffy-agent-core 的 Agent 直接查商品資料、訂單記錄等。