这是一个用于与 MySQL 数据库交互的模型上下文协议(MCP)服务器。它允许 MCP 客户端(如 AI 助手)对配置好的 MySQL 数据库中的数据进行查询和修改操作。
在使用该服务器前,你需要完成安装和配置。安装可选择作为项目依赖安装,也可作为独立全局工具安装。配置时需设置好相应的环境变量。完成这些步骤后,构建项目并启动服务器,之后 MCP 客户端就可以连接使用了。
SELECT
, SHOW
, DESCRIBE
)。MYSQL_ALLOW_WRITE_OPS
)支持写操作 (INSERT
, UPDATE
, DELETE
),该变量设为 true
可启用这些操作,默认禁用(写操作不可用)。注意: 启用写操作允许 MCP 客户端修改您的数据库,请谨慎使用。# 作为项目依赖安装(推荐在其他项目中使用)
npm install
# 或,如果需要作为独立全局工具:
# 1. 构建项目:
# npm run build
# 2. 全局链接:
# npm link
# (或使用 `npm install -g .` 如果已发布)
此服务器需要以下环境变量设置以进行数据库连接:
MYSQL_HOST
:MySQL 服务器的主机名或 IP 地址。MYSQL_USER
:用于连接到数据库的用户名。MYSQL_PASSWORD
:指定用户的密码。MYSQL_DATABASE
:要连接到的数据库名称。MYSQL_PORT
:(可选)MySQL 服务器的端口号(默认为 3306)。MYSQL_ALLOW_WRITE_OPS
:(可选)设为 true
可启用 insert
, update
, 和 delete
工具,默认为 false
(写操作禁用)。⚠️ 重要提示
启用写操作允许 MCP 客户端修改您的数据库,请谨慎使用。
这些变量需要在服务器进程运行的环境中可用。如何设置它们取决于您的操作系统和运行服务器的方式(例如,.env
文件、系统环境变量、shell 导出)。
配置完成后并构建(npm run build
),您可以运行服务器:
# 如果已全局链接
mysql-server
# 或直接使用 node 运行
node build/index.js
服务器将启动并在 stderr 中打印 MySQL MCP 服务器在 stdio 上运行
,然后监听标准输入/输出上的 MCP 请求。您通常会配置您的 MCP 客户端(例如 AI 助手集成)连接到此服务器进程。
服务器为 MCP 客户端公开以下工具:
query
{
"type": "object",
"properties": {
"sql": {
"type": "string",
"description": "要执行的只读 SQL 查询 (SELECT, SHOW, DESCRIBE)。"
}
},
"required": ["sql"]
}
content
中返回查询结果。如果查询不是只读或出现数据库错误,将返回错误。insert
MYSQL_ALLOW_WRITE_OPS
设为 true
。{
"type": "object",
"properties": {
"sql": {
"type": "string",
"description": "要执行的 INSERT SQL 语句。"
}
},
"required": ["sql"]
}
update
MYSQL_ALLOW_WRITE_OPS
设为 true
。{
"type": "object",
"properties": {
"sql": {
"type": "string",
"description": "要执行的 UPDATE SQL 语句。"
}
},
"required": ["sql"]
}