MCP Toolbox for Databases 入门指南:如何把 AI 客户端接到你的数据库
【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox
MCP Toolbox for Databases 是一个开源的 MCP 数据库工具集,让 Gemini CLI、Claude Code 这类 MCP 客户端,以及你自己的应用,通过统一的服务器安全地访问 PostgreSQL、BigQuery 等数据库。它既能开箱即用,也能当作定制工具的框架。
它解决了什么问题
- 直连数据库要处理凭证、连接池、超时,每个应用各写一套。Toolbox 把这些下沉到服务器端,认证、连接复用、连接池统一管理,调用方只管发工具调用。
- 直接把数据库交给模型执行任意 SQL 风险很高。用预定义的工具和受限 SQL 语句,模型只能跑你审核过的语句。
- 接入 LangChain、LlamaIndex、Genkit 等框架需要重复适配。Python、JavaScript/TypeScript、Go、Java 的客户端 SDK 负责这一层,加载工具集只需几行代码。
架构怎么理解
从架构图看,中间是 Toolbox 服务器,左侧是两类使用者:应用代理(面向生产环境)和开发辅助代理(IDE、CLI),右侧是它支持的数据库。README 列出的范围包括 Google Cloud 侧的 AlloyDB、BigQuery、Cloud SQL、Spanner、Firestore、Knowledge Catalog,以及 PostgreSQL、MySQL、MongoDB、Redis、Elasticsearch、Neo4j、Snowflake、ClickHouse 等。
配置上只有三种资源,都写在tools.yaml里:
| 资源 | 作用 |
|---|---|
| source | 声明数据库连接,凭证只在配置中出现一次 |
| tool | 定义单个动作,如一条受限的 SQL 语句 |
| toolset | 把一组工具打包,供不同应用按组加载 |
如何完成首次部署
推荐路径是直接在 MCP 客户端里拉起 Toolbox,不用单独部署服务器。三步:
- 在客户端的 MCP 配置(如
mcp.json)中加入 Toolbox 条目; - 按对应数据库的预构建参考设置连接环境变量;
- 重启客户端,工具即出现在工具列表里。
{ "mcpServers": { "toolbox-postgres": { "command": "npx", "args": ["-y", "@toolbox-sdk/server", "--prebuilt=postgres", "--stdio"] } } }--prebuilt=<数据库>会加载该数据库的标准工具,也可以写成--prebuilt=postgres/data只加载部分工具。
如果应用要连接,就起一个独立服务器:tools.yaml里写好 source 和 tool,然后执行npx @toolbox-sdk/server --config tools.yaml。备选方式:
- 下载平台对应的二进制:启动快,适合生产部署,仓库 README 给出了 Linux/macOS/Windows 的完整步骤;
- 容器镜像:
docker pull后挂载配置启动,适合容器化环境; brew install mcp-toolbox:macOS 和 Linux 上最省事。
核心能力怎么用
场景一:让 IDE 助手直接查数据
什么都不用写,--prebuilt就给你list_tables、execute_sql这类标准工具。效果是:在 IDE 或 CLI 里用自然语言查表、看模式,并生成了解库结构的代码。
场景二:为生产应用定义受限工具
场景是给一个应用暴露"按名称搜索"能力。做法:在tools.yaml里声明postgres-sql类型的工具,语句用占位参数写死,描述清楚参数含义。得到的是一个结构化工具,模型只能传参数,碰不到表结构以外的东西。
场景三:按应用分发工具集
场景是同一个服务器服务多个应用。做法:用 toolset 把工具分组,客户端 URL 指向/mcp/{toolset_name},或 SDK 调用load_toolset("名称")。得到的是每个应用只拿到自己该用的工具。
场景四:在 UI 里调试
加--ui启动后,Web 界面可以逐个查看工具的参数和描述、填参数运行并查看 JSON 响应,左侧导航还能配置认证服务。集成前用它做验证,比盲跑快很多。
进阶调优与安全保障
- 性能:连接池与连接复用由服务器统一管理,业务侧不需要再管;配置文件默认热加载,改完即生效,不需要热加载时用
--disable-reload关闭。 - 安全:认证在服务器端集成,支持 IAM 等机制;工具层天然是受限访问,敏感操作可以完全不暴露给模型。
- 监控:内置 OpenTelemetry,用
--telemetry-otlp=<endpoint>把链路和指标导出到任意 OTLP 兼容后端。 - 分发:
skills-generate命令可把工具集打包成符合 Agent Skill 规范的技能包,仓库 skills/ 下还有现成的技能示例。
适合谁,下一步做什么
先问自己四个问题:
- 是否要同时对接多种数据库?
- 是否有 AI 客户端或应用要直接查生产数据?
- 是否需要比"随便跑 SQL"更严的访问控制?
- 是否要接入 LangChain、Genkit 等框架?
前两个答"是"就值得试,后两个答"是"就基本必选了;只做单库简单查询,普通驱动可能够用。
下一步建议:先按上面的预构建路径跑通postgres,在 IDE 里看工具列表长什么样;再写一个最小tools.yaml,用--ui调一个自定义 SQL 工具;遇到具体问题,先看 docs/ 文档和 internal/tools/ 下的工具实现。
【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考