← 返回目录
M

mcp-server-mysql

社区
通过 MCP 安全查询 MySQL 数据库。
GitHub 源仓库 ↗
★ 2.0k Stars 分类 · 数据库 非常热门
50FMRS · D
可靠性
8/20
安全与权限
10/20
维护活跃度
9/20
文档质量
11/20
安装易用性
12/20

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

查看 FMRS 评分方法 →

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

工具能力

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

安装接入

需要 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"}}}}

选型与风险

适合谁

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

不适合谁

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

所需权限

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

风险与副作用

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

常见排障

  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. 运行项目提供的测试和查看故障排除文档

使用场景

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

支持客户端

Claude Desktop完整支持
Claude Code完整支持