Ai2mysql Mcp Server

Ai2mysql Mcp Server

🚀 MySQL MCP 服务器

MySQL MCP 服务器是一个基于 go-mcp 的数据库连接服务器,它支持通过标准输入输出(stdio)与客户端进行通信,可执行各类 SQL 查询和数据操作,为数据库交互提供了便捷的解决方案。

✨ 主要特性

  • 协议通信:通过 MCP 协议与客户端进行高效通信。
  • 数据库连接:支持连接到 MySQL 数据库。
  • 查询操作:支持常见的查询操作,如 SELECTSHOWDESCRIBE
  • 数据操作:支持 INSERTUPDATEDELETE 等数据操作。
  • 权限控制:可灵活配置插入、更新、删除操作的权限。
  • 环境配置:支持通过环境变量进行灵活配置。
  • 日志记录:在开发模式下提供详细的日志记录。

📦 安装指南

方法 1:直接安装(推荐)

使用 Go 的 install 命令从 GitHub 直接安装:

go install github.com/blanplan-ai/ai2mysql-mcp-server/cmd/ai2mysql-mcp-server@latest

方法 2:手动构建

# 克隆仓库
git clone https://github.com/blanplan-ai/ai2mysql-mcp-server.git
cd ai2mysql-mcp-server

# 构建服务器
go build -o ai2mysql-mcp-server ./cmd/ai2mysql-mcp-server

💻 使用示例

启动服务器

# 基本启动
ai2mysql-mcp-server

# 开发模式
IS_DEV=true ai2mysql-mcp-server

与 Cursor 配合使用

在 Cursor 中配置工具时,需要指定可执行文件的路径,并设置相应的环境变量。例如:

{
"name": "MySQL MCP",
"command": "/path/to/ai2mysql-mcp-server",
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASSWORD": "password",
"DEFAULT_DATABASE": "testdb",
"ALLOW_INSERT": "true",
"ALLOW_UPDATE": "true",
"ALLOW_DELETE": "true",
"IS_DEV": "false"
}
}

执行 SQL 操作

  • 查询操作
echo "mysql_query --sql='SELECT * FROM users'" | ai2mysql-mcp-server
  • 数据操作
echo "mysql_execute --sql='INSERT INTO users(name,email) VALUES('John','john@example.com')'" | ai2mysql-mcp-server

📚 详细文档

配置说明

服务器通过环境变量进行配置,以下是各环境变量的说明:

属性 详情
MYSQL_HOST MySQL 服务的主机地址,默认为 "localhost"。
MYSQL_PORT MySQL 服务的端口号,默认为 3306。
MYSQL_USER 连接 MySQL 的用户名。
MYSQL_PASSWORD 连接 MySQL 的密码。
DEFAULT_DATABASE 默认使用的数据库名称。
ALLOW_INSERT 允许插入操作,值为 "true" 或 "false"。
ALLOW_UPDATE 允许更新操作,值为 "true" 或 "false"。
ALLOW_DELETE 允许删除操作,值为 "true" 或 "false"。
IS_DEV 启用开发模式,值为 "true" 或 "false"。启用后会输出详细日志。

项目结构

ai2mysql-mcp-server/
└── cmd/
└── ai2mysql-mcp-server/  # 服务器入口
└── main.go          # 主程序

依赖项

🔧 技术细节

调试和故障排除

开发模式

设置环境变量 IS_DEV=true 启用调试模式:

IS_DEV=true ai2mysql-mcp-server

在调试模式下,服务器会输出详细日志,包括接收的所有请求、发送的所有响应、详细的 SQL 查询和执行信息、错误条件以及性能相关信息(如查询执行时间)。

常见问题

  1. 工具未显示:检查命令路径是否正确,确保可执行文件存在且有执行权限。
  2. 连接失败:检查数据库连接信息是否正确,使用调试模式查看详细错误消息。
  3. 权限问题:默认情况下只允许查询操作,检查是否需要启用插入、更新或删除权限。

📄 许可证

本项目采用 MIT License 进行许可。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 15:33

相似服务问题