← 返回目录
M

MySQL MCP Server

社区
通过 MCP 安全查询 MySQL 数据库。
分类
数据库 第 38 / 58
Stars
★ 2.2k 非常热门
传输方式
stdio(本地进程)
运行环境
Node.js 20+ · 远程托管(无需本地环境)
凭据
无需凭据
许可证
MIT
最近提交
工具数
1
50FMRS · D

该服务器适合通过 MCP 让 Claude 等客户端检查 MySQL 架构和查询数据,默认采用只读策略,并提供 SSH 隧道、多数据库、PII 脱敏和 SSL/TLS 等能力。写入操作必须通过环境变量显式启用;使用前应审慎配置数据库权限和凭据。

最强项 · 安装易用性 12/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
10/20
维护活跃度
9/20
文档质量
11/20
安装易用性
12/20
查看各项评分依据
可靠性 8/20
README描述了mysql_query工具和mysql://tables资源,并声称支持只读及可选写入;但服务器清单未缓存,未提供源码、测试或CI执行证据,无法验证初始化握手、工具列表、实际参数、错误处理和依赖可控性,因此扣分。
安全与权限 10/20
证据显示默认只读,写入操作需通过环境变量分别启用,并提到SSH、TLS、Bearer认证和PII脱敏;但这些仅来自未验证的README,缺少权限实现、危险操作确认、数据流范围和远程模式安全细节。未发现提示中的红线风险,但证据不足以给高分。
维护活跃度 9/20
项目声明MIT许可证且未归档,README提供仓库和贡献入口;但仅凭星数不能加分,且没有发布记录、提交活跃度、依赖更新、问题响应、维护者责任或安全响应渠道证据,因此维护性只能评为中低。
文档质量 11/20
README提供Node.js和MySQL要求、npx及客户端配置示例、环境变量、工具和资源概览,并链接安装、配置、测试、故障排查及专项文档;但这些文档内容未提供,工具参数、限制、成本、认证细节和可复核故障处理仍不明确。
安装易用性 12/20
README给出了Node.js v20+要求、npx安装命令和Claude Code/Claude Desktop配置示例,路径较清晰;但未提供实际源码或可验证CI/测试证据,也未证明跨平台兼容性、连接失败诊断和高级模式配置,故未接近满分。

静态评测 · 未实际运行收录于 2026-07-29

查看 FMRS 评分方法 →

选型与风险

能访问什么连接数据库

适合谁

  • 需要让 AI 检查 MySQL 架构或查询数据的开发者和数据团队
  • 希望默认限制为只读访问的场景
  • 需要 SSH、SSL/TLS 或 PII 脱敏能力的部署

不适合谁

  • 不使用 MySQL 的数据库环境
  • 需要默认执行写入操作且不希望显式配置权限的场景
  • 无法提供适当数据库凭据或网络连接的环境

所需权限

  • 需要 MySQL 主机、端口、用户名、密码和数据库名称配置
  • 数据库用户需要具备与实际查询或启用的写入操作相匹配的权限
  • 如连接远程数据库,可能需要 SSH 隧道配置
  • 启用写入标志后,服务器可执行相应的插入、更新或删除操作

风险与副作用

  • 虽然默认只读,启用写入标志后可能修改或删除数据
  • 数据库凭据通过环境变量提供,应妥善保护
  • SQL 查询可能暴露敏感数据;可使用 PII 脱敏功能降低暴露风险
  • 错误配置数据库权限、SSL/TLS 或远程访问可能扩大数据访问范围

安装接入

准备工作

运行环境:Node.js 20+ · 远程托管(无需本地环境)

MYSQL_HOST 必填 MySQL 服务器地址,如 127.0.0.1,由你的数据库环境决定。
MYSQL_USER 必填 连接 MySQL 的用户名,需有相应库的读权限。
MYSQL_PASS 必填密钥 MySQL 用户密码,来自你的数据库账户设置。
MYSQL_DB 必填 要连接的数据库名,必须是已存在的库。
其他可选配置项(4 个)
MYSQL_PORT 可选 MySQL 端口,默认 3306。
ALLOW_INSERT_OPERATION 可选 设为 true 才允许 INSERT 写操作,默认关闭。
ALLOW_UPDATE_OPERATION 可选 设为 true 才允许 UPDATE 写操作,默认关闭。
ALLOW_DELETE_OPERATION 可选 设为 true 才允许 DELETE 写操作,默认关闭。

需要 Node.js v20+、MySQL 5.7+(推荐 8.0+)以及具备适当权限的 MySQL 用户。使用 npx 启动服务器,并配置 MYSQL_HOST、MYSQL_PORT、MYSQL_USER、MYSQL_PASS 和 MYSQL_DB。Claude Desktop 可将 README 中的 JSON 配置加入 MCP 设置。写入操作默认禁用;如确有需要,可分别设置 ALLOW_INSERT_OPERATION=true、ALLOW_UPDATE_OPERATION=true 或 ALLOW_DELETE_OPERATION=true。

claude_desktop_config.json
{"mcpServers":{"mcp_server_mysql":{"command":"npx","args":["-y","@benborla29/mcp-server-mysql"],"env":{"MYSQL_HOST":"127.0.0.1","MYSQL_PORT":"3306","MYSQL_USER":"root","MYSQL_PASS":"your_password","MYSQL_DB":"your_database"}}}}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "mcp_server_mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
      ],
      "env": {
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASS": "your_password",
        "MYSQL_DB": "your_database"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add mcp_server_mysql -e MYSQL_HOST=127.0.0.1 -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=your_password -e MYSQL_DB=your_database -- npx -y @benborla29/mcp-server-mysql

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在客户端工具列表中应看到 mysql_query 工具;也可让它调用 mysql://tables 资源或直接询问“数据库里有哪些表”,能返回表结构即说明连接成功。

常见排障

  1. 确认 Node.js 版本为 v20 或更高,并确认 MySQL 版本满足要求
  2. 检查 MYSQL_HOST、MYSQL_PORT、MYSQL_USER、MYSQL_PASS 和 MYSQL_DB 是否正确
  3. 确认 MySQL 用户拥有所需权限且数据库可达
  4. 远程连接失败时检查 SSH 隧道配置
  5. 启用 SSL/TLS 或 mTLS 时检查相关连接配置
  6. 运行项目提供的测试和查看故障排除文档

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 列出数据库中所有的表和它们的字段信息
  • 查询用户表中最近注册的10条记录
  • 统计订单表里每个月的订单总数
  • 只读查询这个数据库的表结构,不要修改任何数据

工具能力 1

mysql_query 只读
执行 SQL 查询;默认只读,可按配置启用写入操作。

使用场景

检查 MySQL 数据库表和列结构
用自然语言辅助执行只读 SQL 查询
通过 SSH 隧道访问远程数据库
在多数据库模式下查询多个数据库
在查询结果中自动遮蔽敏感数据

支持客户端

Claude Desktop
Claude Code

依据项目文档列出,未经本站实测。

详细介绍

一个为 Claude 和其他大语言模型提供 MySQL 访问能力的 MCP 服务器,可检查数据库架构并执行 SQL 查询。默认只读,也支持通过环境变量选择性启用写入操作。

同类可选方案

源版本 b9c714e18242 数据同步于 2026-10-19 查看 FMRS 评分方法