关于 MySQL MCP Server
MySQL MCP Server 是面向 MCP 客户端的 MySQL 数据库连接服务,支持查询及受权限控制的数据修改,并可通过环境变量配置。
主要功能
- 01连接 MySQL 数据库
- 02执行 SELECT、SHOW、DESCRIBE 查询
- 03执行 INSERT、UPDATE、DELETE 操作
- 04按操作配置写入权限
- 05环境变量配置与文件日志
适用场景
- 01让 MCP 客户端查询 MySQL 数据
- 02按需允许客户端修改数据库记录
MCP 相关
通过 MCP 协议和 stdio 与客户端通信,并提供 mysql_query 和 mysql_execute 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MySQL MCP 服务
基于 go-mcp 构建的 MySQL 数据库连接服务,通过标准输入/输出与客户端通信,允许执行 SQL 查询和数据操作。
功能
- 通过 MCP 协议与客户端通信
- 支持连接到 MySQL 数据库
- 支持查询操作(SELECT、SHOW、DESCRIBE)
- 支持数据操作(INSERT/UPDATE/DELETE)
- 权限控制(可配置是否允许 INSERT、UPDATE、DELETE 操作)
- 支持通过环境变量灵活配置
- 调试模式支持将详细日志输出到文件
安装
方法 1:直接安装(推荐)
使用 Go 的 install 命令直接从 GitHub 安装:
go install github.com/blanplan-ai/ai2mysql-mcp-server/cmd/ai2mysql-mcp-server@latest
方法 2:手动构建
# Clone the repository
git clone https://github.com/blanplan-ai/ai2mysql-mcp-server.git
cd ai2mysql-mcp-server
# Build the server
go build -o ai2mysql-mcp-server ./cmd/ai2mysql-mcp-server
配置
此服务使用环境变量进行配置。
环境变量
可设置以下环境变量来配置服务:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
MYSQL_HOST | MySQL 主机地址 | 127.0.0.1 |
MYSQL_PORT | MySQL 端口号 | 3306 |
MYSQL_USER | MySQL 用户名 | root |
MYSQL_PASS | MySQL 密码 | password |
DEFAULT_DATABASE | 默认数据库名称 | test |
ALLOW_INSERT | 是否允许 INSERT 操作 | false |
ALLOW_UPDATE | 是否允许 UPDATE 操作 | false |
ALLOW_DELETE | 是否允许 DELETE 操作 | false |
IS_DEV | 启用开发模式并输出详细日志 | false |
LOG_PATH | 日志文件路径(仅在开发模式下生效) | /tmp/ai2mysql.log |
JSON 配置示例
下面是一个 JSON 配置示例,可用于设置环境变量:
{
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "password",
"DEFAULT_DATABASE": "test",
"ALLOW_INSERT": "false",
"ALLOW_UPDATE": "false",
"ALLOW_DELETE": "false",
"IS_DEV": "false",
"LOG_PATH": "/tmp/ai2mysql.log"
}
配置说明:
- 所有布尔类型的配置项均使用字符串 "true" 或 "false"
- 在生产环境中,建议禁用 IS_DEV,以防止敏感信息泄露
- 建议根据实际需求限制 INSERT/UPDATE/DELETE 权限
- 密码等敏感信息应通过环境变量配置
使用方法
启动服务
安装后运行服务:
# Run with default settings
ai2mysql-mcp-server
# Run with environment variables
MYSQL_HOST=127.0.0.1 MYSQL_USER=root MYSQL_PASS=password ai2mysql-mcp-server
# Enable development mode
IS_DEV=true ai2mysql-mcp-server
启用开发模式后,详细日志将输出到配置的日志文件(默认:/tmp/ai2mysql.log),其中包括完整的请求、响应和错误信息。
与 Cursor 搭配使用
此服务专为支持 MCP 协议的客户端设计,例如 Cursor。
在 Cursor 中,可通过以下配置启用 MySQL MCP 服务:
{
"mcpServers": {
"mysql-mcp-server": {
"command": "ai2mysql-mcp-server",
"args": [],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "password",
"DEFAULT_DATABASE": "test", // Default database, optional
"ALLOW_INSERT": "false", // Allow insert operations, optional
"ALLOW_UPDATE": "false", // Allow update operations, optional
"ALLOW_DELETE": "false", // Allow delete operations, optional
"IS_DEV": "false" // Enable development mode, optional
}
}
}
}
添加配置后,可使用以下工具:
-
mysql_query:执行 SQL 查询操作- 参数:
sql- SQL 查询语句(SELECT、SHOW、DESCRIBE)
- 参数:
-
mysql_execute:执行 SQL 数据操作- 参数:
sql- SQL 数据操作语句(INSERT/UPDATE/DELETE)
- 参数:
开发
项目结构
ai2mysql-mcp-server/
└── cmd/
└── ai2mysql-mcp-server/ # Server entry
└── main.go # Main program
依赖项
- go-sql-driver/mysql:MySQL 驱动程序
- ThinkInAIXYZ/go-mcp:MCP 协议库
调试与故障排除
调试模式
设置环境变量 IS_DEV=true 以启用调试模式:
IS_DEV=true ai2mysql-mcp-server
在调试模式下,服务会将详细日志输出到指定的日志文件,包括:
- 所有收到的请求和发送的响应
- 详细的 SQL 查询和执行信息
- 错误和异常情况
- 性能相关信息(例如查询执行时间)
常见问题
如果在 Cursor 中遇到问题:
- 工具未显示:检查 Cursor 配置文件中的命令路径是否正确,确保可执行文件存在且具有执行权限
- 连接失败:检查数据库连接信息是否正确,使用调试模式查看详细错误消息
- 权限问题:默认仅允许查询操作,检查是否需要启用插入/更新/删除权限
许可证
MIT License
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。