An AI-powered gateway for managing over 40 data sources like Alibaba Cloud and mainstream databases, featuring NL2SQL, code generation, and data migration.
AI-Era Data Security Access Gateway |Intelligent Data Query Engine|Supports 40+ Data Sources
Secure Access
Intelligent Data Inquiry
Multi-data Source Support
DMS MCP Server currently supports two usage modes.
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:
test
.test_db
database from the myHost:myPort
instance.test_db
database?test_db
database and answer: "What is today's user traffic?"CONNECTION_STRING
parameter in the server (format: dbName@host:port
).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:
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:
test_table
table.test_table
table.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:
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:
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 |
DataSource/Tool | NL2SQL nlsql | Execute script executeScript | Show schema getTableDetailInfo | Access control default | Audit log default |
---|---|---|---|---|---|
MySQL | ✅ | ✅ | ✅ | ✅ | ✅ |
MariaDB | ✅ | ✅ | ✅ | ✅ | ✅ |
PostgreSQL | ✅ | ✅ | ✅ | ✅ | ✅ |
Oracle | ✅ | ✅ | ✅ | ✅ | ✅ |
SQLServer | ✅ | ✅ | ✅ | ✅ | ✅ |
Redis | ❌ | ❌ | ✅ | ✅ | ✅ |
MongoDB | ❌ | ❌ | ✅ | ✅ | ✅ |
StarRocks | ✅ | ✅ | ✅ | ✅ | ✅ |
Clickhouse | ✅ | ✅ | ✅ | ✅ | ✅ |
SelectDB | ✅ | ✅ | ✅ | ✅ | ✅ |
DB2 | ✅ | ✅ | ✅ | ✅ | ✅ |
OceanBase | ✅ | ✅ | ✅ | ✅ | ✅ |
Gauss | ✅ | ✅ | ✅ | ✅ | ✅ |
BigQuery | ✅ | ✅ | ✅ | ✅ | ✅ |
PolarDB | ✅ | ✅ | ✅ | ✅ | ✅ |
PolarDB-X | ✅ | ✅ | ✅ | ✅ | ✅ |
AnalyticDB | ✅ | ✅ | ✅ | ✅ | ✅ |
Lindorm | ✅ | ✅ | ✅ | ✅ | ✅ |
TableStore | ❌ | ❌ | ✅ | ✅ | ✅ |
Maxcompute | ✅ | ✅ | ✅ | ✅ | ✅ |
Hologres | ✅ | ✅ | ✅ | ✅ | ✅ |
Before accessing a database instance via DMS, you must first add the instance to DMS.
There are two methods to add an instance:
Method One: Use the addInstance
tool provided by DMS MCP to add an instance
The DMS MCP Server provides the addInstance
tool for quickly adding an instance to DMS.
For more details, see the description of the addInstance
tool in the "Tool List."
Method Two: Add an instance via the DMS console
git clone https://github.com/aliyun/alibabacloud-dms-mcp-server.git
Add the following content to the configuration file:
Multi-instance Mode
{
"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"
}
}
}
}
Single Database Mode
{
"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"
}
}
}
}
Multi-instance Mode
{
"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"
}
}
}
}
Single Database Mode
{
"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"
}
}
}
}
For any questions or suggestions, join the Alibaba Cloud DMS MCP Group (DingTalk Group ID: 129600002740) .
This project is licensed under the Apache 2.0 License.
An MCP server that provides tools to interact with Powerdrill datasets, enabling smart AI data analysis and insights.
A production-ready MCP server for Customer Relationship Management (CRM) functionality, built with TypeScript and SQLite.
A read-only MCP server for Google Sheets, enabling LLMs to query live data using the CData JDBC Driver.
Stock market API made for AI agents
A server that provides tools to interact with an Oracle database.
Neo4j graph database server (schema + read/write-cypher) and separate graph database backed memory
A standardized interface for AI assistants to interact with a SurrealDB database.
Enables persistent knowledge storage for Claude using a knowledge graph with multiple database backends like PostgreSQL and SQLite.
Interact with AskTable SaaS or local deployments to query data sources using natural language.
An MCP server for the Chroma embedding database, providing persistent, searchable working memory for AI-assisted development with features like automated context recall and codebase indexing.