GaussDB Read-Only MCP
io.github.gxc由 GitHub 账号 gxc 发布v0.3.0更新于 Oct 24, 2026
Read-only MCP server for Huawei GaussDB (centralized & distributed), built for coding agents.
发布方自己的服务:OnlyMCP
概览
面向华为 GaussDB 的只读 MCP 服务器,让编码助手安全查看模式、表、索引并执行单条 SELECT 查询。
- 可以做什么
- 测试与已配置 GaussDB 实例的连通性,返回版本、当前库/用户、只读状态与延迟
- 列出模式清单,含对象数与注释,可选择是否包含系统模式
- 列出表与视图,含类型、估算行数与注释,可按模式过滤
- 查看表结构:列、主键与约束、全部索引定义;视图返回定义 SQL,分区表返回分区清单
- 执行单条 SELECT 或 WITH 查询,受行数与超时限制,返回列名、行数据与是否截断
- 适用场景
- 适合编码助手在不想承担写入风险的情况下探查 GaussDB(集中式或分布式)数据库,尤其是生产库或内网实例。主要用于模式发现和临时查询,而非数据修改或运维管理。
- 运行要求
- 以本地静态二进制运行(Homebrew、发布包下载或自行编译),通过 stdio 通信,无需 Node.js 等运行时。需要一个 YAML 配置文件,通过 -config 参数、环境变量 GAUSSDB_RO_MCP_CONFIG 或默认路径定位,其中填写一个或多个实例的主机、端口、数据库、用户名和密码。需要能访问 GaussDB 服务器的网络;默认关闭 SSL 以适配内网。
安装
在 SourceWeft 中
- 打开 控制台中的 GaussDB Read-Only MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
gaussdb-ro-mcp
[简体中文] | English
[CI] [Glama] [Release] [License]
[!NOTE] English: A read-only MCP server for Huawei GaussDB (centralized & distributed), built for coding agents (Claude Code, OpenCode, etc.). Three layers of read-only enforcement — static SQL validation, server-side
READ ONLYtransactions, and least-privilege account guidance — in a single static binary designed for non-SSL intranet environments. Full documentation: README_en.md.
面向 Coding Agent(Claude Code、OpenCode 等)的 GaussDB 只读 MCP 服务器。基于
GaussDB 官方 Go 驱动
(华为云官方开源的 pgx v5 适配版,源码随仓库内置于 third_party/gaussdb-go,支持离线构建),
通过 stdio 传输提供数据库只读探查工具。
专为内网非 SSL 环境设计:默认 sslmode=disable,配置文件支持同时管理多个 GaussDB 实例。
只读保障(三层纵深防御)
提供的 MCP 工具
所有工具均接受可选 instance 参数以选择数据源,缺省使用 default_instance。全部实例名(含默认标注)会写入该参数的 schema 描述,agent 在获取工具列表阶段即可发现可选实例,无需试错。
与同类项目对比
各项目定位不同:需要完整读写与运维能力时,全功能服务器是合理选择;如果目标是让 Coding Agent 安全地探查数据(尤其在生产库上),只读约束与纵深防御是本项目的价值所在。 以上信息基于各项目公开 README 整理(2026-10),如有出入欢迎 提 Issue 指正。
安装
macOS / Linux(Homebrew):
从 Releases 下载对应平台的二进制
(linux-amd64 / linux-arm64 / darwin-arm64 / windows-amd64.exe;其他平台或内网环境可自行构建,见下节)。
Linux:
macOS(Apple Silicon):
Windows(PowerShell;放入 PATH 目录后即可直接调用):
各产物校验值见 Release 页的 SHA256SUMS.txt。
构建
要求 Go 1.26.10+(与 go.mod 一致)。驱动源码已内置于 third_party/gaussdb-go(通过 replace 指令引用),
正常联网环境下 go build 会自动解析其余依赖;纯内网环境请先在有网环境执行 go mod vendor
后携带 vendor/ 目录,用 go build -mod=vendor 构建。
交叉编译其他平台(纯 Go,CGO_ENABLED=0 即可):CGO_ENABLED=0 GOOS=<os> GOARCH=<arch> go build -o ... ./cmd/gaussdb-ro-mcp。
配置
复制 gaussdb-ro-mcp.example.yaml 为 gaussdb-ro-mcp.yaml 并修改。
配置文件查找顺序:-config 参数 > 环境变量 GAUSSDB_RO_MCP_CONFIG > ./gaussdb-ro-mcp.yaml。
接入 Coding Agent
Claude Code
方式一:项目根目录 .mcp.json(或 claude mcp add 命令):
OpenCode
opencode.json:
数据库侧只读账号(强烈建议)
即使数据库账号被限定为只读,本服务的 SQL 校验与会话强制仍会拦截
锁行(FOR UPDATE)、SELECT INTO、危险函数调用、长查询等行为。
日志
所有运行日志输出到 stderr(stdout 为 MCP 协议通道),包括配置加载、 数据源就绪、会话只读校验结果等,便于在代理客户端的 MCP 日志中排障。
开发与测试
可用 Docker 快速起一个 openGauss 测试实例并灌入测试数据:
集成测试覆盖:只读会话强制(服务端拒绝写入)、5 个工具的端到端行为、 真实二进制 stdio 子进程冒烟。注意:本驱动使用 GaussDB 扩展协议(3.51), 无法连接原生 PostgreSQL,集成测试需要真实的 GaussDB / openGauss 实例。
目录结构
反馈与贡献
欢迎提交 Issue 和 Pull Request:
- 问题反馈 / 功能建议:https://github.com/gxc/gaussdb-ro-mcp/issues
- 获取最新版本:https://github.com/gxc/gaussdb-ro-mcp/releases/latest
- 提交 PR 前,请确保
go vet ./...与go test ./...通过;涉及安全防护逻辑(SQL 静态校验 / 只读强制)的改动请附带回归测试
来源:README.md,提交 7f4c95d
工具
0版本历史
5- v0.3.0最新Oct 21, 2026
- v0.2.5Oct 19, 2026
- v0.2.4Sep 29, 2026
- v0.2.3Sep 23, 2026
- v0.2.2Sep 22, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Only-Mcp 集成

OnlyMCP
com.only-mcp官方发布者
云端技能、智能体与记忆服务,同时可作为其他 MCP 服务器的网关,支持远程端点或 npx 本地运行。

OpenVibeCoding Read-only MCP
由 GitHub 账号 xiaojiou176-open 发布
一个只读 MCP 服务器,让助手在本机查看 OpenVibeCoding 的运行、工作流、证明、队列、回放和事件记录。

CortexPilot Read-only MCP
由 GitHub 账号 xiaojiou176-open 发布
只读 MCP 服务器,向助手提供 CortexPilot 的工作流、队列状态、证明、重放与事故摘要。

macOS-only MCP server that exposes iMessage chat
由 GitHub 账号 adelaidasofia 发布
仅限 macOS 的本地 MCP 服务器,让助手读取 chat.db 中的 iMessage 聊天记录、搜索消息,并把对话导出到 Obsidian 仓库。