MySQL MCP服务器
MySQL数据库连接服务器 去mcp,支持通过stdio与客户端通信,允许执行SQL查询和数据操作。
特性
- 通过MCP协议与客户端通信
- 支持连接MySQL数据库
- 支持查询操作(SELECT、SHOW、DESCRIBE)
- 支持数据操作(插入/更新/删除)
- 权限控制(可配置插入、更新、删除操作)
- 通过环境变量灵活配置
- 调试模式,详细记录到文件中
安装
方法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密码 | 密码 |
DEFAULT_DATABASE | 默认数据库名称 | 测试 |
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),包括完整的请求、响应和错误信息。
与光标一起使用
此服务器旨在与支持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数据操作语句(插入/更新/删除)
发展
项目结构
ai2mysql-mcp-server/
└── cmd/
└── ai2mysql-mcp-server/ # Server entry
└── main.go # Main program依赖项
- go sql驱动程序/mysql:MySQL驱动程序
- ThinkInAIXYZ/go mcp:MCP协议库
调试和故障排除
调试模式
设置环境变量 IS_DEV=true 要启用调试模式,请执行以下操作:
IS_DEV=true ai2mysql-mcp-server在调试模式下,服务器将向指定的日志文件输出详细的日志,包括:
- 所有收到的请求和发送的响应
- 详细的SQL查询和执行信息
- 错误和异常情况
- 性能相关信息(如查询执行时间)
常见问题
如果在Cursor中遇到问题:
- 工具未显示:检查游标配置文件中的命令路径是否正确,确保可执行文件存在并具有执行权限
- 连接失败:检查数据库连接信息是否正确,使用调试模式查看详细的错误消息
- 权限问题:默认情况下只允许查询操作,请检查是否需要启用插入/更新/删除权限
许可证
MIT许可证
