Spring Boot + MySQL MCP 集成标准流程
1️⃣ 前提准备
- 已安装 Claude Code CLI (
claude
) - 已在 WSL 或 Linux 下配置好 Node.js 和 npx
- 已创建 Spring Boot 项目,并且有一个开发环境的 MySQL 数据库
2️⃣ 数据库账号和权限设置(安全必做)
不要直接用 root 账号!
假设开发库名为 dev_db
,MySQL 命令如下:
CREATE DATABASE dev_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'dev_user'@'%' IDENTIFIED BY 'dev_pass';GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER ON dev_db.* TO 'dev_user'@'%';FLUSH PRIVILEGES;
✅ 注意:
- 不要授予
DROP DATABASE
、GRANT
权限 - 只允许开发库被操作
3️⃣ 在项目里配置 MySQL MCP(project 级别)
切换到 Spring Boot 项目根目录:
cd /mnt/d/projects/my-springboot-app
执行:
claude mcp add mysql -s project \
-e MYSQL_HOST=127.0.0.1 \
-e MYSQL_PORT=3306 \
-e MYSQL_USER=dev_user \
-e MYSQL_PASSWORD=dev_pass \
-e MYSQL_DATABASE=dev_db \
-- npx -y @modelcontextprotocol/server-mysql
⚡
-s project
确保 MCP 配置只对当前项目生效
配置成功后,.claude.json
文件里会有类似内容:
{"mcpServers": {"mysql": {"command": "npx","args": ["-y", "@modelcontextprotocol/server-mysql"],"env": {"MYSQL_HOST": "127.0.0.1","MYSQL_PORT": "3306","MYSQL_USER": "dev_user","MYSQL_PASSWORD": "dev_pass","MYSQL_DATABASE": "dev_db"}}}
}
4️⃣ Spring Boot 数据源配置(可选)
如果你希望 MCP 操作和 Spring Boot 使用同一个数据库环境,建议使用环境变量:
在 .bashrc
或项目 .env
中:
export DB_HOST=127.0.0.1
export DB_PORT=3306
export DB_USER=dev_user
export DB_PASS=dev_pass
export DB_NAME=dev_db
application.yml
:
spring:datasource:url: jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}username: ${DB_USER}password: ${DB_PASS}
这样 MCP 和 Spring Boot 都能自动连接到 dev 数据库。
5️⃣ 验证 MCP 是否生效
claude mcp list
应该看到类似输出:
mysql: npx -y @modelcontextprotocol/server-mysql - ✓ Running
如果失败,检查:
- Node.js 代理是否生效
- 数据库是否能连通
.claude.json
是否在项目根目录
6️⃣ Claude 操作数据库示例
进入项目目录:
cd /mnt/d/projects/my-springboot-app
claude
在 Claude CLI 里:
/init
然后就可以让 Claude 生成建表语句、增删改查:
/create table user(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(100));
/insert into user(name, email) values("FishG", "fishg@example.com");
/select * from user;
MCP 会把这些命令通过 dev_user 连接到
dev_db
执行。
7️⃣ 权限和安全最佳实践
- MCP 只连开发库,不连测试或生产
- 开发库账号只给必要权限
- 日志留存,每次 Claude 执行 SQL 都可以追踪
- 如果需要多人开发,每人都可以配置 project 级 MCP,互不干扰
✅ 总结
- 每个后端项目只需 一个 project 级 MySQL MCP,连开发库即可
- 环境变量管理数据库连接,保证 Spring Boot 和 MCP 一致
- 测试 / 生产不要给 MCP 权限
- 安全权限控制 + 日志追踪