DM8数据库查询服务器是 Mzaxd 开发的 MCP 服务器:TypeScript实现的达梦DM8数据库MCP服务器,提供表结构浏览和只读SQL查询功能,支持多连接、多Schema及。接入两步走:npx mcp-dm8-server --host 127.0.0.1 --port 5236 --username SYSDBA --password 密码 --schema SYSDBA,再把下文配置粘进客户端 mcpServers 段重启即可。
它是干什么的
先把话说清楚:DM8数据库查询服务器不是又一个大模型,而是一个标准的 MCP 服务器。装好之后,你的 AI 客户端多出一组新工具,模型可以按需调用。TypeScript实现的达梦DM8数据库MCP服务器,提供表结构浏览和只读SQL查询功能,支持多连接、多Schema及主备容灾
| 项目 | 数据 |
|---|---|
| 开发者 | Mzaxd |
| Star | 11 |
| 收藏 | 0 |
| 质量等级 | A |
| 平台分类 | 数据库 |
| 部署标签 | 本地部署、数据库查询、达梦DM8 |
| 仓库 | dm8-mcp |
核心能力
- SQL 注入防护: 标识符格式校验 (/^A-Za-zA-Za-z0-9$/),参数化查询
- 只读强制: 仅允许 SELECT / SHOW / DESCRIBE / EXPLAIN;分号多语句拦截
- Schema 白名单: validateSchemaAccess() 校验访问范围
- 连接池管理: SELECT 1 FROM DUAL 心跳检测,失效自动重建
- 查询超时: DMQUERYTIMEOUTMS 连接级 socketTimeout,防慢查询拖垮连接池
- DB 账号最小权限: 部署侧应给 MCP 账号仅 GRANT SELECT(纵深防御,最后一道闸)
适合谁用
两类人最该装:一是想让 AI 直接查询、分析业务数据的数据和后端工程师;二是已经在用 MCP 生态、想按需拼装能力的折腾型用户。反过来,如果你只需要偶尔手动用它背后的服务,直接开网页就行,不必上 MCP。
完整安装配置步骤
动手前确认环境齐了:
- Node.js 18 或更高版本(旧版 npx 跑不动一部分新版 MCP 包)。
- 一个支持 MCP 的客户端:Claude Desktop、Cursor、Cline、Windsurf 任选其一。
第 1 步:安装DM8数据库查询服务器
终端里任选一条(不同安装方式,效果等价):
npx mcp-dm8-server --host 127.0.0.1 --port 5236 --username SYSDBA --password 密码 --schema SYSDBA
npx vitest run tests/validation.test.ts第 2 步:写入 MCP 配置
Claude Desktop 的配置文件路径:macOS 在 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 在 %APPDATA%\Claude\claude_desktop_config.json;Cursor 则是 ~/.cursor/mcp.json(或项目级 .cursor/mcp.json)。把下面这段并进 mcpServers 段(注意是并进外层大括号,别整个文件替换):
方式 1(npx/npm 安装走这份):
{
"dm8": {
"command": "npx",
"args": [
"-y",
"mcp-dm8-server",
"--config",
".claude/dm8-mcp.json"
],
"env": {
"NODE_OPTIONS": "--openssl-legacy-provider"
}
}
}方式 2(npx/npm 安装走这份):
{
"dm8": {
"command": "npx",
"args": [
"-y",
"mcp-dm8-server",
"--config",
"/path/to/project/.claude/dm8-mcp.json"
],
"env": {
"DM_ENV": "production",
"NODE_OPTIONS": "--openssl-legacy-provider"
}
}
}改完保存。Windows 用户注意:如果 command 写 npx 起不来,换成 npx.cmd 再试。
第 3 步:重启并验证
完全退出客户端再打开(是托盘里真正退出,不是关窗口)。工具列表里出现DM8数据库查询服务器的工具即接入成功;调用报错的话,先查下面的坑点清单。
容易踩的坑
- 改了配置没反应:客户端只重启了窗口没退进程。macOS 按 Cmd+Q,Windows 检查托盘。
- JSON 报错打不开客户端:多半是最后多个逗号。粘进任何 JSON 校验器里查一遍再保存。
常见问题
DM8数据库查询服务器免费吗?
代码在 GitHub(https://github.com/Mzaxd/dm8-mcp)开放获取。个别功能依赖第三方服务时费用另算,看仓库 LICENSE 和定价页。
DM8数据库查询服务器能用在 Cursor / Cline 吗?
能。MCP 是通用协议,同一份 mcpServers 配置在这些客户端之间基本通用,只是配置文件位置不同。
需要外网或代理吗?
拉包和调用官方 API 需要能访问 GitHub 与对应服务域名,内网环境先测 git ls-remote 和接口连通性。
