MCP Server for AlibabaCloud DMS
Project description
AlibabaCloud DMS MCP Server
AI时代的数据安全访问网关
使用方式
DMS MCP Server 现在支持两种使用模式。
模式一:多实例模式
- 支持添加实例到DMS,可以访问多个数据库实例。
- 适用于需要管理和访问多个数据库实例的场景。
场景示例:
你是公司的DBA,需要在生产、测试和开发等多个环境中管理和访问 MySQL、Oracle 和 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和库名获取指定数据库的详细信息。 | 多实例模式 |
| listTable | 搜索指定数据库下的数据表。 | 多实例模式 & 单数据库模式 |
| listLogicTables | 搜索指定逻辑库下的逻辑表。 | 多实例模式 |
| getTableDetailInfo | 获取特定数据库表的详细信息。 | 多实例模式 & 单数据库模式 |
| executeScript | 执行SQL。 | 多实例模式 & 单数据库模式 |
前提条件
- 已安装uv
- 已安装Python 3.10+
- 已获取DMS访问凭证
快速开始
方式一:使用 uvx(推荐)
使用 uvx 可以直接运行包,无需手动下载代码。
配置MCP客户端
在配置文件中添加以下内容:
多实例模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"alibabacloud-dms-mcp-server-inner@0.1.0"
],
"env": {
"ACCESS_KEY_ID": "access_id",
"ACCESS_KEY_SECRET": "access_key"
}
}
}
}
单数据库模式
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"alibabacloud-dms-mcp-server-inner@0.1.0"
],
"env": {
"ACCESS_KEY_ID": "access_id",
"ACCESS_KEY_SECRET": "access_key",
"CONNECTION_STRING": "dbName@host:port"
}
}
}
}
从 Git 仓库运行(如果包未发布到 PyPI)
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"@git+https://gitlab.alibaba-inc.com/idb/alibabacloud-dms-mcp-server-inner.git"
],
"env": {
"ACCESS_KEY_ID": "access_id",
"ACCESS_KEY_SECRET": "access_key",
"CONNECTION_STRING": "dbName@host:port"
}
}
}
}
方式二:本地开发模式
下载代码
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"
}
}
}
}
发布和使用
如何发布
详细发布指南请参考 PUBLISHING.md。
快速发布到 PyPI:
# 1. 更新版本号(在 pyproject.toml 中)
# 2. 构建包
uv build
# 3. 发布
twine upload dist/*
如何让其他人使用
方式一:发布到 PyPI 后
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": ["alibabacloud-dms-mcp-server-inner@0.1.0"],
"env": {
"ACCESS_KEY_ID": "your_access_key_id",
"ACCESS_KEY_SECRET": "your_access_key_secret"
}
}
}
}
方式二:直接从 Git 仓库使用
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"@git+https://gitlab.alibaba-inc.com/idb/alibabacloud-dms-mcp-server-inner.git"
],
"env": {
"ACCESS_KEY_ID": "your_access_key_id",
"ACCESS_KEY_SECRET": "your_access_key_secret"
}
}
}
}
Contact us
如果您有使用问题或建议, 请加入Alibaba Cloud DMS MCP讨论组 (钉钉群号:129600002740) 进行讨论.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alibabacloud_dms_mcp_server_inner-0.1.0.tar.gz.
File metadata
- Download URL: alibabacloud_dms_mcp_server_inner-0.1.0.tar.gz
- Upload date:
- Size: 30.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6136bea29f2950221b14cfbc60f37eb29270af9047532aeebf318f6e2c400afd
|
|
| MD5 |
22e99bb5693862ac9c59f786120edb38
|
|
| BLAKE2b-256 |
365dce34c64508780393076b95cad4d1efb61cf56783c6cbdc404cc69eaacb8c
|
File details
Details for the file alibabacloud_dms_mcp_server_inner-0.1.0-py3-none-any.whl.
File metadata
- Download URL: alibabacloud_dms_mcp_server_inner-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
030449152c41b2bd341732e9d055edc479aef4ad71b164e407369b413b7d4df2
|
|
| MD5 |
f1acf2da6fb991e06447fc7224aff92f
|
|
| BLAKE2b-256 |
d75eb53ab4eac33875617932b39ec7e5ca85d41dc53461efadac197d471a7d55
|