转到mcp mysql
概述
零负担、即用型模型上下文协议(MCP)服务器,用于与MySQL交互和自动化。不需要Node.js或Python环境。该服务器提供对MySQL数据库和表执行CRUD操作的工具,以及防止意外写入操作的只读模式。您还可以使用以下命令使MCP服务器检查查询计划 EXPLAIN 在执行查询之前,通过添加一个 --with-explain-check 旗帜。
请注意,这是一项正在进行的工作,可能尚未准备好投入生产使用。
安装
- 获取最新 发布 把它放在你的
$PATH或者你可以很容易地到达的地方。
- 或者,如果你已经安装了Go,你可以从源代码构建它:
go install -v github.com/optimisticdur/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\\\\Downloads\\go-mcp-mysql.exe",
"args": [
...
]
}
}
}可选标志
- 添加a
--read-only标志以启用只读模式。在此模式下,只有以开头的工具list,read_和desc_可用。添加此标志后,请确保刷新/重新启动MCP服务器。 - 默认情况下,CRUD查询将首先使用
EXPLAIN ?语句,用于检查生成的查询计划是否与预期模式匹配。添加a--with-explain-check标记以禁用此行为。
工具
架构工具
list_database
- 列出MySQL服务器中的所有数据库。 - 参数:无 - 返回:匹配的数据库名称列表。
list_table
- 列出MySQL服务器中的所有表。 - 参数: - name:如果提供,请列出具有指定名称的表,与SQL相同 SHOW TABLES LIKE '%name%'。否则,请列出所有表。 - 返回:匹配表名的列表。
create_table
- 在MySQL服务器中创建一个新表。 - 参数: - query:创建表的SQL查询。 - 返回:受影响的x行。
alter_table
- 更改MySQL服务器中的现有表。通知LLM不要删除现有的表或列。 - 参数: - query:更改表的SQL查询。 - 返回:受影响的x行。
desc_table
- 描述表格的结构。 - 参数: - name:要描述的表的名称。 - 返回值:表的结构。
数据工具
read_query
- 执行只读SQL查询。 - 参数: - query:要执行的SQL查询。 - 返回:查询的结果。
write_query
- 执行写SQL查询。 - 参数: - query:要执行的SQL查询。 - 返回:受影响的x行,最后插入id:\。
update_query
- 执行更新SQL查询。 - 参数: - query:要执行的SQL查询。 - 返回:受影响的x行。
delete_query
- 执行删除SQL查询。 - 参数: - query:要执行的SQL查询。 - 返回:受影响的x行。
许可证
麻省理工学院
