本项目基于达梦数据库构建 MCP(微服务通信协议)服务,具备列出数据库表、执行只读 SQL 查询、显示表结构等功能,为数据库操作提供便利。
github.com/mark3labs/mcp-go
库。在项目根目录下运行以下命令初始化 Go Modules 并下载依赖:
go mod init dm-mcp-server
go mod tidy
在运行服务之前,需要配置达梦数据库的连接信息。可以通过以下方式设置:
go run main.go \
-username <用户名> \
-password <密码> \
-host <主机地址> \
-port <端口> \
-schema <模式名>
list_tables
工具列出指定数据库中的所有表。execute_query
工具执行只读 SQL 查询(仅支持 SELECT
、SHOW
、DESCRIBE
和 EXPLAIN
语句)。describe_table
工具显示指定表的结构。go install github.com/wangzhaobo168/dm-mcp-server
{
"mcpServers": {
"db-mcp-server": {
"command": "dm-mcp-server",
"args": [
],
"env": {
"DM_PORT": "端口号,默认5236",
"DM_HOST": "主机地址",
"DM_USERNAME": "账号",
"DM_PASSWORD": "密码",
"DM_SCHEMA": "模式名"
}
}
}
dm-mcp-server --version
在 Windows 下可以直接下载 dm-mcp-server 二进制文件,并将其添加到 PATH 中。
github.com/mark3labs/mcp-go
库不可用,请替换为其他兼容的 MCP 实现。tools
包中添加新的工具。dm-mcp-server/
├── main.go # 主程序入口
├── tools/ # 工具实现
│ ├── list_tables.go # 列出表工具
│ ├── execute_query.go # 执行查询工具
│ └── describe_table.go # 显示表结构工具
├── utils/ # 工具函数
│ ├── config.go # 配置管理
│ └── db.go # 数据库连接
├── go.mod # Go Modules 文件
└── README.md # 项目文档
本项目采用 MIT 许可证。
若在使用过程中遇到
github.com/mark3labs/mcp-go
库不可用的情况,可自行替换为其他兼容的 MCP 实现;若有更多数据库操作需求,可在tools
包中添加新工具。