dm_mcp_server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dm_mcp_serverlist all tables in the current schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
达梦数据库 MCP 服务器
达梦数据库 MCP 服务器是一个基于 Model Context Protocol 的数据库访问服务。它可以让 Codex、Claude Code 以及其他支持 MCP 的 AI 开发工具,通过标准工具接口连接达梦数据库,执行连接测试、查看当前 Schema、列出表、统计表数量以及执行 SQL。
本项目通过环境变量配置数据库连接信息。你可以把同一份服务用于不同数据库、不同 Schema 或不同 MCP 客户端,而不需要修改源码。
功能特性
基于 FastMCP 实现,支持标准 MCP 客户端接入。
使用环境变量配置数据库连接,避免把账号密码写进代码。
支持通过
DAMENG_SCHEMA指定当前服务使用的 Schema。提供连接测试、Schema 查询、表列表、表数量统计和 SQL 执行工具。
返回结构化 JSON,便于 AI 客户端理解和继续分析。
支持 Codex、Claude Code 以及其他兼容 MCP 的工具。
Related MCP server: dameng-mcp-server
一、准备环境
1. 安装 Python
本项目要求 Python 3.10 或更高版本。
可以在命令行中检查本机是否已经安装 Python:
python --version如果提示找不到 python,可以再试:
python3 --version如果没有安装,前往 Python 官网下载安装:
https://www.python.org/downloads/Windows 安装时建议勾选:
Add python.exe to PATH安装完成后重新打开终端,再次执行:
python --version确认版本号为 3.10 或更高。
2. 安装 Git
如果你要从 GitHub 克隆项目,需要先安装 Git。
检查是否已安装:
git --version如果未安装,可以从 Git 官网下载安装:
https://git-scm.com/downloads3. 安装 uv
推荐使用 uv 管理 Python 依赖。
安装命令:
pip install uv安装完成后检查:
uv --version如果你不想使用 uv,也可以使用 Python 自带的虚拟环境和 pip,下文会同时给出两种方式。
二、下载项目
使用 Git 克隆项目:
git clone https://github.com/example-org/dm-mcp-server.git
cd dm_mcp_server-2.3.9如果你是下载 ZIP 包,解压后进入项目目录即可。
三、安装依赖
方式一:使用 uv
在项目根目录执行:
uv sync这会根据项目配置创建虚拟环境并安装依赖。
方式二:使用 venv + pip
Linux/macOS:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtWindows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt如果 PowerShell 提示脚本执行策略限制,可以临时允许当前会话执行脚本:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\.venv\Scripts\Activate.ps1四、配置数据库连接
服务启动时会读取以下环境变量:
环境变量 | 是否必填 | 说明 |
| 是 | 达梦数据库主机地址 |
| 否 | 达梦数据库端口,未配置时默认 |
| 是 | 数据库用户名 |
| 是 | 数据库密码 |
| 建议填写 | MCP 服务默认使用的 Schema |
请不要把真实数据库密码提交到 Git 仓库。公开配置文件中建议使用占位符,真实密码只保存在本机环境变量、未提交的本地配置文件或密钥管理系统中。
Linux/macOS 设置示例
export DAMENG_HOST="db.example.com"
export DAMENG_PORT="5236"
export DAMENG_USER="DM_USER"
export DAMENG_PASSWORD="change_me"
export DAMENG_SCHEMA="APP_SCHEMA"Windows PowerShell 设置示例
$env:DAMENG_HOST="db.example.com"
$env:DAMENG_PORT="5236"
$env:DAMENG_USER="DM_USER"
$env:DAMENG_PASSWORD="change_me"
$env:DAMENG_SCHEMA="APP_SCHEMA"五、本地启动服务
使用 uv 启动
uv run dm-mcp-server直接使用 Python 启动
如果你使用的是 venv + pip:
python dm_mcp_server.pyWindows 也可以直接指定虚拟环境里的 Python:
.\.venv\Scripts\python.exe .\dm_mcp_server.py服务通常由 MCP 客户端自动启动。手动启动主要用于排查依赖、环境变量和数据库连接问题。
六、配置 MCP 客户端
多数 MCP 客户端使用 JSON 配置,核心结构通常是 mcpServers。
下面是通用配置模板。请把 /path/to/dm_mcp_server-2.3.9 替换为你本机项目目录,把数据库连接信息替换为你自己的配置。
{
"mcpServers": {
"dm_mcp_server": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/dm_mcp_server-2.3.9",
"dm-mcp-server"
],
"env": {
"DAMENG_HOST": "db.example.com",
"DAMENG_PORT": "5236",
"DAMENG_USER": "DM_USER",
"DAMENG_PASSWORD": "change_me",
"DAMENG_SCHEMA": "APP_SCHEMA"
}
}
}
}Windows 路径示例:
{
"mcpServers": {
"dm_mcp_server": {
"command": "uv",
"args": [
"run",
"--directory",
"C:\\path\\to\\dm_mcp_server-2.3.9",
"dm-mcp-server"
],
"env": {
"DAMENG_HOST": "db.example.com",
"DAMENG_PORT": "5236",
"DAMENG_USER": "DM_USER",
"DAMENG_PASSWORD": "change_me",
"DAMENG_SCHEMA": "APP_SCHEMA"
}
}
}
}七、Codex 配置
Codex 可以在 config.toml 中配置 MCP Server。
使用 uv 启动
[mcp_servers.dm_mcp_server]
command = "uv"
args = ["run", "--directory", "/path/to/dm_mcp_server-2.3.9", "dm-mcp-server"]
enabled = true
[mcp_servers.dm_mcp_server.env]
DAMENG_HOST = "db.example.com"
DAMENG_PORT = "5236"
DAMENG_USER = "DM_USER"
DAMENG_PASSWORD = "change_me"
DAMENG_SCHEMA = "APP_SCHEMA"使用虚拟环境 Python 启动
Linux/macOS:
[mcp_servers.dm_mcp_server]
command = "/path/to/dm_mcp_server-2.3.9/.venv/bin/python"
args = ["/path/to/dm_mcp_server-2.3.9/dm_mcp_server.py"]
enabled = true
[mcp_servers.dm_mcp_server.env]
DAMENG_HOST = "db.example.com"
DAMENG_PORT = "5236"
DAMENG_USER = "DM_USER"
DAMENG_PASSWORD = "change_me"
DAMENG_SCHEMA = "APP_SCHEMA"Windows:
[mcp_servers.dm_mcp_server]
command = "C:\\path\\to\\dm_mcp_server-2.3.9\\.venv\\Scripts\\python.exe"
args = ["C:\\path\\to\\dm_mcp_server-2.3.9\\dm_mcp_server.py"]
enabled = true
[mcp_servers.dm_mcp_server.env]
DAMENG_HOST = "db.example.com"
DAMENG_PORT = "5236"
DAMENG_USER = "DM_USER"
DAMENG_PASSWORD = "change_me"
DAMENG_SCHEMA = "APP_SCHEMA"修改配置后,重启 Codex 让 MCP Server 重新加载。
八、Claude Code 配置
Claude Code 通常可以在项目根目录创建 .mcp.json:
{
"mcpServers": {
"dm_mcp_server": {
"command": "uv",
"args": ["run", "--directory", "/path/to/dm_mcp_server-2.3.9", "dm-mcp-server"],
"env": {
"DAMENG_HOST": "db.example.com",
"DAMENG_PORT": "5236",
"DAMENG_USER": "DM_USER",
"DAMENG_PASSWORD": "change_me",
"DAMENG_SCHEMA": "APP_SCHEMA"
}
}
}
}如果你的 Claude Code 项目启用了 .claude/settings.local.json 权限控制,可以允许本服务的工具:
{
"permissions": {
"allow": [
"mcp__dm_mcp_server__test_connection",
"mcp__dm_mcp_server__get_current_schema",
"mcp__dm_mcp_server__list_tables",
"mcp__dm_mcp_server__count_tables",
"mcp__dm_mcp_server__execute_sql"
]
},
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": [
"dm_mcp_server"
]
}修改 .mcp.json 后,重启 Claude Code 或重新打开项目。
九、配置多个 Schema
如果你需要同时访问多个 Schema,建议为每个 Schema 配置一个 MCP Server。它们可以使用同一个项目目录,只需要修改 server 名称和 DAMENG_SCHEMA。
{
"mcpServers": {
"dm_app": {
"command": "uv",
"args": ["run", "--directory", "/path/to/dm_mcp_server-2.3.9", "dm-mcp-server"],
"env": {
"DAMENG_HOST": "db.example.com",
"DAMENG_PORT": "5236",
"DAMENG_USER": "DM_USER",
"DAMENG_PASSWORD": "change_me",
"DAMENG_SCHEMA": "APP_SCHEMA"
}
},
"dm_report": {
"command": "uv",
"args": ["run", "--directory", "/path/to/dm_mcp_server-2.3.9", "dm-mcp-server"],
"env": {
"DAMENG_HOST": "db.example.com",
"DAMENG_PORT": "5236",
"DAMENG_USER": "DM_USER",
"DAMENG_PASSWORD": "change_me",
"DAMENG_SCHEMA": "REPORT_SCHEMA"
}
}
}
}客户端中会出现两个独立 MCP Server,便于区分不同权限范围。
十、可用工具
工具名 | 说明 |
| 测试当前数据库连接配置是否可用 |
| 返回当前 MCP Server 配置的 Schema |
| 列出当前 Schema 下的表 |
| 统计当前 Schema 下的表数量 |
| 执行 SQL,并可返回查询结果 |
在支持 MCP 的客户端中,你可以这样提问:
使用 dm_mcp_server 测试数据库连接。
使用 dm_mcp_server 查看当前 Schema。
使用 dm_mcp_server 列出当前 Schema 下的表。
使用 dm_mcp_server 执行 SELECT COUNT(*) FROM MY_TABLE。十一、验证流程
首次配置完成后,建议按顺序验证:
调用
test_connection,确认数据库能连接。调用
get_current_schema,确认 Schema 配置正确。调用
count_tables,确认当前用户能读取 Schema 元数据。调用
list_tables,确认能列出表。最后再尝试
execute_sql。
十二、常见问题
Python 版本不符合要求
如果执行时提示 Python 版本过低,请安装 Python 3.10 或更高版本,并确认 MCP 客户端配置中的 Python 路径指向新版本。
找不到 dmPython
确认依赖安装成功:
pip show dmPython如果没有结果,重新安装依赖:
pip install -r requirements.txtMCP 客户端启动失败
重点检查:
command是否存在。args中的项目路径是否正确。Windows 路径中的反斜杠是否正确转义,例如
C:\\path\\to\\project。数据库环境变量是否都配置完整。
数据库连接失败
重点检查:
DAMENG_HOST和DAMENG_PORT是否能从本机访问。数据库用户名和密码是否正确。
DAMENG_SCHEMA是否存在。当前用户是否有访问目标 Schema 的权限。
安全建议
不要提交真实数据库密码。
对只读分析场景,建议使用只读数据库账号。
在生产环境或共享环境中使用
execute_sql前,应先确认 SQL 内容。多个业务范围或多个 Schema 建议拆成多个 MCP Server,便于控制权限。
许可证
MIT License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TGich/dm_mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server