MySQL数据库交互协议

MySQL MCP Server是一个实现模型上下文协议(MCP)的服务器组件,为AI应用程序与MySQL数据库之间提供安全、结构化的交互接口,支持数据库探索和分析。

  • by msathiyakeerthi
  • 本地部署
  • 更新于
在 GitHub 查看 msathiyakeerthi/mysql_mcp_server

使用说明

MySQL MCP服务器

一种模型上下文协议(MCP)实现,可实现与MySQL数据库的安全交互。该服务器组件促进了AI应用程序(主机/客户端)和MySQL数据库之间的通信,通过受控界面使数据库探索和分析更安全、更结构化。

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

特性

  • 将可用MySQL表作为资源列出
  • 读取表格内容
  • 使用正确的错误处理执行SQL查询
  • 通过环境变量保护数据库访问
  • 综合录井

安装

手动安装

pip install mysql-mcp-server

通过Smithery安装

通过以下方式自动安装MySQL MCP Server for Claude Desktop 史密瑟里:

npx -y @smithery/cli install mysql-mcp-server --client claude

配置

设置以下环境变量:

MYSQL_HOST=localhost     # Database host
MYSQL_PORT=3306         # Optional: Database port (defaults to 3306 if not specified)
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database

用法

使用克劳德桌面

将此添加到您的 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"
      }
    }
  }
}

使用Visual Studio代码

将此添加到您的 mcp.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检查器提供了一种方便的方法来测试和调试您的MCP实现:

# Install dependencies
pip install -r requirements.txt
# Use the MCP Inspector for debugging (do not run directly with Python)

MySQL MCP服务器旨在与Claude Desktop等人工智能应用程序集成,不应直接作为独立的Python程序运行。

发展

# Clone the repository
git clone https://github.com/yourusername/mysql_mcp_server.git
cd mysql_mcp_server
# Create virtual environment
python -m venv venv
source venv/bin/activate  # or `venv\Scripts\activate` on Windows
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest

安全考虑

  • 从不提交环境变量或凭据
  • 使用具有最低所需权限的数据库用户
  • 考虑实施查询白名单以供生产使用
  • 监控并记录所有数据库操作

安全最佳实践

此MCP实现需要数据库访问才能运行。为了安全起见:

  1. 创建专用MySQL用户 具有最低权限
  2. 从不使用root凭据 或管理账户
  3. 限制数据库访问 只进行必要的操作
  4. 启用日志记录 出于审计目的
  5. 定期安全审查 数据库访问

看 MySQL安全配置指南 有关以下内容的详细说明:

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

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

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求