README
🚀 MySQL MCP 服务器
MySQL MCP 服务器是一个符合 Model Context Protocol (MCP) 标准的服务器,可实现与 MySQL 数据库的安全交互。它允许 AI 助手通过受控接口列出表格、读取数据以及执行 SQL 查询,助力更安全地开展数据库探索与分析工作。
✨ 主要特性
- 可将可用的 MySQL 表作为资源列出。
- 能够读取消息表的内容。
- 执行 SQL 查询时具备错误处理机制。
- 通过环境变量对数据库访问进行安全控制。
- 提供全面的日志记录功能。
📦 安装指南
pip install mysql-mcp-server
🚀 快速开始
配置
设置以下环境变量:
MYSQL_HOST=localhost
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_USER": "your_username",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}
作为独立服务器运行
# 安装依赖项
pip install -r requirements.txt
# 运行服务器
python -m mysql_mcp_server
🔧 技术细节
开发
# 克隆仓库
git clone https://github.com/yourusername/mysql_mcp_server.git
cd mysql_mcp_server
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # 或 `venv\Scripts\activate` 在 Windows 上
# 安装开发依赖项
pip install -r requirements-dev.txt
# 运行测试
pytest
📚 详细文档
安全注意事项
- 永远不要提交环境变量或凭据。
- 使用权限最小的 MySQL 用户。
- 考虑在生产环境中实施查询白名单。
- 监控并记录所有数据库操作。
最佳安全实践
此 MCP 服务器需要数据库访问权限才能运行。出于安全考虑:
- 创建一个专用的 MySQL 用户,赋予其最小权限。
- 避免使用 root 账户或管理账户。
- 限制数据库访问,仅允许必要的操作。
- 启用日志记录 用于审核目的。
- 定期进行安全审查 对数据库访问进行检查。
请参考 MySQL 安全配置指南 获取更多详细说明,包括:
- 创建受限的 MySQL 用户。
- 设置适当的权限。
- 监控数据库访问。
- 其他安全最佳实践。
⚠️ 重要提示
在配置数据库访问时,始终遵循最小特权原则。
📄 许可证
MIT License - 有关详细信息,请参阅 LICENSE 文件。
🤝 贡献
- Fork 仓库。
- 创建功能分支 (
git checkout -b feature/amazing-feature)。 - 提交更改 (
git commit -m 'Add some amazing feature')。 - 推送到分支 (
git push origin feature/amazing-feature)。 - 打开 Pull Request。
Scan to join WeChat group