小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
353
最近更新:2个月前

一个支持与MySQL数据库安全交互的Model Context Protocol (MCP)服务器

测试
Smithery徽章

MySQL MCP 服务器

一个实现模型上下文协议(MCP)的服务,用于安全地与MySQL数据库交互。该服务器组件在AI应用程序(主机/客户端)与MySQL数据库之间建立通信,通过受控接口使数据库探索和分析更安全、更有条理。

注意: MySQL MCP Server并非设计为独立服务器,而是作为AI应用程序与MySQL数据库之间的通信协议实现。

功能

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

安装

手动安装

bash 复制代码
pip install mysql-mcp-server

通过Smithery安装

为Claude Desktop自动安装MySQL MCP Server,通过Smithery:

bash 复制代码
npx -y @smithery/cli install mysql-mcp-server --client claude

配置

设置以下环境变量:

bash 复制代码
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:

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

与Visual Studio Code配合

添加到mcp.json:

json 复制代码
{
  "servers": {
      "mysql": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "--from",
                "mysql-mcp-server",
                "mysql_mcp_server"
            ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
  }
}

注意:需要安装uv才能工作

使用MCP检查器调试

虽然MySQL MCP Server不适合作为独立服务或通过Python命令行直接运行,但您可以使用MCP检查器进行调试。

MCP检查器提供便捷的测试和调试方式:

bash 复制代码
# 安装依赖
pip install -r requirements.txt
# 使用MCP检查器调试(不要直接用Python运行)

MySQL MCP Server设计用于与Claude Desktop等AI应用程序集成,不应作为独立Python程序直接运行。

开发

bash 复制代码
# 克隆仓库
git clone https://github.com/yourusername/mysql_mcp_server.git
cd mysql_mcp_server
# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows系统使用`venv\Scripts\activate`
# 安装开发依赖
pip install -r requirements-dev.txt
# 运行测试
pytest

安全注意事项

  • 切勿提交环境变量或凭证
  • 使用具有最小必要权限的数据库用户
  • 生产环境考虑实现查询白名单
  • 监控并记录所有数据库操作

安全最佳实践

本MCP实现需要数据库访问权限才能工作。为确保安全:

  1. 创建专用MySQL用户并分配最小权限
  2. 切勿使用root凭证或管理账户
  3. 限制数据库访问仅限必要操作
  4. 启用日志记录用于审计
  5. 定期进行安全审查数据库访问情况

详见MySQL安全配置指南获取:

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

⚠️ 重要提示:配置数据库访问时始终遵循最小权限原则。

许可证

MIT许可证 - 详见LICENSE文件。

贡献指南

  1. Fork代码仓库
  2. 创建特性分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m '添加惊人特性')
  4. 推送分支(git push origin feature/amazing-feature)
  5. 发起Pull Request