MCP Server
MySQL MCP
A tool that provides simple API to execute SQL queries and manage MySQL databases, designed to integrate with Cursor IDE for AI assistants to directly perform database operations.
0
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "mysql-mcp",
3 "command": "/path/to/uv",
4 "args": [
5 "--directory",
6 "/path/to/mysql-mcp",
7 "run",
8 "mysql-mcp.py",
9 "--host",
10 "xxx.xxx.xxx.xxx",
11 "--port",
12 "3306",
13 "--user",
14 "root",
15 "--password",
16 "********",
17 "--database",
18 "your_database",
19 "--connection-timeout",
20 "10",
21 "--connect-retry-count",
22 "3"
23 ]
24}
JSON24 lines
README Documentation
MySQL MCP 工具
MySQL MCP 是一个基于 MCP(Model-Control-Panel)框架的 MySQL 数据库操作工具,提供了简单易用的 API 来执行 SQL 查询、管理表结构、操作数据等功能。
MCP 框架简介
MCP(Model-Control-Panel)是一个强大的工具框架,允许您将工具函数暴露为API,使模型(如AI助手)能够直接调用这些函数。MySQL MCP 将 MySQL 数据库操作封装为 MCP 工具,便于与 Cursor IDE 等工具集成使用。
如何使用 MCP
1. 配置 MCP
在 ~/.cursor/mcp.json
中添加以下配置:
{
"mcpServers": {
"mysql-mcp": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/mysql-mcp",
"run",
"mysql-mcp.py",
"--host", "xxx.xxx.xxx.xxx",
"--port", "3306",
"--user", "root",
"--password", "********",
"--database", "your_database",
"--connection-timeout", "10",
"--connect-retry-count", "3"
]
}
}
}
2. 启动 MCP 服务
配置完成后,Cursor IDE 会自动启动 MCP 服务,无需手动操作。如需单独运行:
python mysql-mcp.py
3. 在 MCP 环境中调用工具函数
在 Cursor IDE 中,AI 助手可以直接调用 MySQL MCP 工具:
# 查询所有数据库
await mcp_mysql_mcp_execute_query("SHOW DATABASES")
# 列出当前数据库的所有表
await mcp_mysql_mcp_list_tables()
# 执行复杂查询
await mcp_mysql_mcp_execute_query("SELECT * FROM users WHERE age > %s", [18])
可用 MCP 工具函数
1. 执行查询:mcp_mysql_mcp_execute_query
# 执行 SELECT 查询
result = await mcp_mysql_mcp_execute_query(query="SELECT * FROM users WHERE age > %s", params=[18])
# 执行 SHOW DATABASES 查询
result = await mcp_mysql_mcp_execute_query(query="SHOW DATABASES")
# 查询结果格式
# {
# "success": true,
# "rows": [{"id": 1, "name": "张三", "age": 25}, ...],
# "row_count": 10
# }
2. 列出表:mcp_mysql_mcp_list_tables
# 列出当前数据库的所有表
result = await mcp_mysql_mcp_list_tables()
# 列出特定数据库的所有表
result = await mcp_mysql_mcp_list_tables(database_name="information_schema")
# 返回结果格式
# {
# "success": true,
# "database": "your_database",
# "tables": ["users", "products", "orders"],
# "count": 3
# }
3. 获取表结构:mcp_mysql_mcp_describe_table
# 获取表结构
result = await mcp_mysql_mcp_describe_table(table_name="users")
# 返回结果格式
# {
# "success": true,
# "table": "users",
# "columns": [
# {"Field": "id", "Type": "int(11)", "Null": "NO", "Key": "PRI", "Default": null, "Extra": "auto_increment"},
# {"Field": "name", "Type": "varchar(100)", "Null": "NO", "Key": "", "Default": null, "Extra": ""}
# ]
# }
4. 切换数据库:mcp_mysql_mcp_use_database
# 切换到另一个数据库
result = await mcp_mysql_mcp_use_database(database_name="another_database")
# 返回结果格式
# {
# "success": true,
# "message": "已切换到数据库 another_database",
# "current_database": "another_database"
# }
5. 其他数据操作工具
- 创建表:
mcp_mysql_mcp_create_table(table_name, columns_def)
- 插入数据:
mcp_mysql_mcp_insert_data(table_name, data)
- 更新数据:
mcp_mysql_mcp_update_data(table_name, data, condition, params)
- 删除数据:
mcp_mysql_mcp_delete_data(table_name, condition, params)
功能特点
- 执行 SQL 查询语句并获取结果
- 列出数据库中的所有表
- 获取表结构信息
- 创建新表
- 插入、更新和删除数据
- 切换数据库
- 自动处理连接错误和重试
- 提供详细的错误信息和原因分析
错误处理
所有工具函数都会返回详细的错误信息和原因分析,便于快速定位和解决问题:
# 查询不存在的表
result = await mcp_mysql_mcp_execute_query(query="SELECT * FROM non_existing_table")
# 返回: {"error": "执行查询失败: Table 'your_database.non_existing_table' doesn't exist\n原因:查询的表不存在", "query": "SELECT * FROM non_existing_table"}
安装与配置
安装
- 确保您已安装 Python 3.12 或更高版本
- 克隆仓库到本地:
git clone https://github.com/Liu-creators/mysql-mcp.git
cd mysql-mcp
- 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # 在 Windows 上使用 .venv\Scripts\activate
- 安装依赖:
pip install -e .
其他配置方式
除了 MCP 配置外,还可以通过以下方式配置:
环境变量
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=your_database
export MYSQL_CONNECTION_TIMEOUT=10
export MYSQL_CONNECT_RETRY_COUNT=3
命令行参数
python mysql-mcp.py --host localhost --port 3306 --user root --password your_password --database your_database
扩展与自定义
您可以修改源代码来添加更多功能或调整现有功能的行为。主要的扩展点包括:
- 在
mysql-mcp.py
中添加新的工具函数 - 修改现有函数的错误处理和返回值
- 调整数据库连接的默认配置
许可证
Quick Install
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source