本项目是一个零负担、即用型的模型上下文协议(MCP)服务器,专门用于与 MySQL 进行交互和自动化操作。无需 Node.js 或 Python 环境,该服务器提供了一系列工具,可对 MySQL 数据库和表执行 CRUD 操作,同时还具备只读模式,能有效防止意外的写入操作。此外,您还可以通过添加 --with-explain-check
标志,在执行查询前使用 EXPLAIN
语句来检查查询计划。不过需要注意的是,这是一个正在开发中的项目,可能尚未适合投入生产环境使用。
本部分将为您介绍如何安装和使用这个 MCP MySQL 服务器。
您可以通过以下两种方式安装本项目:
$PATH
中,或者放在一个您方便访问的位置。go install -v github.com/Zhwt/go-mcp-mysql@latest
{
"mcpServers": {
"mysql": {
"command": "go-mcp-mysql",
"args": [
"--host", "localhost",
"--user", "root",
"--pass", "password",
"--port", "3306",
"--db", "mydb"
]
}
}
}
{
"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\\\\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
--src-dsn
:源数据库连接字符串(必填)。--dest-filename
:输出文件名,格式为 {db}_{table}.sql
(可选,默认为 stdout
)。mysql-backup --src-dsn "root:password@tcp(localhost:3306)/test"
--dsn
:数据库连接字符串(必填)。--filename
:输入文件路径(必填)。mysql-import --dsn "root:password@tcp(localhost:3306)/test" --filename user.sql
--src-dsn
:源数据库连接字符串(必填)。--dest-filename
:输出文件名,格式为 {db}_{table}.sql
(可选,默认为 stdout
)。mysql-export --src-dsn "root:password@tcp(localhost:3306)/test"
该项目采用 MIT 许可证。