go-mcp-mysql 是一个零负担、开箱即用的 Model Context Protocol(MCP)服务器,用于与 MySQL 交互和自动化。它使用 Go 语言编写,不需要 Node.js 或 Python 环境。
用途
该服务器为 MCP 客户端(如 AI 助手)提供操作 MySQL 数据库的工具,支持对数据库和表进行 CRUD 操作,并可通过只读模式防止意外的写操作。
主要能力
- 提供 list_database、list_table、desc_table 等工具用于查看数据库和表结构。
- 提供 create_table、alter_table、read_query、write_query、update_query、delete_query 等工具用于执行 SQL 操作。
- 支持只读模式:添加 --read-only 标志后,仅 list、read_ 和 desc_ 开头的工具可用。
- 支持查询计划检查:默认情况下,CRUD 查询会先执行 EXPLAIN ? 语句检查查询计划是否符合预期;添加 --with-explain-check 标志可禁用此行为。
使用方式
- 获取最新发布版本,将其放入 $PATH 或易于访问的位置。
- 如果已安装 Go,也可以从源码构建。
- 配置方式有两种:方法 A 使用命令行参数;方法 B 使用带自定义选项的 DSN。具体请参考 MySQL DSN 文档。
- 如果二进制文件不在 $PATH 中,需要将 go-mcp-mysql 替换为二进制文件的完整路径。
- 添加 --read-only 标志启用只读模式,添加后需刷新/重启 MCP 服务器。
- 添加 --with-explain-check 标志禁用默认的 EXPLAIN 检查。
适用场景
适用于需要通过 MCP 协议让 AI 助手或自动化工具安全地查询和操作 MySQL 数据库的场景,尤其适合希望避免意外写操作的环境。
限制
该项目目前仍在开发中,可能尚未准备好用于生产环境。