tianyuso/mcp_mysql_server
3.2
If you are the rightful owner of mcp_mysql_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Go-based MySQL database query MCP server using the `github.com/mark3labs/mcp-go` library, enabling database query operations via the MCP protocol.
Tools
3
Resources
0
Prompts
0
MCP MySQL Server
一个基于 Go 语言和 github.com/mark3labs/mcp-go
库开发的 MySQL 数据库查询 MCP 服务器,支持通过 MCP 协议进行数据库查询操作。
功能特性
- 🔐 安全的 MySQL 数据库连接
- 📊 支持 SQL 查询(SELECT、SHOW、DESCRIBE、EXPLAIN 语句)
- 📋 获取数据库表列表
- 🔍 查看表结构信息
- 🛡️ 内置 SQL 注入防护
- 🔧 灵活的环境变量配置
- ⚠️ 可配置的写操作权限控制
安装和使用
1. 编译程序
go mod tidy
go build -o mcp-mysql-server
2. 配置环境变量
根据你的 MySQL 配置设置以下环境变量:
export MYSQL_HOST=127.0.0.1
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASS=root
export MYSQL_DB=mysql
export ALLOW_INSERT_OPERATION=false
export ALLOW_UPDATE_OPERATION=false
export ALLOW_DELETE_OPERATION=false
3. 配置 MCP 客户端
在 Cursor 的 ~/.cursor/mcp.json
配置文件中添加:
{
"mcpServers": {
"mysql-db-server": {
"autoApprove": [],
"disabled": false,
"timeout": 30,
"command": "/data/project/mcp_test/mcp_mysql_server/mcp-mysql-server",
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "root",
"MYSQL_DB": "mysql",
"ALLOW_INSERT_OPERATION": "false",
"ALLOW_UPDATE_OPERATION": "false",
"ALLOW_DELETE_OPERATION": "false"
},
"transportType": "stdio"
}
}
}
支持的工具
1. mysql_query
执行 MySQL 查询语句并返回结果(支持 SELECT、SHOW、DESCRIBE、EXPLAIN 语句)
参数:
sql
(string): 要执行的 SQL 查询语句
示例:
SELECT * FROM users WHERE id = 1
2. list_tables
获取数据库中所有表的列表
参数: 无
示例:
显示数据库中有哪些表
3. describe_table
获取指定表的结构信息
参数:
table_name
(string): 要查看结构的表名
示例:
显示 users 表的结构
安全说明
- 默认仅支持 SELECT、SHOW、DESCRIBE、EXPLAIN 查询语句
- 可通过环境变量配置是否允许 INSERT、UPDATE、DELETE 操作
- 内置 SQL 注入防护机制
- 建议使用只读权限的 MySQL 用户(当禁用写操作时)
环境变量配置
环境变量 | 默认值 | 说明 |
---|---|---|
MYSQL_HOST | 127.0.0.1 | MySQL 服务器地址 |
MYSQL_PORT | 3306 | MySQL 服务器端口 |
MYSQL_USER | root | MySQL 用户名 |
MYSQL_PASS | (空) | MySQL 密码 |
MYSQL_DB | mysql | MySQL 数据库名 |
ALLOW_INSERT_OPERATION | false | 是否允许 INSERT 操作 |
ALLOW_UPDATE_OPERATION | false | 是否允许 UPDATE 操作 |
ALLOW_DELETE_OPERATION | false | 是否允许 DELETE 操作 |
依赖项
- Go 1.23.2+
- github.com/go-sql-driver/mysql v1.7.1
- github.com/mark3labs/mcp-go v0.6.0
许可证
MIT License