返回 MCP 目录
public公开dns本地运行

mcp-server-mysql

这是一个将Python版MySQL MCP服务器转换为Java实现的项目,提供安全的MySQL数据库交互接口,允许AI助手通过受控方式访问数据库资源。

article

README

🚀 MySQL MCP 服务器

MySQL MCP 服务器是一个基于模型上下文协议(MCP)的安全服务器,用于与 MySQL 数据库进行交互。它允许 AI 助手列出表、读取数据以及执行 SQL 查询,通过受控接口实现对数据库的安全探索和分析。

✨ 主要特性

  • 列出可用的 MySQL 表格作为资源。
  • 读取表格内容。
  • 执行带错误处理的 SQL 查询。
  • 通过环境变量实现安全的数据库访问。
  • 全面的日志记录。

📦 安装指南

pip install mysql-mcp-server

📚 详细文档

配置

设置以下环境变量:

MYSQL_HOST=localhost     # 数据库主机
MYSQL_PORT=3306         # 可选:数据库端口(未指定时默认为3306)
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database

使用方法

与 Claude Desktop 结合使用

在你的claude_desktop_config.json中添加以下内容:

{
  "mcpServers": {
    "mysql": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/mysql_mcp_server",
        "run",
        "mysql_mcp_server"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

作为独立服务器运行

intellij-setup-env.png

  • 设置你的数据库参数。
  • 运行主应用程序。

安全注意事项

  • 永远不要提交环境变量或凭证。
  • 使用权限受限的 MySQL 用户。
  • 在生产环境中考虑实现查询白名单。
  • 监控和记录所有数据库操作。

最佳安全实践

此 MCP 服务器需要数据库访问权限才能运行。为确保安全:

  1. 创建一个专用的 MySQL 用户,并赋予最小的权限。
  2. 禁止使用 root 凭证或管理账户。
  3. 限制数据库访问仅限于必要的操作。
  4. 启用日志记录以进行审核。
  5. 定期执行安全审查数据库访问。

参见MySQL 安全配置指南以了解详细说明:

  • 创建受限的 MySQL 用户。
  • 设置适当的权限。
  • 监控数据库访问。
  • 最佳安全实践。

⚠️ 重要提示

始终遵循最小权限原则来配置数据库访问。

📄 许可证

MIT License - 详见 LICENSE 文件获取详情。

💡 贡献指南

  1. Fork 仓库。
  2. 创建功能分支(git checkout -b feature/amazing-feature)。
  3. 提交更改(git commit -m 'Add some amazing feature')。
  4. 推送到分支(git push origin feature/amazing-feature)。
  5. 打开 Pull Request。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端