English | 中文
阿里巴巴云DMS MCP服务器
AI时代数据安全接入网关|智能数据查询引擎|支持40+数据源
______________________________________________________________________
核心功能
安全访问
- 帐户和密码安全管理:无需人工维护即可安全管理数据库帐户密码,有效防止敏感信息泄露。
- 内联网访问支持:允许通过内部网络访问数据库,将数据保存在场所内,并显著增强数据安全和隐私保护。
- 细粒度权限控制:支持实例、数据库、表、字段和行级访问控制,精确限制调用者权限,防止未经授权的操作,确保数据安全。
- 高风险SQL识别和阻止:内置丰富的规则引擎,可实时识别和阻止潜在的高风险SQL,以降低安全风险。
- SQL审计跟踪:记录所有SQL操作日志,支持完全可追溯性和合规性审计,以满足监管要求。
智能数据查询
- 内置NL2SQL算法:基于自然语言输入问题,它智能地匹配数据表,理解表中的业务语义,生成并执行SQL查询,并快速获得结果。
- 个性化知识库:内置元数据和 知识库 对于数据查询,支持自定义业务知识和查询模式,以构建与业务场景相一致的定制智能数据查询功能。
多数据源支持
- 广泛的数据源支持:支持40多个主流数据库/数据仓库,实现来自多个来源的统一访问和集成。
- 跨环境的统一管理:支持跨开发、测试和生产环境对数据库实例进行集中管理,以提高运营效率。
- 跨平台无缝集成:覆盖阿里云和AWS等主要云平台,以及自建数据库/数据仓库,有效降低维护成本。
______________________________________________________________________
支持的生态系统
- 支持所有阿里云数据源:RDS、PolarDB、ADB系列、Lindorm系列、TableStore系列、Maxcompute系列。
- 支持主流数据库/数据仓库:MySQL、MariaDB、PostgreSQL、Oracle、SQLServer、Redis、MongoDB、StarRocks、Clickhouse、SelectDB、DB2、OceanBase、Gauss、BigQuery等。
______________________________________________________________________
核心架构
______________________________________________________________________
使用方法
DMS MCP服务器目前支持两种使用模式。
模式一:多实例模式
- 支持向DMS添加实例,允许访问多个数据库实例。
- 适用于需要管理和访问多个数据库实例的场景。
场景示例:
您是一名公司DBA,需要在生产、测试和开发环境中管理和访问各种类型的数据库实例(例如MySQL、Oracle、PostgreSQL)。使用DMS MCP Server,您可以实现对这些异构数据库的统一访问和集中管理。
典型问题示例:
- 我的哪些实例在生产环境中?
- 获取名为的所有数据库的列表
test. - 检索的详细信息
test_db数据库来自myHost:myPort例子 - 里面有什么桌子
test_db数据库? - 使用工具从以下位置查询数据
test_db数据库和答案:“今天的用户流量是多少?”
模式二:单数据库模式
- 通过配置直接指定目标数据库
CONNECTION_STRING服务器中的参数(格式:dbName@host:port). - 适用于专注于访问单个数据库的场景。
场景示例1:
您是一名经常访问固定数据库的开发人员(例如。, mydb@192.168.1.100:3306)用于开发和测试。设置 CONNECTION_STRING DMS MCP服务器配置中的参数如下:
CONNECTION_STRING = mydb@192.168.1.100:3306之后,每次服务启动时,DMS MCP服务器都会直接访问这个指定的数据库,而不需要切换实例。
典型问题示例:
- 我有什么桌子?
- 显示字段结构
test_table桌子。 - 从中检索前20行
test_table桌子。 - 使用工具回答:“今天的用户流量是多少?”
场景示例2:
您是一家电子商务公司的数据分析师,需要经常查询和分析订单、用户和产品等业务数据。公司的核心业务数据库位于ecommerce@10.20.30.40:3306.
在DMS MCP服务器中配置以下参数:
CONNECTION_STRING = ecommerce@10.20.30.40:3306只需用自然语言提问,DMS MCP就会将问题解析为SQL并返回结果。
典型问题示例:
- 今天的订单总数是多少?
- 订单数量是如何按省份排名的?
- 在过去的7天里,每天有多少新用户?
- 哪个产品类别的销售收入最高?
______________________________________________________________________
刀具清单
| 工具名称 | 描述 | 适用模式 |
|---|---|---|
| addInstance | 向DMS添加实例。仅支持阿里云实例。 | 多实例模式 |
| listInstances | 从DMS中搜索实例。 | 多实例模式 |
| getInstance | 根据主机和端口检索实例的详细信息。 | 多实例模式 |
| searchDatabase | 根据schemaName搜索数据库。 | 多实例模式 |
| getDatabase | 检索特定数据库的详细信息。 | 多实例模式 |
| listTables | 列出指定数据库下的表。 | 多实例模式和单数据库模式 |
| getTableDetailInfo | 检索特定表的详细信息。 | 多实例模式和单数据库模式 |
| executeScript | 执行SQL脚本并返回结果。 | 多实例模式和单数据库模式 |
| createDataChangeOrder | 在DMS中创建数据变更单。 | 多实例模式和单数据库模式 |
| getOrderInfo | 从DMS检索订单信息。 | 多实例模式和单数据库模式 |
| submitOrderApproval | 在DMS中提交订单以供审批。 | 多实例模式和单数据库模式 |
| approveOrder | 在DMS中批准或拒绝订单。 | 多实例模式和单数据库模式 |
| generateSql | 将自然语言问题转换为SQL查询。 | 多实例模式 |
| askDatabase | 数据库的自然语言查询(NL2SQL+执行SQL)。 | 单数据库模式 |
| fixSql | 分析并修复SQL错误。 | 多实例模式和单数据库模式 |
| answerSqlSyntax | 回答与SQL语法相关的问题。 | 多实例模式和单数据库模式 |
| optimizeSql | 分析和优化SQL性能。 | 多实例模式和单数据库模式 |
For a full list of tools, please refer to: Tool List
______________________________________________________________________
支持的数据源
| 数据源/工具 | NL2SQL *nlsql* | 执行脚本 *executeScript* | 显示架构 *getTableDetailInfo* | 访问控制 *默认* | 审计日志 *默认* |
|---|---|---|---|---|---|
| MySQL | ✅ | ✅ | ✅ | ✅ | ✅ |
| MariaDB | ✅ | ✅ | ✅ | ✅ | ✅ |
| PostgreSQL | ✅ | ✅ | ✅ | ✅ | ✅ |
| Oracle | ✅ | ✅ | ✅ | ✅ | ✅ |
| SQLServer | ✅ | ✅ | ✅ | ✅ | ✅ |
| Redis | ❌ | ❌ | ✅ | ✅ | ✅ |
| MongoDB | ❌ | ❌ | ✅ | ✅ | ✅ |
| 星岩 | ✅ | ✅ | ✅ | ✅ | ✅ |
| Clickhouse | ✅ | ✅ | ✅ | ✅ | ✅ |
| 选择数据库 | ✅ | ✅ | ✅ | ✅ | ✅ |
| DB2 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 海洋基地 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 高斯 | ✅ | ✅ | ✅ | ✅ | ✅ |
| BigQuery | ✅ | ✅ | ✅ | ✅ | ✅ |
| PolarDB | ✅ | ✅ | ✅ | ✅ | ✅ |
| PolarDB-X | ✅ | ✅ | ✅ | ✅ | ✅ |
| 分析数据库 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 林多夫 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 餐具 | ❌ | ❌ | ✅ | ✅ | ✅ |
| 最大计算 | ✅ | ✅ | ✅ | ✅ | ✅ |
| Hologres | ✅ | ✅ | ✅ | ✅ | ✅ |
______________________________________________________________________
先决条件
______________________________________________________________________
预配置
在通过DMS访问数据库实例之前,您必须首先将实例添加到DMS。
有两种方法可以添加实例:
方法一:使用 addInstance DMS MCP提供的添加实例的工具\ DMS MCP服务器提供 addInstance 用于快速向DMS添加实例的工具。\ 有关更多详细信息,请参阅 addInstance “工具列表”中的工具
方法二:通过DMS控制台添加实例
- 登录到 DMS控制台.
- 在控制台的主页上,单击 添加实例 左侧数据库实例区域中的图标。
- 在添加实例页面上,输入实例信息(例如,实例地址、端口、用户名、密码)。
- 点击 提交 以完成实例添加。
______________________________________________________________________
入门指南
选项1:从源代码运行
下载代码
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"
}
}
}
}选项2:通过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"
}
}
}
}______________________________________________________________________
联系我们
如有任何问题或建议,请加入 阿里云DMS MCP集团 (钉集团ID:129600002740)。
许可证
此项目根据Apache 2.0许可证获得许可。
______________________________________________________________________
代理技能(独立于MCP)
除了MCP服务器,此项目还承载 AI代理技能 DMS企业版。这些技能使任何AI代理(Codex、ChatGPT、Cursor等)都可以通过OpenAPI直接管理DMS资源,而不需要MCP协议。
快速入门(技能)
- 阅读技能定义:\
skills/database/dms/alicloud-database-dms-enterprise/SKILL.md
- 发现可用的API:
python3 skills/database/dms/alicloud-database-dms-enterprise/scripts/list_openapi_meta_apis.py- 配置访问密钥:
export ALICLOUD_ACCESS_KEY_ID="your-ak"
export ALICLOUD_ACCESS_KEY_SECRET="your-sk"
export ALICLOUD_REGION_ID="cn-hangzhou"技能能力
| 类别 | 操作 |
|---|---|
| 实例管理 | 注册、列出、更新、删除数据库实例 |
| SQL执行和审计 | 执行脚本、NL2SQL、SQL审查和优化 |
| 权限管理 | 创建权限订单,授予/撤销用户权限 |
| 数据安全 | 敏感列标识、数据屏蔽、审计日志 |
| 任务编排 | 创建、执行、监视任务流(DAG) |
| 元数据知识 | 获取/编辑表业务知识 |
提示示例
看 skills/examples/prompts/ 对于基于DMS场景的提示模板:
- 实例管理与资源查询
- SQL执行和审计
- 权限和安全管理
- 任务编排和数据更改
- API发现和元数据
技能指数
| 类别 | 技能 | 描述 | 路径 |
|---|---|---|---|
| 数据库/dms | 阿里云数据库dms企业 | 通过OpenAPI管理阿里云数据管理服务(dms企业)。用于数据库实例管理、SQL审计、数据安全、任务编排、敏感数据保护、权限管理和数据库操作工作流。 | skills/database/dms/alicloud-database-dms-enterprise |
有关特定代理的指南,请参阅 AGENTS.md.
