MySQL MCP 服务器
用于与 MySQL 数据库交互的 MCP 服务器。
该服务器支持执行只读查询(query)和最终回滚的写查询(test_execute)。
设置
环境变量
将以下环境变量添加到~/.mcp/.env :
MYSQL_HOST=host.docker.internal # Hostname to access host services from Docker container
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your_password注意:
host.docker.internal是一个特殊的 DNS 名称,用于从 Docker 容器访问主机服务。连接到主机上运行的 MySQL 服务器时请使用此设置。如果连接到其他 MySQL 服务器,请更改为相应的主机名。
mcp.json 配置
{
"mcpServers": {
"mysql": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host=host.docker.internal:host-gateway",
"--env-file",
"/Users/username/.mcp/.env",
"ghcr.io/xiangma9712/mcp/mysql"
]
}
}
}Related MCP server: MCP MySQL Server
用法
启动服务器
docker run -i --rm --add-host=host.docker.internal:host-gateway --env-file ~/.mcp/.env ghcr.io/xiangma9712/mcp/mysql注意:如果您使用的是 OrbStack,则会自动支持
host.docker.internal,因此可以省略--add-host选项。虽然 Docker Desktop 通常也自动支持此功能,但为了获得更好的可靠性,建议添加--add-host选项。
可用命令
1.执行只读查询
{
"type": "query",
"payload": {
"sql": "SELECT * FROM your_table"
}
}回复:
{
"success": true,
"data": [
{
"id": 1,
"name": "example"
}
]
}2.测试查询执行
{
"type": "test_execute",
"payload": {
"sql": "UPDATE your_table SET name = 'updated' WHERE id = 1"
}
}回复:
{
"success": true,
"data": "The UPDATE SQL query can be executed."
}3. 列出表格
{
"type": "list_tables"
}回复:
{
"success": true,
"data": ["table1", "table2", "table3"]
}4.描述表
{
"type": "describe_table",
"payload": {
"table": "your_table"
}
}回复:
{
"success": true,
"data": [
{
"Field": "id",
"Type": "int(11)",
"Null": "NO",
"Key": "PRI",
"Default": null,
"Extra": ""
},
{
"Field": "name",
"Type": "varchar(255)",
"Null": "YES",
"Key": "",
"Default": null,
"Extra": ""
}
]
}实现细节
使用 TypeScript 实现
使用 mysql2 包
作为 Docker 容器运行
通过标准输入接受 JSON 命令
通过标准输出返回 JSON 响应
使用
host.docker.internal连接到主机 MySQL(兼容 OrbStack 和 Docker Desktop)
安全注意事项
使用环境变量进行敏感信息管理
预防 SQL 注入是实施者的责任
生产使用需要正确的网络配置
连接主机服务时需要适当的防火墙设置
A
license - permissive licenseB
qualityF
maintenanceMaintenance
–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xiangma9712/mysql-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
