what is AnalyticDB for MySQL MCP Server?
AnalyticDB for MySQL MCP Server serves as a universal interface between AI Agents and AnalyticDB for MySQL databases, enabling seamless communication and SQL operations.
how to use AnalyticDB for MySQL MCP Server?
To use the server, you can either clone the GitHub repository or install it via pip. Configuration is required to connect to your AnalyticDB for MySQL instance.
key features of AnalyticDB for MySQL MCP Server?
- Execute SQL queries in AnalyticDB for MySQL.
- Retrieve database metadata.
- Get query and execution plans for SQL queries.
use cases of AnalyticDB for MySQL MCP Server?
- Integrating AI Agents with AnalyticDB for MySQL.
- Executing complex SQL queries programmatically.
- Analyzing query performance with execution plans.
FAQ from AnalyticDB for MySQL MCP Server?
- Can I use this server with any version of AnalyticDB for MySQL?
Yes, it is designed to work with various versions of AnalyticDB for MySQL.
- Is there any cost associated with using this server?
The server is open-source and free to use under the Apache-2.0 license.
- What programming languages are supported?
The server is primarily developed in Python.
AnalyticDB for MySQL MCP Server
AnalyticDB for MySQL MCP Server serves as a universal interface between AI Agents and AnalyticDB for MySQL databases. It enables seamless communication between AI Agents and AnalyticDB for MySQL, helping AI Agents retrieve AnalyticDB for MySQL database metadata and execute SQL operations.
1. MCP Client Configuration
Mode 1: Using Local File
-
Download the GitHub repository
git clone https://github.com/aliyun/alibabacloud-adb-mysql-mcp-server
-
MCP Integration
Add the following configuration to the MCP client configuration file:
{
"mcpServers": {
"adb-mysql-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/alibabacloud-adb-mysql-mcp-server",
"run",
"adb-mysql-mcp-server"
],
"env": {
"ADB_MYSQL_HOST": "host",
"ADB_MYSQL_PORT": "port",
"ADB_MYSQL_USER": "database_user",
"ADB_MYSQL_PASSWORD": "database_password",
"ADB_MYSQL_DATABASE": "database"
}
}
}
}
Mode 2: Using PIP Mode
-
Installation
Install MCP Server using the following package:
pip install adb-mysql-mcp-server
-
MCP Integration
Add the following configuration to the MCP client configuration file:
{
"mcpServers": {
"adb-mysql-mcp-server": {
"command": "uv",
"args": [
"run",
"--with",
"adb-mysql-mcp-server",
"adb-mysql-mcp-server"
],
"env": {
"ADB_MYSQL_HOST": "host",
"ADB_MYSQL_PORT": "port",
"ADB_MYSQL_USER": "database_user",
"ADB_MYSQL_PASSWORD": "database_password",
"ADB_MYSQL_DATABASE": "database"
}
}
}
}
2. Develop your own AnalyticDB for MySQL MCP server
If you want to develop your own AnalyticDB for MySQL MCP Server, you can install the python dependency packages using the following command:
- Download the source code from GitHub.
- Install uv package manager.
- Install Node.js which provides a node package tool whose name is
npx
- Install the python dependencies in the root diretory of the project using the following command:
uv pip install -r pyproject.toml
- If you want to debug the mcp server locally, you could start up an MCP Inspector using the following command:
npx @modelcontextprotocol/inspector \
-e ADB_MYSQL_HOST=your_host \
-e ADB_MYSQL_PORT=your_port \
-e ADB_MYSQL_USER=your_username \
-e ADB_MYSQL_PASSWORD=your_password \
-e ADB_MYSQL_DATABASE=your_database \
uv --directory /path/to/alibabacloud-adb-mysql-mcp-server run adb-mysql-mcp-server
3. Introduction to the components of AnalyticDB for MySQL MCP Server
-
Tools
-
execute_sql
: Execute a SQL query in the AnalyticDB for MySQL Cluster -
get_query_plan
: Get the query plan for a SQL query -
get_execution_plan
: Get the actual execution plan with runtime statistics for a SQL query
-
-
Resources
-
Built-in Resources
adbmysql:///databases
: Get all the databases in the analytic for mysql cluster
-
Resource Templates
-
adbmysql:///{schema}/tables
: Get all the tables in a specific database -
adbmysql:///{database}/{table}/ddl
: Get the DDL script of a table in a specific database -
adbmysql:///{config}/{key}/value
: Get the value for a config key in the cluster
-
-
-
Prompts
Not provided at the present moment.