JUHE API Marketplace
Liu-creators avatar
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"}

安装与配置

安装

  1. 确保您已安装 Python 3.12 或更高版本
  2. 克隆仓库到本地:
git clone https://github.com/Liu-creators/mysql-mcp.git
cd mysql-mcp
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上使用 .venv\Scripts\activate
  1. 安装依赖:
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 中添加新的工具函数
  • 修改现有函数的错误处理和返回值
  • 调整数据库连接的默认配置

许可证

MIT 许可证

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source