# alibabacloud-dms-mcp-server **Repository Path**: mirrors_aliyun/alibabacloud-dms-mcp-server ## Basic Information - **Project Name**: alibabacloud-dms-mcp-server - **Description**: A universal multi-cloud data MCP Server supporting over 40 types of data source connections, providing secure, unified data access in a single platform. Supports full range of Alibaba Cloud services and Mainstream databases/data warehouses. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-07 - **Last Updated**: 2025-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
English | 中文
[//]: # (
)
---
## Usage Methods
DMS MCP Server currently supports two usage modes.
### Mode One: Multi-instance Mode
- Supports adding instances to DMS, allowing access to multiple database instances.
- Suitable for scenarios where managing and accessing multiple database instances is required.
#### Scenario Example:
You are a company DBA who needs to manage and access various types of database instances (e.g., MySQL, Oracle, PostgreSQL) in production, test, and development environments. With DMS MCP Server, you can achieve unified access and centralized management of these heterogeneous databases.
**Typical Question Examples:**
- Which of my instances are in the production environment?
- Get a list of all databases named `test`.
- Retrieve details of the `test_db` database from the `myHost:myPort` instance.
- What tables are in the `test_db` database?
- Use a tool to query data from the `test_db` database and answer: "What is today's user traffic?"
### Mode Two: Single Database Mode
- Directly specify the target database by configuring the `CONNECTION_STRING` parameter in the server (format: `dbName@host:port`).
- Suitable for scenarios that focus on accessing a single database.
#### Scenario Example 1:
You are a developer who frequently accesses a fixed database (e.g., `mydb@192.168.1.100:3306`) for development and testing. Set the `CONNECTION_STRING` parameter in the DMS MCP Server configuration as follows:
```ini
CONNECTION_STRING = mydb@192.168.1.100:3306
```
Afterward, every time the service starts, the DMS MCP Server will directly access this specified database without needing to switch instances.
**Typical Question Examples:**
- What tables do I have?
- Show the field structure of the `test_table` table.
- Retrieve the first 20 rows from the `test_table` table.
- Use a tool to answer: "What is today's user traffic?"
#### Scenario Example 2:
You are a data analyst at an e-commerce company, needing to frequently query and analyze business data such as orders, users, and products. The company's core business database is located at ecommerce@10.20.30.40:3306.
Configure the following parameters in DMS MCP Server:
```ini
CONNECTION_STRING = ecommerce@10.20.30.40:3306
```
Simply ask questions in natural language, and DMS MCP will parse the question into SQL and return the results.
**Typical Question Examples:**
- What is the total number of orders today?
- How are the order counts ranked by province?
- What is the number of new users each day over the past 7 days?
- Which product category has the highest sales revenue?
---
## Tool List
| Tool Name | Description | Applicable Mode |
|--------------------|---------------------------------------------------------------------------------------------------------------------------|-------------------------------|
| addInstance | Adds an instance to DMS. Only Aliyun instances are supported. | Multi-instance Mode |
| listInstances | Search for instances from DMS. | Multi-instance Mode |
| getInstance | Retrieves detailed information about an instance based on host and port. | Multi-instance Mode |
| searchDatabase | Searches databases based on schemaName. | Multi-instance Mode |
| getDatabase | Retrieves detailed information about a specific database. | Multi-instance Mode |
| listTable | Lists tables under a specified database. | Multi-instance Mode & Single Database Mode |
| getTableDetailInfo | Retrieves detailed information about a specific table. | Multi-instance Mode & Single Database Mode |
| executeScript | Executes an SQL script and returns the result. | Multi-instance Mode & Single Database Mode |
| nl2sql | Converts natural language questions into SQL queries. | Multi-instance Mode |
| askDatabase | Natural language querying of a database (NL2SQL + execute SQL). | Single Database Mode |
| configureDtsJob | Configures a DTS migration task | Multi-instance Mode |
| startDtsJob | Starts a DTS migration task | Multi-instance Mode |
| getDtsJob | Views details of a DTS migration task | Multi-instance Mode |
For a full list of tools, please refer to: Tool List
[//]: # (
)
## License
This project is licensed under the Apache 2.0 License.