AI万址

DM8数据库查询服务器

TypeScript实现的达梦DM8数据库MCP服务器,提供表结构浏览和只读SQL查询功能,支持多连接、多Schema及主备容灾。

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
Star11
收藏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数据库查询服务器

终端里任选一条(不同安装方式,效果等价):

bash
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 安装走这份):

json
{
  "dm8": {
    "command": "npx",
    "args": [
      "-y",
      "mcp-dm8-server",
      "--config",
      ".claude/dm8-mcp.json"
    ],
    "env": {
      "NODE_OPTIONS": "--openssl-legacy-provider"
    }
  }
}

方式 2(npx/npm 安装走这份):

json
{
  "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 用户注意:如果 commandnpx 起不来,换成 npx.cmd 再试。

第 3 步:重启并验证

完全退出客户端再打开(是托盘里真正退出,不是关窗口)。工具列表里出现DM8数据库查询服务器的工具即接入成功;调用报错的话,先查下面的坑点清单。

容易踩的坑

  • 改了配置没反应:客户端只重启了窗口没退进程。macOS 按 Cmd+Q,Windows 检查托盘。
  • JSON 报错打不开客户端:多半是最后多个逗号。粘进任何 JSON 校验器里查一遍再保存。

常见问题

Q

DM8数据库查询服务器免费吗?

A

代码在 GitHub(https://github.com/Mzaxd/dm8-mcp)开放获取。个别功能依赖第三方服务时费用另算,看仓库 LICENSE 和定价页。

Q

DM8数据库查询服务器能用在 Cursor / Cline 吗?

A

能。MCP 是通用协议,同一份 mcpServers 配置在这些客户端之间基本通用,只是配置文件位置不同。

Q

需要外网或代理吗?

A

拉包和调用官方 API 需要能访问 GitHub 与对应服务域名,内网环境先测 git ls-remote 和接口连通性。