关于 MySQL MCP Server
MySQL MCP Server 是连接 AI 应用与 MySQL 数据库的协议实现,适合需要以受控方式检查和分析数据库的应用。它将表数据读取、SQL 查询与环境变量凭据配置纳入 MCP 接口。
主要功能
- 01将 MySQL 表列为资源
- 02读取表内容
- 03执行 SQL 查询并处理错误
- 04通过环境变量配置数据库访问
- 05记录数据库操作
适用场景
- 01让 AI 应用检查可用表和数据
- 02通过 MCP 执行数据库查询
- 03为数据库访问保留操作日志
MCP 相关
它向 MCP 客户端提供 MySQL 表资源、表内容读取和 SQL 查询能力;设计用于集成到 AI 应用,而非独立运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MySQL MCP 服务
一种模型上下文协议(MCP)实现,可与 MySQL 数据库安全交互。该服务组件支持 AI 应用(宿主端/客户端)与 MySQL 数据库之间的通信,通过受控接口,让数据库探索和分析更加安全、结构化。
注意:MySQL MCP 服务并非设计为独立服务,而是作为 AI 应用与 MySQL 数据库之间的通信协议实现。
功能
- 将可用的 MySQL 表列为资源
- 读取表内容
- 执行 SQL 查询并妥善处理错误
- 通过环境变量安全访问数据库
- 全面的日志记录
安装
手动安装
pip install mysql-mcp-server
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 MySQL MCP 服务:
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 使用
将以下内容添加到 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"
}
}
}
}
使用 MCP Inspector 调试
虽然 MySQL MCP 服务并非设计为独立运行或直接通过 Python 命令行启动,但你可以使用 MCP Inspector 对其进行调试。
MCP Inspector 提供了一种便捷方式,可用于测试和调试 MCP 实现:
# Install dependencies
pip install -r requirements.txt
# Use the MCP Inspector for debugging (do not run directly with Python)
MySQL MCP 服务旨在集成到 Claude Desktop 等 AI 应用中,不应直接作为独立的 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 实现需要访问数据库才能运行。为确保安全:
- 创建专用的 MySQL 用户,并仅授予最低限度的权限
- 切勿使用 root 凭据或管理员账户
- 限制数据库访问范围,仅允许必要的操作
- 启用日志记录以便审计
- 定期审查数据库访问安全性
有关以下内容的详细说明,请参阅 MySQL 安全配置指南:
- 创建受限的 MySQL 用户
- 设置适当的权限
- 监控数据库访问
- 安全最佳实践
⚠️ 重要:配置数据库访问时,务必遵循最小权限原则。
许可证
MIT 许可证——详情请参阅 LICENSE 文件。
贡献
- Fork 此仓库
- 创建你的功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到该分支(
git push origin feature/amazing-feature) - 创建 Pull Request
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。