
mzaxd/dm8-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
达梦数据库mcp
개요
TypeScript 实现的达梦 DM8 Model Context Protocol (MCP) 服务器,提供表结构浏览和只读 SQL 查询能力。支持多连接、多 Schema、配置文件管理以及主备容灾。 2.0 是一个 版本,针对多连接、跨 schema 场景下 LLM 容易查错库的问题做了重构(详见 变更日志)。 (旧配置里写了会被静默忽略,建议清理): - defaultConnection(环境级)/ connection.default(连接级):多连接场景下「默认连接」会让 LLM 在 dev/prod 之间静默查错库,已移除。 - CLI --default-connection / 环境变量 DM_DEFAULT_CONNECTION:同上。 :多连接模式下未传 connection 时不再回落到默认连接,而是报错并返回连接目录(含每个连接的环境说明、可访问 schema 与正确调用示例),请让 LLM 显式传 connection。单连接模式行为不变(自动选中唯一连接)。 切换环境只需修改 activeEnv 为 "prod",或通过 --env prod 覆盖。 :如果使用未发布到 npm 的本地版本,将 command 改为 node,args 改为 ["--openssl-legacy-provider", "/path/to/mcp-dm8-server/dist/cli.js", "--config", ".claude/dm8-mcp.json"]。 配置文件位置: - Windows: %APPDATA%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json Cline、mcp-router 等客户端的配置格式与 Claude Desktop 一致,均为 JSON 格式的 mcpServers 配置。
README
원문 README의 일부입니다. 원문 보기.
MCP DM8 Server
TypeScript 实现的达梦 DM8 Model Context Protocol (MCP) 服务器,提供表结构浏览和只读 SQL 查询能力。支持多连接、多 Schema、配置文件管理以及主备容灾。
从 1.x 升级到 2.0
2.0 是一个 breaking change 版本,针对多连接、跨 schema 场景下 LLM 容易查错库的问题做了重构(详见 变更日志)。
移除的配置项(旧配置里写了会被静默忽略,建议清理):
defaultConnection(环境级)/connection.default(连接级):多连接场景下「默认连接」会让 LLM 在 dev/prod 之间静默查错库,已移除。- CLI
--default-connection/ 环境变量DM_DEFAULT_CONNECTION:同上。
迁移:多连接模式下未传 connection 时不再回落到默认连接,而是报错并返回连接目录(含每个连接的环境说明、可访问 schema 与正确调用示例),请让 LLM 显式传 connection。单连接模式行为不变(自动选中唯一连接)。
快速开始
Claude Code(推荐)
在项目根目录创建两个文件即可,所有配置都在项目内闭环:
.claude/dm8-mcp.json(数据库连接配置):
{
"activeEnv": "dev",
"environments": {
"dev": {
"connections": [
{
"name": "GASBASE",
"host": "127.0.0.1",
"port": 5236,
"username": "SYSDBA",
"password": "your_password",
"schema": "GASBASE"
}
]
},
"prod": {
"connections": [
{
"name": "BASE",
"host": "10.0.1.100",
"masterHost": "10.0.1.200",
"port": 5236,
"username": "BASE",
"password": "your_password",
"schema": "BASE"
}
]
}
}
}
.mcp.json(注册 MCP server,Claude Code 自动读取):
{
"mcpServers": {
"dm8": {
"command": "npx",
"args": ["-y", "mcp-dm8-server", "--config", ".claude/dm8-mcp.json"],
"env": {
"NODE_OPTIONS": "--openssl-legacy-provider"
}
}
}
}
切换环境只需修改 activeEnv 为 "prod",或通过 --env prod 覆盖。
本地开发:如果使用未发布到 npm 的本地版本,将
command改为node,args改为["--openssl-legacy-provider", "/path/to/mcp-dm8-server/dist/cli.js", "--config", ".claude/dm8-mcp.json"]。
Claude Desktop
配置文件位置:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
通过 --config 传入配置文件的绝对路径:
{
"mcpServers": {
"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"
}
}
}
}
其他 MCP 客户端
Cline、mcp-router 等客户端的配置格式与 Claude Desktop 一致,均为 JSON 格式的 mcpServers 配置。
可用工具
| 工具名 | 描述 | 必填参数 | 可选参数 |
|---|---|---|---|
list_schemas |
列出已配置的连接、Schema 及数据库中可见的模式 | 无 | 无 |
list_tables |
列出指定 Schema 下的所有表 | 无 | connection, schema |
describe_table |
返回表的列名、类型、长度、是否可空、列注释 | table |
connection, schema |
설치
npx -y mcp-dm8-server --config .claude/dm8-mcp.json설정
{
"mcpServers": {
"dm8": {
"command": "npx",
"args": ["-y", "mcp-dm8-server", "--config", ".claude/dm8-mcp.json"],
"env": {
"NODE_OPTIONS": "--openssl-legacy-provider"
}
}
}
}