AnalyticDB for MySQL MCP Server 是AI代理与AnalyticDB for MySQL数据库之间的通用接口。它使AI代理能够无缝地与AnalyticDB for MySQL通信,帮助AI代理检索AnalyticDB for MySQL数据库元数据并执行SQL操作。
git clone https://github.com/aliyun/alibabacloud-adb-mysql-mcp-server
在MCP客户端配置文件中添加以下配置:
{
"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"
}
}
}
}
使用以下包安装MCP Server:
pip install adb-mysql-mcp-server
在MCP客户端配置文件中添加以下配置:
{
"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",
2023-10-19 16:18:17.655 ERROR 1 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException:
"ADB_MYSQL_PASSWORD": "database_password",
"ADB_MYSQL_DATABASE": "database"
}
}
}
}
如果您想开发自己的AnalyticDB for MySQL MCP服务器,可以使用以下命令安装Python依赖包:
uv pip install -r pyproject.toml
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
execute_sql: 在AnalyticDB for MySQL集群中执行SQL查询
get_query_plan: 获取SQL查询的查询计划
get_execution_plan: 获取带有运行时统计信息的实际执行计划
adbmysql:///databases: 获取MySQL分析集群中的所有数据库adbmysql:///{schema}/tables: 获取特定数据库中的所有表
adbmysql:///{database}/{table}/ddl: 获取特定数据库中表的DDL脚本
adbmysql:///{config}/{key}/value: 获取集群中配置键的值
目前没有提供提示。