Kiro 、Cursor、WindowSurf - mysql-mcp 配置指南
不仅Kiro 适用于 Cursor, Claude , WindowSurf 等大部分 IDE
下文以 Kiro 为例
一、MySQL 只读用户创建
1.1 登录 MySQL
mysql -u root -p
1.2 创建只读用户(授予所有数据库只读权限)
-- 创建用户 mcp_user,限制只能从指定 IP 连接(请将 '你的桌面IP' 替换为实际 IP)
CREATE USER 'mcp_user'@'你的桌面IP' IDENTIFIED BY '#123456';
-- 授予所有数据库的只读权限
GRANT SELECT, SHOW VIEW ON *.* TO 'mcp_user'@'你的桌面IP';
-- 授予查看所有数据库列表的权限(MCP 探索用)
GRANT SHOW DATABASES ON *.* TO 'mcp_user'@'你的桌面IP';
-- 刷新权限使生效
FLUSH PRIVILEGES;
1.3 验证用户权限
bash
mysql -u mcp_user -p -h 数据库地址
输入密码 #123456 后,执行:
sql
SHOW DATABASES; -- 应能看到所有数据库列表
SELECT * FROM 某数据库.某表 LIMIT 10; -- 应能查询数据
DELETE FROM 某数据库.某表 WHERE id=1; -- 应报错拒绝
1.4 清理用户(如需删除)
DROP USER 'mcp_user'@'你的桌面IP';
二、Kiro MCP 配置
2.1 前置准备(Windows)
- 本文采用 designcomputer/mysql_mcp_server:这是另一个非常热门的选择,GitHub 星标数也高达 1.3k。它是一个纯 Python 实现的项目,遵循 MCP 标准,设置相对简单。 它的设计目标是简单、实用、安全。
bash
# 安装 Python(确保 3.8+)
python --version
# 安装 uv 工具(PowerShell 执行)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 安装 mysql-mcp-server
pip install mysql-mcp-server
2.2 配置 Kiro 的 mcp.json
配置文件位置(二选一):
- 项目级 :
项目根目录/.kiro/settings/mcp.json - 用户级 :
C:\Users\你的用户名\.kiro\settings\mcp.json
将以下内容填入 mcp.json:
json
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "你的云数据库域名或IP",
"MYSQL_PORT": "3306",
"MYSQL_USER": "mcp_user",
"MYSQL_PASSWORD": "#123456",
"MYSQL_SSL_MODE": "DISABLED",
"MYSQL_SSH_ENABLE": "false",
"MYSQL_CONNECT_TIMEOUT": "30"
}
}
}
}
⚠️ 注意:
- 将
MYSQL_HOST替换为实际的数据库地址- 如果数据库不支持 SSL,可将
MYSQL_SSL_MODE改为DISABLED- 密码
#123456含特殊字符,JSON 中直接放在双引号内即可,无需转义
2.3 环境变量替代方案(推荐,避免密码暴露)
如果不想在 mcp.json 中明文写入密码,可以改用环境变量:
json
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": ["mysql_mcp_server"],
"env": {
"MYSQL_HOST": "你的数据库地址",
"MYSQL_PORT": "3306",
"MYSQL_USER": "mcp_user",
"MYSQL_PASSWORD": "${env:MYSQL_PASSWORD}",
"MYSQL_SSL_MODE": "REQUIRED"
}
}
}
}
然后在 Windows 系统环境变量中新建 MYSQL_PASSWORD,值为 #123456。
2.4. 如果不想用SSL模式
-
mcp 配置 env
json"MYSQL_SSL_MODE": "DISABLED", "MYSQL_SSH_ENABLE": "false", -
mysql 用户密码插件改成传统的
sh
ALTER USER 'mcp_user'@'*' IDENTIFIED WITH mysql_native_password BY '#123456';
3. 效果示例

