AlibabaCloud DMS MCP Server
AI时代的数据安全访问网关
使用方式
DMS MCP Server 现在支持两种使用模式。
模式一:多实例模式
- 适用于需要管理和访问多个数据库实例的场景。
场景示例:
需要在生产、测试和开发等多个环境中管理和访问 MySQL、PostgreSQL 等多种数据库实例。通过DMS MCP Server,可以实现对这些异构数据库的统一接入与集中管理。
典型提问示例:
- 获取 myHost:myPort 实例详情
- 获取 myHost:myPort 实例中 test_db 数据库的详细信息。
- 开发环境的test_logic_db逻辑库下有哪些逻辑表?
- 获取test_logic_db逻辑库下test_logic_table表详情
模式二:单数据库模式
- 通过在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表的字段信息
工具清单
| 工具名称 | 描述 | 适用模式 |
|---|---|---|
| getInstance | 根据 host 和 port 获取实例详细信息。 | 多实例模式 |
| searchDatabase | 根据 schemaName 搜索数据库。 | 多实例模式 |
| searchLogicDatabase | 根据逻辑库名搜索逻辑库。 | 多实例模式 |
| getDatabase | 获取host、port和库名获取指定数据库的详细信息。 | 多实例模式 |
| listTables | 搜索指定数据库下的数据表。 | 多实例模式 & 单数据库模式 |
| listLogicTables | 搜索指定逻辑库下的逻辑表。 | 多实例模式 |
| getTableDetailInfo | 获取特定数据库表的详细信息。 | 多实例模式 & 单数据库模式 |
| executeScript | 执行SQL。 | 多实例模式 & 单数据库模式 |
| createDataChangeOrder | 通过数据变更工单执行SQL变更,返回工单ID。 | 多实例模式 & 单数据库模式 |
| getOrderInfo | 根据工单ID获取DMS工单详情。 | 多实例模式 & 单数据库模式 |
| listSecurityColumns | 获取指定表下的安全列列表。 | 多实例模式 & 单数据库模式 |
前提条件
- 已安装uv
- 已安装Python 3.10+
- 已获取DMS访问凭证(获取方式请参考DMS MCP文档步骤一)
快速开始
下载代码
git clone http://gitlab.alibaba-inc.com/idb/alibabacloud-dms-mcp-server-inner.git
配置MCP客户端
在配置文件中添加以下内容:
多实例模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/alibabacloud-dms-mcp-server-inner/src/alibabacloud_dms_mcp_server_inner",
"run",
"server.py"
],
"env": {
"ACCESS_KEY_ID": "access_id",
"ACCESS_KEY_SECRET": "access_key"
}
}
}
}
单数据库模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/alibabacloud-dms-mcp-server-inner/src/alibabacloud_dms_mcp_server_inner",
"run",
"server.py"
],
"env": {
"ACCESS_KEY_ID": "access_id",
"ACCESS_KEY_SECRET": "access_key",
"CONNECTION_STRING": "dbName@host:port"
}
}
}
}
Contact us
如果您有使用问题或建议, 请加入集团DMS MCP答疑群( 钉钉群号:110720047302) 进行讨论.
Metadata
Release files for alibabacloud-dms-mcp-server-inner 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| alibabacloud_dms_mcp_server_inner-0.1.9.tar.gz | 27.8 kB | Without provenance | Details for alibabacloud_dms_mcp_server_inner-0.1.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| alibabacloud_dms_mcp_server_inner-0.1.9-py3-none-any.whl | Python 3 | none | any | Details for alibabacloud_dms_mcp_server_inner-0.1.9-py3-none-any.whl |
Total release size: 39.8 kB
Release files / alibabacloud_dms_mcp_server_inner-0.1.9.tar.gz
| Download URL | alibabacloud_dms_mcp_server_inner-0.1.9.tar.gz |
|---|---|
| Size | 27.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d1da32cb5dcf334fc7b5f8f49fe91e1ea0da787c97d9c122c40dd48321e05e3f
|
|
BLAKE2b-256 checksum How to use checksums |
b420be645728661cbb9388eaf133f74028d12379d34bb841b2435752d9878df9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / alibabacloud_dms_mcp_server_inner-0.1.9-py3-none-any.whl
| Download URL | alibabacloud_dms_mcp_server_inner-0.1.9-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97c761f3169202977a013b1772a64d750119a4d9a4ed75e255d38ce929a4468a
|
|
BLAKE2b-256 checksum How to use checksums |
ca3535d6ccae4711b40a9317085c416033ce986d24933dcc2e5ba15c44149b89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Security for alibabacloud-dms-mcp-server-inner 0.1.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.