MCP 服务器 · 发布者仓库

MCP Toolbox for Databases

Google 开源的数据库 MCP 服务器与自定义工具框架,可把多种数据库连接到 MCP 客户端,并以预置或参数化工具控制 Agent 能执行的操作。

16.3k StarsApache-2.0Go今天更新
01

项目介绍

MCP Toolbox for Databases 是 Google 开源的数据库 MCP 服务器和自定义工具框架,用 Model Context Protocol 把数据库接入 Agent。它提供两条明显不同的路径:用预置配置快速获得数据库工具,或在 tools.yaml 中自行定义 SQL、参数、认证和 toolset,把 Agent 的动作限制在预先设计的范围内。这个区别十分关键:仓库明确把可执行任意 SQL 的预置工具定位为有人监督的开发便利,而不是生产环境的授权模型。

MCP Toolbox 位于 Agent 客户端与多种云数据库和第三方数据库之间的架构图
仓库架构图展示了 Toolbox 如何作为 MCP 层连接开发或应用 Agent 与多种数据库服务。查看仓库原图
02

核心功能

01

预置数据库 MCP 工具

可按数据库加载仓库内置配置,也可缩小到指定 toolset。PostgreSQL 预置包包含结构检查与 SQL 执行工具,连接值从环境变量读取。

02

参数化自定义工具

可在 tools.yaml 中预先定义允许的 SQL 和参数,让 Agent 只填入受约束输入,而不是提交任意查询;仓库建议应用运行时优先采用这一路径。

03

MCP 与工具级授权

authService 可验证单个工具调用、填充认证参数,或保护整个 MCP 端点。启用 MCP 认证后,通用 OIDC 还支持令牌验证和按工具要求 scope。

04

多种传输与部署方式

服务器可用 stdio 连接本地客户端,也可通过 Streamable HTTP 自托管。仓库记录了二进制、npx、Homebrew、Docker、Cloud Run 与 Kubernetes 路径。

05

运行可观测性

Toolbox 将日志写入标准输出或错误流,并可在显式配置后向兼容 OpenTelemetry 的后端导出指标和链路。

03

安装与连接

先在本地使用一个数据库、一个专用只读身份和 stdio 接入,把所有凭据留在配置文件外;确认工具发现和一次无害读取正常后,再考虑自定义工具或网络部署。

AI AGENT INSTALL

让 AI Agent 帮你安装

把这段话发送给 Codex、Claude Code 或其他可以操作本地环境的 AI Agent。

请帮我从 https://github.com/googleapis/mcp-toolbox 安装并配置 MCP Toolbox for Databases。先完整阅读当前 README、预置配置文档、许可证和安全说明,确认我的 MCP 宿主、操作系统、目标数据库、传输方式与密钥管理方式。除非我选择仓库记录的其他方法,先按文档用 npx 和 stdio 接入一个数据库。创建或确认一个专用、最小权限、最好只读的数据库身份;不要打印、记录、硬编码或提交密码和令牌。修改前说明 MCP 客户端配置文件的准确位置和拟议变更。完成后重启客户端,检查可用工具,只针对非敏感数据执行一次无害读取,并报告执行命令、改动文件、工具列表、所用权限和验证结果。遇到向不受信任用户开放任意 SQL、网络暴露、写权限、遥测导出或更宽 scope 时,先停止并征求同意。
01开始前准备
  • Node.js 与 npx,或仓库记录的其他安装方式
  • 支持 MCP stdio 服务器的客户端
  • 一个可访问的受支持数据库
  • 仅限所需 schema 和操作的专用数据库用户
  • 用于注入连接值的密钥管理方式
02复制安装命令或配置
{"mcpServers":{"toolbox-postgres":{"command":"npx","args":["-y","@toolbox-sdk/server","--prebuilt=postgres","--stdio"],"env":{"POSTGRES_HOST":"127.0.0.1","POSTGRES_PORT":"5432","POSTGRES_DATABASE":"YOUR_DATABASE","POSTGRES_USER":"YOUR_READONLY_USER","POSTGRES_PASSWORD":"SET_IN_A_SECRET_STORE"}}}}
03按步骤完成安装
  1. 1
    选择较窄的连接边界

    只选择一个受支持数据库,并判断预置配置是否适合可信开发场景。创建专用数据库身份,只授予必要 schema 和操作;探索时尽量使用 SELECT-only 权限。

  2. 2
    在配置文件外提供凭据

    通过环境注入或密钥管理器提供数据库值。PostgreSQL 预置文件需要 POSTGRES_HOST、POSTGRES_PORT、POSTGRES_DATABASE、POSTGRES_USER、POSTGRES_PASSWORD 和可选的 POSTGRES_QUERY_PARAMS。

  3. 3
    注册 stdio 服务器

    在 MCP 客户端中加入执行以下命令的服务器项: npx -y @toolbox-sdk/server --prebuilt=postgres --stdio 真实凭据不要进入共享或提交的客户端配置。可用 --prebuilt=postgres/<toolset> 进一步缩小 PostgreSQL 工具集。

  4. 4
    核对工具发现和数据库限制

    重启 MCP 客户端,确认服务器与预期工具可见,然后列出一个已知表,或针对非敏感数据运行一次无害 SELECT。确认数据库会拒绝写入和越权数据。

  5. 5
    进入应用前继续加固

    固定流程应把任意 SQL 替换为参数化自定义工具;按需加入认证参数或 MCP 认证,网络暴露前配置 TLS 与 host/origin 限制,并在导出遥测前复核数据去向。

如何确认安装成功

重启 MCP 客户端,确认 Toolbox 服务器已连接并检查它公开的工具。随后使用专用只读身份列出一个预期表,或针对非敏感数据运行一次无害 SELECT;在扩大使用前,确认数据库本身会拒绝写入和越权 schema。

使用前注意
  • 示例环境值都是占位符;真实凭据应通过密钥管理器或本地环境注入。
  • 优先使用过滤后的预置 toolset 或参数化自定义工具,不要默认开放完整任意 SQL 工具集。
  • Streamable HTTP 若超出 localhost,应按部署文档配置 MCP 认证、allowed hosts/origins 与 TLS。
  • 遥测导出是可选项,可能把运行元数据发送到所配置的后端。
04

使用场景

SCENARIO 01

数据库感知的开发辅助

可信开发者可在 IDE 中检查 schema 和读取限定数据,同时依靠数据库原生权限把探索范围控制在较小边界。

SCENARIO 02

受约束的应用操作

为查询当前用户订单这类固定动作公开参数化 SQL,而不是给模型一个可执行任意 SQL 的端点。

SCENARIO 03

共享的自托管数据库工具服务

为获批客户端运行统一 Toolbox 服务,并根据部署环境配置 toolset、OIDC scope、TLS 与可观测性。

05

使用评价

MCP Toolbox 的价值在于,它不只提供较广的数据库目录,也明确给出从开发便利走向生产约束的路径。详细文档、发布节奏、安全策略、测试目录和 Apache-2.0 许可证形成了较强的公开证据。主要风险同样清楚:最快的预置路径可能开放任意 SQL,所以数据库原生最小权限和参数化自定义工具是必要边界,而不是锦上添花。本次评价不包含安装或功能实测。

值得一试的地方

  • 官方仓库提供完整的安装、配置、部署、安全和升级文档
  • 覆盖多种数据库,并同时支持本地 stdio 与自托管 HTTP
  • 自定义工具、认证参数、OIDC scope 和可观测性支持逐步加固
  • 近期 releases 与 commits 显示项目仍在持续维护

使用前要知道

  • 默认预置体验包含高权限的任意 SQL 工具
  • 运行网络化数据库 MCP 服务需要承担认证、TLS、密钥和遥测责任
  • 集成数量较多,也意味着使用者必须额外阅读对应数据库的具体文档
06

README

MCP Toolbox for Databases


Overview

Google 开源的数据库 MCP 服务器与自定义工具框架,可把多种数据库连接到 MCP 客户端,并以预置或参数化工具控制 Agent 能执行的操作。 面向多种 Google Cloud 与第三方数据库的开源 MCP 服务器和自定义工具框架,可连接 AI Agent 与开发助手。

Getting started

  • 先在本地使用一个数据库、一个专用只读身份和 stdio 接入,把所有凭据留在配置文件外;确认工具发现和一次无害读取正常后,再考虑自定义工具或网络部署。
  • 仓库提供两种主要方式。预置配置可快速加载常见数据库工具;自定义工具则允许运营者在 tools.yaml 中定义数据源、SQL、参数、toolset、prompt 和授权行为。
  • 文档列出的预置范围包括 Google Cloud 数据服务,以及 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle、MongoDB、Redis、Elasticsearch、ClickHouse、Neo4j、Snowflake 等第三方数据库。可以用 --prebuilt=<database> 选择数据库,也可用 --prebuilt=<database>/<toolset> 缩小工具集。
  • 重启 MCP 客户端,确认 Toolbox 服务器已连接并检查它公开的工具。随后使用专用只读身份列出一个预期表,或针对非敏感数据运行一次无害 SELECT;在扩大使用前,确认数据库本身会拒绝写入和越权 schema。

Configuration

{"mcpServers":{"toolbox-postgres":{"command":"npx","args":["-y","@toolbox-sdk/server","--prebuilt=postgres","--stdio"],"env":{"POSTGRES_HOST":"127.0.0.1","POSTGRES_PORT":"5432","POSTGRES_DATABASE":"YOUR_DATABASE","POSTGRES_USER":"YOUR_READONLY_USER","POSTGRES_PASSWORD":"SET_IN_A_SECRET_STORE"}}}}
在 GitHub 阅读完整 README