CodeBuddy 中使用 MCP 连接 MySQL 数据库 — 完整指南
一、什么是 MySQL MCP
MCP(Model Context Protocol)是一种开放协议,让 AI 助手(如 CodeBuddy)通过标准化接口连接外部数据源。
MySQL MCP Server是一个独立的服务进程,它把 MySQL 数据库能力(列出表、执行查询等)封装成标准的 MCP 工具,CodeBuddy 作为 MCP Client 连接后即可让 AI 直接读写你的数据库。
常见可用的 MySQL MCP Server 实现:
@anthropic/mcp-server-mysql(官方 Node 版,常用)mysql-mcp-server(社区版)
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
二、环境要求
| 组件 | 说明 |
|---|---|
| Docker 或 Node.js 18+ | 运行 MySQL MCP Server |
| MySQL 数据库 | 目标库(如spring_ai_copilot,地址127.0.0.1:3306) |
| CodeBuddy | 已支持 MCP 配置的版本(设置 → MCP 服务器) |
三、在 CodeBuddy 中配置 MySQL MCP
方式一:通过 UI 添加(推荐)
路径:CodeBuddy 设置 →MCP 服务器→添加服务器
填写字段:
| 字段 | 值 |
|---|---|
| 名称 | mysql-server |
| 描述 | MySQL 数据库连接(可选) |
| 类型 | LOCAL(本地 STDIO 方式启动子进程) |
| 状态 | ENABLED(启用) |
| 配置 JSON | 见下方 |
配置 JSON(本地命令方式):
{"command":"npx","args":["-y","@anthropic/mcp-server-mysql","--host","127.0.0.1","--port","3306","--user","root","--password","123456","--database","spring_ai_copilot"],"env":{"MYSQL_HOST":"127.0.0.1","MYSQL_PORT":"3306","MYSQL_USER":"root","MYSQL_PASS":"123456","MYSQL_DB":"spring_ai_copilot"}}如果 npx.cmd 路径不对?
不确定路径的话,打开 PowerShell 执行:
where.exe npx
用输出的全路径替换 command 的值即可。
如果配置之后提示:
MCP error -32000: Connection closed
npm error 404 Not Found - GET https://registry.npmjs.org/@anthropic%2fmcp-server-mysql - Not found
npm error 404
npm error 404 ‘@anthropic/mcp-server-mysql@*’ is not in this registry.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
npm error A complete log of this run can be found in: C:\Users\admin\AppData\Local\npm-
原因是:
@anthropic/mcp-server-mysql 这个包已经不存在于 npm 仓库了(可能已改名或下架)。
替代方案
使用 @wenit/mysql-mcp-server(Node.js,与 npx 方式最接近)
把 args 中的包名替换即可:
{ "mcpServers": { "mysql-server": { "type": "stdio", "command": "D:/SoftWare/node22/npx.cmd", "args": ["-y", "@wenit/mysql-mcp-server"], "env": { "MYSQL_HOST": "127.0.0.1", "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASSWORD": "123456", "MYSQL_DATABASE": "spring_ai_copilot" }, "description": "MySQL 数据库查询服务" } } }方式二:远程(REMOTE)SSE 方式
如果你已单独部署了一个 MySQL MCP HTTP 服务,可改用远程配置:
{"baseUrl":"http://localhost:8081/mcp"}类型选择REMOTE,其余字段留空。
四、配置参数说明
| 参数 | 含义 | 示例 |
|---|---|---|
command | 启动 MCP Server 的命令 | npx |
args | 命令参数(注意-y表示自动安装包) | ["-y", "@anthropic/mcp-server-mysql", ...] |
--host/--port | MySQL 主机与端口 | 127.0.0.1/3306 |
--user/--password | 数据库账号密码 | root/123456 |
--database | 默认连接的数据库名 | spring_ai_copilot |
env | 环境变量(部分 Server 用环境变量读连接信息) | 见上方 JSON |
baseUrl | 远程模式下的 MCP 服务地址(SSE/HTTP) | http://host:port/mcp |
五、使用流程(用户视角)
1. 在 CodeBuddy 设置中添加 MySQL MCP Server 配置 2. 在工具列表点击「测试」验证连接 3. 确认状态为「启用 (ENABLED)」 4. 回到对话,直接向 AI 提问数据库相关的问题 5. AI 自动选择并调用 MySQL MCP 工具,返回结果AI 会根据你的自然语言意图,自动决定调用哪个工具,例如:
- “列出所有表” → 调用列出表工具
- “查看 xxx 表结构” → 调用查询工具执行
DESCRIBE - “统计每个厂家的模型数” → 调用查询工具执行
SELECT ... GROUP BY
六、UI 操作要点
| 操作 | 位置 | 说明 |
|---|---|---|
| 添加服务器 | MCP 服务器 → 添加服务器 | 填名称/类型/状态/配置 JSON |
| 测试连接 | 工具列表右侧「试管」图标 | 返回「连接成功,发现 X 个工具」即正常 |
| 启用/禁用 | 列表「暂停/播放」图标 | 禁用后 AI 不再调用该工具 |
| 编辑/删除 | 列表「编辑/删除」图标 | 修改配置后重新测试 |
| 查看详情 | 列表「眼睛」图标 | 查看配置 JSON 与已发现工具 |
七、问题排查
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
找不到npx命令 | 未安装 Node.js 或不在 PATH | 安装 Node.js 18+ 并确认npx -v可用 |
ECONNREFUSED 127.0.0.1:3306 | MySQL 未启动或端口不通 | 确认 MySQL 服务已启动,netstat -ano | findstr :3306检查 |
Access denied for user | 账号/密码错误或无权限 | 核对--user/--password,确保允许连接 |
Unknown database | 数据库不存在 | 先CREATE DATABASE spring_ai_copilot; |
| 连接超时 | Server 启动慢或命令错误 | 检查args拼写;本地首次npx安装包需等待 |
| 测试失败但 MySQL 正常 | 配置 JSON 语法错误 | 在 JSON 编辑器确认格式合法(无多余逗号/引号) |
| 工具列表为空 | 数据库未注册或状态为禁用 | 确认工具状态为ENABLED且测试通过 |
命令行验证 MCP Server 本身:
npx-y@anthropic/mcp-server-mysql\--host127.0.0.1--port3306\--userroot--password123456\--databasespring_ai_copilot能正常启动并打印工具列表,说明 Server 侧没问题,再回到 CodeBuddy 排查配置。
数据库侧连通性自查:
SELECT1;SHOWDATABASES;八、使用示例
配置并启用后,直接在对话中提问即可:
| 你的提问 | 效果 |
|---|---|
使用 MySQL MCP 连接我的数据库,列出所有表 | 返回数据库全部表清单 |
查看 model_llm 表的结构 | 返回字段、类型、约束 |
统计每个模型厂家的模型数量 | 执行分组聚合查询并返回结果 |
查一下 mcp_tool_info 表前 5 条记录 | 返回前 5 行数据 |
九、小结
- MySQL MCP 把数据库操作封装成 AI 可调用的工具,配置一次即可反复使用。
- 核心就是一份配置 JSON:写好启动命令 + MySQL 连接参数,类型选
LOCAL,状态设ENABLED。 - 配好后用「测试连接」验证,再回到对话用自然语言提问即可。
- 排查优先顺序:MySQL 本身可连 → MCP Server 命令可启动 → CodeBuddy 配置 JSON 合法 → 工具状态为启用。