
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-toolboxMCP Toolbox for Databases 是一个开源的数据库 MCP 服务器夹在 IDE、CLI、应用等 MCP 客户端与 PostgreSQL、MySQL、BigQuery 等数据库之间把数据库能力封装成一组模型可调用的工具。你不用为每个客户端手写连接逻辑也不必把数据库的完整权限交给智能体。为什么需要数据库 MCP 服务器 设想这个场景团队里三个人分别用不同的 AI 客户端都要访问同一批数据库。每接一个客户端就得配一遍连接串、认证方式凭证散落在各处的配置里而如果直接把数据库的完整 SQL 权限开放给模型生产环境跑一条DELETE谁也不敢放心。MCP Toolbox for Databases 的做法是把连接、认证、连接池、OpenTelemetry 可观测性统一收进一个进程你只需要声明允许被调用哪些工具。它有两种用法一是直接挂预置工具比如list_tables、execute_sql给 MCP 客户端用二是把它当框架在配置文件里定义参数化查询、受限访问的定制工具给生产环境用。安装与启动五分钟跑通第一个工具当前版本是 1.10.0四种安装路径任选brew install mcp-toolbox、拉容器镜像、go install装模块或直接下二进制。容器方式最省事docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:1.10.0准备一份最小的tools.yaml三种资源类型source数据源、tool工具、toolset工具分组kind: source name: my-pg-source type: postgres host: 127.0.0.1 port: 5432 database: toolbox_db user: toolbox_user password: ${POSTGRES_PASSWORD} --- kind: tool name: search-hotels-by-name type: postgres-sql source: my-pg-source description: 按名称搜索酒店 parameters: - name: name type: string description: 酒店名称关键词 statement: SELECT * FROM hotels WHERE name ILIKE % || $1 || %; --- kind: toolset name: my_first_toolset tools: - search-hotels-by-name注意密码用了${POSTGRES_PASSWORD}环境变量占位符凭证不落盘。然后用./toolbox --config tools.yaml启动服务默认监听 5000 端口MCP 客户端配置里把 url 指到http://127.0.0.1:5000/mcp即可加载全部工具加上/{toolset名}后缀如/mcp/my_first_toolset则只暴露那一个工具集。调试时加--ui参数浏览器里可以直接跑工具看结果。如果你只想先看看效果跳过写配置--prebuiltpostgres会直接加载 PostgreSQL 的预置工具集--prebuiltpostgres/data则只加载 SQL 相关的子集。tools.yaml 怎么写配置文件就是 source → tool → toolset 的声明source 定义数据源连接参数tool 定义动作类型、绑定的 source、参数、查询语句toolset 按业务或客户端把工具分组方便不同 Agent 各取所需。toolset 也可以按需动态组合比如给数据分析师只给只读工具给 DBA 加上锁和活跃查询这类监控工具。核心能力清单连接管理每个 source 底层就是一个连接池或客户端多个 tool 复用同一个 source连接参数如queryParams集中在 source 上配。工具定义预置工具开箱即用覆盖 PostgreSQL、MySQL、BigQuery、Cloud SQL、Spanner、MongoDB、Redis、Neo4j、Snowflake 等二十余种数据库定制工具则用statement写参数化查询配parameters声明入参模型只能按你给的结构传参。可观测性内置 OpenTelemetry指标和链路追踪不用额外搭。多语言 SDKPythontoolbox-core另有 LangChain、LlamaIndex 适配包、JS/TStoolbox-sdk/core、Go、Java 四套客户端加载工具集基本是两行代码from toolbox_core import ToolboxClient async with ToolboxClient(http://127.0.0.1:5000) as client: tools await client.load_toolset(my_first_toolset)进阶性能、安全与自定义工具需求做法改配置不重启动态重载默认开启热更新 tools.yaml--disable-reload关闭凭证不进文件source 里全部用${ENV_VAR}占位认证支持 IAM 等集成方式限制模型能干什么工具只暴露预置的statement参数化绑定不让模型拼 SQL高并发场景连接复用走 source 级连接池参数见 source 配置文档自己写工具逻辑参考 工具实现 与 数据源实现 的源码结构预置工具集的完整清单在 internal/prebuiltconfigs/tools/每个数据库一个 yaml照着抄就能改出自己的。值不值得用适合多个 MCP 客户端要访问同一批数据库需要接入两三种以上数据库类型想统一管理认证和连接要让 Agent 碰库但必须把它的权限锁死在几条查询里需要观察 Agent 实际执行了哪些查询。用不着就一个数据库、一个应用自己的 ORM 已够用或者你想给模型完全不受限的数据库访问权——这个项目的整个设计就是限制访问目标相反纯脚本场景不需要 MCP 协议直接写客户端代码更直接。从tools.yaml里写一个 source 和一条搜索工具开始用--ui跑通第一次查询再挂进你的 IDE 验证 MCP 链路——这三步走完再考虑扩到更多数据库和更细的权限划分。【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考