DeepSeek 导航网:AlibabaCloud DMS MCP AI 首选的统一数据管理网关,支持 40 多种数据源连接的多云通用数据 MCP Server ,一站式解决跨源数据安全访问。
- 支持阿里云全系:RDS、PolarDB、ADB 系列、Lindorm 系列、TableStore 系列、Maxcompute 系列。
- 支持主流数据库/数仓:MySQL、MariaDB、PostgreSQL、Oracle、SQLServer、Redis、MongoDB、StarRocks、Clickhouse、SelectDB、DB2、OceanBase、Gauss、BigQuery 等。
核心特性
为大模型提供统一的数据接入层与元数据访问层,通过标准化接口解决:
- 数据源碎片化导致的 MCP Server 维护成本
- 异构协议间的兼容性问题
- 账号权限不受控、操作无审计带来的安全问题
同时,通过 MCP 将获得以下特性:
- NL2SQL:通过自然语言执行 SQL ,获得数据结果
- 代码生成:通过该服务获取 schema 信息,生成 DAO 代码或进行结构分析
- 取数:通过 SQL 自动路由准确数据源获得数据,为上层业务提供数据支持
- 安全:精细的访问控制和可审计性
- 数据迁移:配置数据迁移任务
使用方式
DMS MCP Server 现在支持两种使用模式。
模式一:多实例模式
- 支持添加实例到 DMS ,可以访问多个数据库实例。
- 适用于需要管理和访问多个数据库实例的场景。
场景示例:
你是公司的 DBA ,需要在生产、测试和开发等多个环境中管理和访问 MySQL、Oracle 和 PostgreSQL 等多种数据库实例。通过 DMS MCP Server ,可以实现对这些异构数据库的统一接入与集中管理。
典型提问示例:
- 获取所有名称为 test 的数据库列表
- 获取 myHost:myPort 实例中 test_db 数据库的详细信息。
- test_db 数据库下有哪些表?
- 使用工具, 查询 test_db 库的数据,回答“今天的用户访问量是多少?”
模式二:单数据库模式
- 通过在 SERVER 中配置 CONNECTION_STRING 参数(格式为 dbName@host:port),直接指定需要访问的数据库。
- 适用于专注一个数据库访问的场景。
场景示例:
你是一个开发人员,只需要频繁访问一个固定的数据库(如 mydb@192.168.1.100:3306)进行开发测试。在 DMS MCP Server 的配置中设置一个 CONNECTION_STRING 参数,例如:
CONNECTION_STRING = mydb@192.168.1.100:3306
之后每次启动服务时, DMS MCP Server 都会直接访问这个指定的数据库,无需切换实例。
典型提问示例:
- 我有哪些表?
- 查看 test_table 表的字段结构
- 获取 test_table 表的前 20 条数据
- 使用工具,回答“今天的用户访问量是多少?”
前提条件
- 已安装 uv
- 已安装 Python 3.10+
- 具有阿里云 DMS 访问权限(AliyunDMSFullAccess)的 AK SK 或者 STS Token
准备工作
在通过 DMS MCP 访问托管在 DMS 的数据库实例之前,需要将对应的数据库实例录入至 DMS 中,并为实例开启 安全托管。
可以通过以下两种方式进行实例的添加:
方法一:使用 DMS MCP 提供的 addInstance
工具添加实例
DMS MCP Server 提供了 addInstance
工具,用于快速将实例添加到 DMS 中。
详情请见“工具清单”中的 addInstance
工具描述。
方法二:通过 DMS 控制台页面添加实例
1 登录 DMS 控制台。
2 在控制台首页左侧的数据库实例区域,单击新增实例图标。
3 在新增实例页面,录入实例信息(如实例地址、端口、用户名、密码)。
4 单击提交按钮完成实例添加。
快速开始
方案一 使用源码运行
下载代码
git clone https://github.com/aliyun/alibabacloud-dms-mcp-server.git
配置 MCP 客户端
在配置文件中添加以下内容:
多实例模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/alibabacloud-dms-mcp-server/src/alibabacloud_dms_mcp_server",
"run",
"server.py"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
"ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token"
}
}
}
}
单数据库模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/alibabacloud-dms-mcp-server/src/alibabacloud_dms_mcp_server",
"run",
"server.py"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
"ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token",
"CONNECTION_STRING": "dbName@host:port"
}
}
}
}
方案二 使用 PyPI 包运行
多实例模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"alibabacloud-dms-mcp-server@latest"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
"ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token"
}
}
}
}
单数据库模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"alibabacloud-dms-mcp-server@latest"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
"ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token",
"CONNECTION_STRING": "dbName@host:port"
}
}
}
}
IDA自动化反编译工具