📌 项目:googleapis/mcp-toolbox | 星数:16.5k(2026-09-24) | 协议:Apache-2.0 | 语言:Go | GitHub
一句话定位:"Google开源的数据库MCP服务器——让AI Agent安全直连企业数据库,SQL工具化、权限可控。" MCP Toolbox for Databases是Google出品的开源MCP服务器,将数据库操作封装为Agent可调用的工具,支持声明式工具定义、权限控制和多数据库后端。
MCP Toolbox服务双用途:
支持PostgreSQL、MySQL、SQLite、Spanner、AlloyDB等数据库。和 Supabase 提供完整后端不同,MCP Toolbox专注数据库层的MCP暴露。
通过YAML声明数据库工具:
# tools.yaml
sources:
my-pg:
kind: postgres
host: localhost
port: 5432
database: mydb
user: agent_user
password: env(PG_PASSWORD)
tools:
search_users:
kind: postgres-sql
source: my-pg
description: "按名字搜索用户"
parameters:
- name: name
type: string
description: "用户名"
statement: "SELECT * FROM users WHERE name LIKE $1"Agent只能调用声明的工具,不能执行任意SQL——这是安全核心。
# Docker启动
docker run -p 5000:5000 \
-v ./tools.yaml:/app/tools.yaml \
us-docker.pkg.dev/mcp-toolbox/toolbox/toolbox
# Python SDK使用
from toolbox_core import ToolboxClient
client = ToolboxClient("http://localhost:5000")
tools = client.load_toolset("search_users")
# tools可直接接入Agent框架支持Python、JS/TS、Go、Java四种语言SDK。
| ✅ 优点 | ⚠️ 不足 |
|---|---|
| Google出品,工程质量高 | Go运行时,Python用户需Docker或二进制 |
| 双用途:即用MCP服务器+构建时配置 | 配置YAML有一定学习成本 |
| 声明式工具定义,权限可控 | 复杂查询场景可能需自定义工具 |
| 多语言SDK(Python/JS/Go/Java) | |
| Apache-2.0协议,企业友好 |
PostgreSQL、MySQL、SQLite、Cloud Spanner、AlloyDB、MS SQL Server等。通过Source Kind扩展机制可支持更多数据库。
MCP Toolbox只暴露声明式定义的工具,Agent不能执行任意SQL。每个工具的SQL语句在YAML中固定,Agent只能传入参数。
MCP Toolbox提供了工具层抽象:参数化查询、权限控制、多数据库统一接口。直接用MCP连接数据库需要自己实现安全控制。