|
| 1 | +<!-- 顶部语言切换 --> |
| 2 | + |
| 3 | +<p align="center">English | <a href="./README-dts-zh-cn.md">中文</a><br></p> |
| 4 | + |
| 5 | + |
| 6 | +# AlibabaCloud DTS MCP Server |
| 7 | + |
| 8 | +**DTS MCP Server provides the capability for AI to rapidly configure data migration services.**。Alibaba Cloud Data Transmission Service (DTS) is a real-time data streaming service. DTS supports data transmission between data sources such as relational database management system (RDBMS) databases, NoSQL databases, and online analytical processing (OLAP) databases. DTS provides the data synchronization, data migration, change tracking, data integration, and data processing features. This allows you to manage data within a secure, scalable, and high-availability architecture. |
| 9 | + |
| 10 | +--- |
| 11 | + |
| 12 | +## Core Features |
| 13 | +Enable AI to create **DTS migration tasks** through natural language descriptions, including the following capabilities: |
| 14 | +- Create migration job:configureDtsJob |
| 15 | +- Start migration job:startDtsJob |
| 16 | +- Get migration job detail information:getDtsJob |
| 17 | + |
| 18 | +--- |
| 19 | +## Tool List |
| 20 | + |
| 21 | +### Metadata Related |
| 22 | + |
| 23 | +#### configureDtsJob - Configure a dts job, migrate data from one RDS-MySQL to another RDS-MySQL. |
| 24 | +- **region_id** (string, required): The region id of the dts job (e.g., 'cn-hangzhou', 'cn-beijing'). |
| 25 | +- **job_type** (string, required): The type of job (synchronization job: SYNC, migration job: MIGRATION, data check job: CHECK). |
| 26 | +- **source_endpoint_region** (string, required): The source endpoint region ID (e.g., 'cn-hangzhou', 'cn-beijing'). |
| 27 | +- **source_endpoint_instance_type** (string, required): The source endpoint instance type (RDS, ECS, EXPRESS, CEN, DG). |
| 28 | +- **source_endpoint_engine_name** (string, required): The source endpoint engine name (MySQL, PostgreSQL, SQLServer). |
| 29 | +- **source_endpoint_instance_id** (string, required): The source endpoint instance ID (e.g., 'rm-xxx'). |
| 30 | +- **source_endpoint_user_name** (string, required): The source endpoint user name. |
| 31 | +- **source_endpoint_password** (string, required): The source endpoint password. |
| 32 | +- **destination_endpoint_region** (string, required): The destination endpoint region ID (e.g., 'cn-hangzhou', 'cn-beijing'). |
| 33 | +- **destination_endpoint_instance_type** (string, required): The destination endpoint instance type (RDS, ECS, EXPRESS, CEN, DG). |
| 34 | +- **destination_endpoint_engine_name** (string, required): The destination endpoint engine name (MySQL, PostgreSQL, SQLServer). |
| 35 | +- **destination_endpoint_instance_id** (string, required): The destination endpoint instance ID (e.g., 'rm-xxx'). |
| 36 | +- **destination_endpoint_user_name** (string, required): The destination endpoint user name. |
| 37 | +- **destination_endpoint_password** (string, required): The destination endpoint password. |
| 38 | +- **db_list** (string, required): The database objects in JSON format, example 1: migration dtstest database, db_list should like {"dtstest":{"name":"dtstest","all":true}}; example 2: migration one table task01 in dtstest database, db_list should like {"dtstest":{"name":"dtstest","all":false,"Table":{"task01":{"name":"task01","all":true}}}}; example 3: migration two tables task01 and task02 in dtstest database, db_list should like {"dtstest":{"name":"dtstest","all":false,"Table":{"task01":{"name":"task01","all":true},"task02":{"name":"task02","all":true}}}}. |
| 39 | + |
| 40 | +#### startDtsJob - 启动DTS迁移任务 |
| 41 | +- **region_id** (string, required): The region id of the dts job (e.g., 'cn-hangzhou', 'cn-beijing'). |
| 42 | +- **dts_job_id** (string, required): The job id of the dts job. |
| 43 | + |
| 44 | +#### getDtsJob - 获取DTS迁移任务详情信息 |
| 45 | +- **region_id** (string, required): The region id of the dts job (e.g., 'cn-hangzhou', 'cn-beijing'). |
| 46 | +- **dts_job_id** (string, required): The job id of the dts job. |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +## Getting Started |
| 51 | +### Option 1: Run from Source Code |
| 52 | +#### Download the Code |
| 53 | +```bash |
| 54 | +git clone https://github.com/aliyun/alibabacloud-dms-mcp-server.git |
| 55 | +``` |
| 56 | + |
| 57 | +#### Configure MCP Client |
| 58 | +Add the following content to the configuration file: |
| 59 | +```json |
| 60 | +"mcpServers": { |
| 61 | + "dms-mcp-server": { |
| 62 | + "command": "uv", |
| 63 | + "args": [ |
| 64 | + "--directory", |
| 65 | + "/path/to/alibabacloud-dms-mcp-server/src/alibabacloud_dms_mcp_server", |
| 66 | + "run", |
| 67 | + "server.py" |
| 68 | + ], |
| 69 | + "env": { |
| 70 | + "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id", |
| 71 | + "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key", |
| 72 | + "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token" |
| 73 | + } |
| 74 | + } |
| 75 | +} |
| 76 | +``` |
| 77 | +### Option 2: Run via PyPI Package |
| 78 | + |
| 79 | +```json |
| 80 | +"mcpServers": { |
| 81 | + "dms-mcp-server": { |
| 82 | + "command": "uvx", |
| 83 | + "args": [ |
| 84 | + "alibabacloud-dms-mcp-server@latest" |
| 85 | + ], |
| 86 | + "env": { |
| 87 | + "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id", |
| 88 | + "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key", |
| 89 | + "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token" |
| 90 | + } |
| 91 | + } |
| 92 | +} |
| 93 | +``` |
| 94 | + |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## Contact us |
| 99 | + |
| 100 | +For any questions or suggestions, join the[Alibaba Cloud DMS MCP Group](https://h5.dingtalk.com/circle/joinCircle.html?corpId=dinga0bc5ccf937dad26bc961a6cb783455b&token=2f373e6778dcde124e1d3f22119a325b&groupCode=v1,k1,NqFGaQek4YfYPXVECdBUwn+OtL3y7IHStAJIO0no1qY=&from=group&ext=%7B%22channel%22%3A%22QR_GROUP_NORMAL%22%2C%22extension%22%3A%7B%22groupCode%22%3A%22v1%2Ck1%2CNqFGaQek4YfYPXVECdBUwn%2BOtL3y7IHStAJIO0no1qY%3D%22%2C%22groupFrom%22%3A%22group%22%7D%2C%22inviteId%22%3A2823675041%2C%22orgId%22%3A784037757%2C%22shareType%22%3A%22GROUP%22%7D&origin=11) (DingTalk Group ID: 129600002740) . |
| 101 | + |
| 102 | +<img src="../images/ding-en.jpg" alt="Ding" width="40%"> |
| 103 | + |
| 104 | +[//]: # (<img src="http://dms-static.oss-cn-hangzhou.aliyuncs.com/mcp-readme/ding-en.jpg" alt="Ding" width="40%">) |
| 105 | + |
| 106 | + |
| 107 | +## License |
| 108 | +This project is licensed under the Apache 2.0 License. |
0 commit comments