Windows Claude Code配置MySQL MCP插件

前言

  • 最近我尝试在 Windows 系统上为 Claude Code配置 MySQL 的 MCP 插件,目的是让 AI 能够查询甚至操作数据库,在此过程中,我尝试了三款不同的 MCP 插件。其中第一款插件在设计上对 SQL 语句有一定限制,导致大模型需要多次调整生成的 SQL 语句才能成功调用。
  • 环境说明:Windows 11, Claude Code版本v2.0.22,MySQL版本8.0.25,Node.js版本v22.19.0,npm版本11.6.2,uv版本0.8.22
  • 本文记录了配置过程中的经验与问题,可能存在疏漏或更优的实践方式,欢迎指正交流,共同学习进步!

插件1:database-server

该插件源自这篇文章,但原文并未涉及 Windows 版 Claude Code 的配置方法,而 Windows 与 Linux 环境下的配置确实存在一些差异。因此,本文在此补充 Windows 平台下的具体配置步骤,以供参考。https://blog.youkuaiyun.com/weixin_41793160/article/details/151686576

第一步:安装插件

npm install -g @executeautomation/database-server

在这里插入图片描述

第二步:配置

claude mcp add --transport stdio database-server -- cmd /c "npx  @executeautomation/database-server --mysql --host <数据库主机地址> --port <数据库端口> --database <数据库名称> --user <数据库用户名> --password <数据库密码>"

这里的 database-server 仅是一个自定义的插件名称,可以根据需要将其替换为任意有意义的名称。此外请将配置命令中的占位符(包括尖括号 <> 本身)根据您的实际环境完整替换为对应值。例如,将 --host <数据库主机地址> 改为 --host 127.0.0.1

  • <数据库主机地址>:MySQL 服务器的 IP 地址或域名,例如127.0.0.1。
  • <数据库端口>:MySQL 服务监听的端口号,默认为3306,请根据实际配置填写。
  • <数据库名称>:要连接的具体数据库名。
  • <数据库用户名>:用于连接数据库的用户名,需具备相应权限。
  • <数据库密码>:对应用户的密码。

这里我在名为 SQLwriter 的项目目录下执行了上述配置命令。这样,该 MCP 插件仅在当前项目中生效——当我在 SQLwriter 项目中开发时,Claude Code 会自动加载此数据库插件;而在其他项目中则不会启用,避免了不必要的干扰或配置冲突。
在这里插入图片描述
从终端操作后可以观察到,用户目录下的 .claude.json 文件已被自动更新(例如在我的电脑上路径为 C:\Users\yu.claude.json,其中 yu 是我的用户名)。该文件不仅记录了各项目的 MCP 插件配置,还按项目隔离保存了聊天历史等信息。
刚才执行的配置命令,实际上就是在当前项目(如 SQLwriter)对应的配置区块中,更新了 mcpServers 字段。这也说明:我们完全可以手动编辑 .claude.json 文件来管理插件配置,但需特别注意 JSON 格式的正确性(如引号、逗号、括号匹配等),否则可能导致 Claude Code 无法正常读取配置。
在这里插入图片描述

第三步:测试验证

claude mcp list

在这里插入图片描述
当看到终端输出末尾出现 √ Connected 时,即表示插件配置成功。
也可以在项目目录下运行 claude 启动 Claude Code,然后输入 /mcp 命令,同样会显示 √ Connected,确认插件已正确加载并连接。
在这里插入图片描述
这里做了一个简单测试:由于当前项目中包含一些程序文件,若在提示词中未明确指定使用 MCP 工具查询数据库,Claude Code 通常会倾向于通过编写代码的方式来访问数据,而非直接调用数据库插件。
在这里插入图片描述
可以看到,在多次尝试使用 MCP 后,最终成功返回了查询结果,说明插件已正确配置并能正常工作。
如果需要删掉插件,可以通过如下命令

claude mcp remove database-server

在这里插入图片描述

插件2:mysql_mcp_server

https://github.com/designcomputer/mysql_mcp_server

第一步:下载插件

git clone https://github.com/designcomputer/mysql_mcp_server.git

在这里插入图片描述

第二步:配置

claude mcp add --transport stdio mysql-server -- cmd /c "uv --directory <mysql_mcp_server项目路径> run mysql_mcp_server" --env MYSQL_HOST=<数据库主机地址> MYSQL_PORT=<数据库端口> MYSQL_USER=<数据库用户名> MYSQL_PASSWORD=<数据库密码> MYSQL_DATABASE=<数据库名称>

这里的 mysql-server 仅是一个自定义的插件名称,可以根据需要将其替换为任意有意义的名称。此外请将配置命令中的占位符(包括尖括号 <> 本身)根据您的实际环境完整替换为对应值。例如,将 --host <数据库主机地址> 改为 --host 127.0.0.1

  • <mysql_mcp_server项目路径>:GitHub 上该 MCP 插件项目的本地克隆路径。
  • <数据库主机地址>:MySQL 服务器的 IP 地址或域名,例如127.0.0.1。
  • <数据库端口>:MySQL 服务监听的端口号,默认为3306,请根据实际配置填写。
  • <数据库名称>:要连接的具体数据库名。
  • <数据库用户名>:用于连接数据库的用户名,需具备相应权限。
  • <数据库密码>:对应用户的密码。

第三步:测试验证

在这里插入图片描述
测试验证类似插件1的步骤,这里就不再过多赘述。

插件3:mcp-server-mysql

https://github.com/benborla/mcp-server-mysql

第一步:下载插件

这里采用的方式是将 GitHub 项目克隆到本地。项目文档中提到的 npm 全局安装方法我也尝试过,但未能成功。

git clone https://github.com/benborla/mcp-server-mysql.git

注:如果下载速度较慢,可尝试使用Github Proxy https://github.akams.cn/加速,只需将目标仓库地址粘贴到页面箭头所示位置,点击“复制”按钮,然后在终端中执行生成的命令即可完成下载。
在这里插入图片描述

在这里插入图片描述
进入已下载的项目文件夹,打开终端并执行以下命令
在这里插入图片描述

npm install
npm run build

在这里插入图片描述

第二步:配置

claude mcp add --transport stdio mcp_server_mysql -- <本机node所在路径> <index.js所在路径> --env MYSQL_HOST=<数据库主机地址> MYSQL_PORT=<数据库端口> MYSQL_USER=<数据库用户名> MYSQL_PASS=<数据库密码> MYSQL_DB=<数据库名称> ALLOW_INSERT_OPERATION=false ALLOW_UPDATE_OPERATION=false ALLOW_DELETE_OPERATION=false
  • <本机node所在路径>:填写你本地 Node.js 可执行文件的完整路径,例如:“E:/Program Files/nodejs/node.exe”。注意路径需用英文双引号 “” 包裹,可以通过where node找到本地 Node.js 可执行文件。
    在这里插入图片描述

  • <index.js所在路径>:填写 mcp-server-mysql 项目中 index.js 文件的完整路径,例如:“E:/mcp-server-mysql/dist/index.js”。同样请使用英文双引号包裹路径。

  • <数据库主机地址>:MySQL 服务器的 IP 地址或域名,例如127.0.0.1。

  • <数据库端口>:MySQL 服务监听的端口号,默认为3306,请根据实际配置填写。

  • <数据库名称>:要连接的具体数据库名,若启用多数据库模式,则此项省略。

  • <数据库用户名>:用于连接数据库的用户名,需具备相应权限。

  • <数据库密码>:对应用户的密码。

  • 最后的三个 false 选项可根据实际需求调整为 true。

  • 更多的配置选项,请参考项目 GitHub 仓库中的说明文档。在这里插入图片描述
    打开 .claude.json 文件,可以看到执行上述命令后自动写入的配置。当然,你也可以跳过命令行操作,直接手动编辑该文件,但请务必确保 JSON 格式正确,以免配置失效。
    在这里插入图片描述

第三步:测试验证

通过两种方式查看 MCP 插件的连接状态:一是在命令行中执行 claude mcp list,二是在 Claude 聊天界面中输入 /mcp。两种方式均可显示插件处于 connected 状态。
在这里插入图片描述
问题测试也正常调用MCP工具
在这里插入图片描述

补充资料:Claude Code官方文档https://docs.claude.com/zh-CN/docs/claude-code/mcp

### MCP 协议简介 Claude Code 的强大之处在于其通过 **MCP(Model Context Protocol,模型上下文协议)** 与外部工具的无缝连接能力。MCP 协议是一种结构化通信机制,允许大型语言模型(LLM)直接控制和交互各种外部服务,如浏览器自动化、代码执行环境、数据库查询等,从而显著扩展 AI 模型的功能边界[^2]。 在实际应用中,MCP 可以让 Claude Code 执行多种复杂任务,例如网页数据抓取、自动填写表单、调用 API 接口以及管理本地开发环境等。这种能力使得用户能够将 AI 编程助手从一个单纯的代码生成器升级为一个可以主动执行任务的智能代理。 --- ### 常见的 MCP 命令 MCP 的操作需要在终端命令行界面中进行,不能通过软件内部设置完成。以下是一些基本的 MCP 命令: - `claude mcp list`:列出当前所有已安装的 MCP 服务。 - `claude mcp add`:添加新的 MCP 服务到当前环境中。 - `claude mcp remove`:移除某个不再需要的 MCP 服务。 这些命令可以帮助开发者灵活地管理他们所使用的外部工具和服务,确保工作流程的高效性和可控性[^1]。 --- ### 使用场景与实战示例 #### 浏览器自动化 **Browser MCP** 是基于 MCP 协议的一个典型应用场景,它使 LLM 能够直接控制浏览器行为,包括导航、点击按钮、填写表单、截图等功能。这种能力特别适用于自动化测试、数据爬虫或模拟用户操作等任务。相比于传统的视觉识别方式,Browser MCP 不依赖图像处理技术,而是通过结构化的指令集来实现更稳定和高效的浏览器控制[^4]。 例如,使用 Browser MCP 进行网页搜索并保存结果页面的截图,可以通过如下伪代码表示: ```python # 示例代码:使用 Browser MCP 进行网页搜索和截图 mcp.browser.navigate("https://www.google.com") mcp.browser.fill_form({"q": "Claude Code MCP 使用指南"}) mcp.browser.submit_form() mcp.browser.take_screenshot("search_results.png") ``` 此代码片段展示了如何利用 MCP 控制浏览器执行一系列动作,而无需手动干预或编写复杂的 Selenium 脚本。 --- ### 上下文管理功能 除了对 MCP 服务本身的控制外,Claude Code 还提供了一系列用于管理上下文状态的命令,以帮助用户更好地维护对话历史和临时数据: - `/memory`:编辑或查看当前的记忆内容,类似于为 AI 设置个性化的“内功心法”。 - `/mcp`:检查当前 MCP 服务的状态,确保所有外部工具正常运行。 - `/compact`:压缩上下文信息,避免因上下文过长而导致性能下降。 - `/clean`:清空当前上下文,重置工作环境。 - `/resume`:查看之前的交互记录,回顾与 AI 的协作过程。 这些命令对于保持良好的用户体验至关重要,尤其是在长时间连续使用时,合理管理上下文有助于提升响应速度和准确性[^3]。 --- ### 总结 综上所述,Claude CodeMCP 功能不仅提升了 AI编程领域的实用性,还打开了通往更多高级应用的大门。无论是前端开发中的浏览器自动化,还是后端服务的集成调用,MCP 都能为用户提供强大的支持。掌握 MCP 的基本命令及其应用场景,是充分发挥 Claude Code 潜力的关键一步。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值