article
README
🚀 零负担、即用型模型上下文协议(MCP)MySQL服务器
本项目是一个零负担、即用型的模型上下文协议(MCP)服务器,专门用于与 MySQL 进行交互和自动化操作。无需 Node.js 或 Python 环境,该服务器提供了一系列工具,可对 MySQL 数据库和表执行 CRUD 操作,同时还具备只读模式,能有效防止意外的写入操作。此外,您还可以通过添加 --with-explain-check 标志,在执行查询前使用 EXPLAIN 语句来检查查询计划。不过需要注意的是,这是一个正在开发中的项目,可能尚未适合投入生产环境使用。
🚀 快速开始
本部分将为您介绍如何安装和使用这个 MCP MySQL 服务器。
📦 安装指南
您可以通过以下两种方式安装本项目:
- 下载最新发布版本,并将其放置在您的
$PATH中,或者放在一个您方便访问的位置。 - 如果您已经安装了 Go,也可以从源代码进行构建:
go install -v github.com/Zhwt/go-mcp-mysql@latest
💻 使用示例
方法 A:使用命令行参数
{
"mcpServers": {
"mysql": {
"command": "go-mcp-mysql",
"args": [
"--host", "localhost",
"--user", "root",
"--pass", "password",
"--port", "3306",
"--db", "mydb"
]
}
}
}
方法 B:使用带自定义选项的 DSN
{
"mcpServers": {
"mysql": {
"command": "go-mcp-mysql",
"args": [
"--dsn", "username:password@tcp(localhost:3306)/mydb?parseTime=true&loc=Local"
]
}
}
}
请参阅MySQL DSN以获取更多详细信息。
注意:如果您将二进制文件放在不在 $PATH 中的位置,需要用完整路径替换 go-mcp-mysql。例如,如果您将二进制文件放在下载文件夹中,则可以使用以下路径:
{
"mcpServers": {
"mysql": {
"command": "C:\\Users\\<username>\\Downloads\\go-mcp-mysql.exe",
"args": [
...
]
}
}
}
可选标志
- 只读模式:添加
--read-only标志以启用只读模式。在此模式下,仅允许以list、read_和desc_开头的工具使用。请确保在添加此标志后刷新/重新启动。 - 检查查询计划:启用检查查询计划功能,方法是在执行查询之前使用
EXPLAIN语句:
# 检查单条查询
go-mcp-mysql --dsn "root:password@tcp(localhost:3306)/test" --with-explain -sql "SELECT * FROM user"
# 启用检查所有查询
export GMCP_CHECK_QUERY=true
🛠️ 工具介绍
Schema Tools
mysql-backup
- 功能:备份指定数据库的所有表结构。
- 参数:
--src-dsn:源数据库连接字符串(必填)。--dest-filename:输出文件名,格式为{db}_{table}.sql(可选,默认为stdout)。
- 示例:
mysql-backup --src-dsn "root:password@tcp(localhost:3306)/test"
Data Tools
mysql-import
- 功能:将 SQL 文件导入到指定数据库。
- 参数:
--dsn:数据库连接字符串(必填)。--filename:输入文件路径(必填)。
- 示例:
mysql-import --dsn "root:password@tcp(localhost:3306)/test" --filename user.sql
mysql-export
- 功能:将指定数据库的所有表导出为 SQL 文件。
- 参数:
--src-dsn:源数据库连接字符串(必填)。--dest-filename:输出文件名,格式为{db}_{table}.sql(可选,默认为stdout)。
- 示例:
mysql-export --src-dsn "root:password@tcp(localhost:3306)/test"
📄 许可证
该项目采用 MIT 许可证。
扫码联系在线客服