M

MySQL连接器

@amornpan/py-mcp-mysql
0 Stars 107 次浏览 amornpan 更新于 2026-08-23

启用与MySQL数据库的安全交互,允许AI助手通过受控接口列出表、读取数据和执行SQL查询。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "mysql": {
      "args": [
        "-m",
        "src.mysql_mcp_server.server"
      ],
      "command": "python",
      "env": {
        "MYSQL_DATABASE": "your_database",
        "MYSQL_HOST": "localhost",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username"
      }
    }
  }
}

该服务需要配置环境变量:MYSQL_DATABASE、MYSQL_HOST、MYSQL_PASSWORD、MYSQL_PORT、MYSQL_USER

服务介绍

Tests

MySQL MCP 服务器

一个模型上下文协议(MCP)服务器,能够安全地与MySQL数据库进行交互。该服务器允许AI助手通过受控接口列出表、读取数据和执行SQL查询,从而使数据库的探索和分析更加安全和有结构。

功能

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

配置

设置以下环境变量:

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一起使用

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

{
  "mcpServers": {
    "mysql": {
      "command": "python",
      "args": [
        "-m", 
        "src.mysql_mcp_server.server"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

作为独立服务器

# Clone the repository
git clone https://github.com/designcomputer/mysql_mcp_server.git
cd mysql_mcp_server

# Install dependencies
pip install -r requirements.txt

# Run the server
python -m src.mysql_mcp_server.server

开发

# Clone the repository
git clone https://github.com/designcomputer/mysql_mcp_server.git
cd mysql_mcp_server

# Create virtual environment
python -m venv py-mcp-mysql_venv
source py-mcp-mysql_venv/bin/activate  # or `py-mcp-mysql_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许可证 - 详情请参阅LICENSE文件。

贡献

  1. 分叉仓库
  2. 创建你的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个拉取请求