MySQL MCP 服务器安装配置指南
MySQL MCP 服务器安装配置指南
简介
模型上下文协议(MCP)的MySQL实现,提供AI应用与MySQL数据库之间的安全交互能力。该服务器组件作为中间层,通过结构化接口使AI应用能够安全地进行数据库探索与分析。
注意:MySQL MCP服务器不是独立服务器,而是AI应用与MySQL数据库之间的通信协议实现。
功能特点
- 数据库交互:列出表资源、读取表内容、执行SQL查询
- 安全机制:通过环境变量安全访问数据库,错误处理机制
- 可扩展性:支持多种集成方式(Claude Desktop、VS Code、Cursor)
- 日志记录:完善的操作日志,便于审计和调试
安装方法
通过pip安装
pip install mysql-mcp-server
通过Smithery安装(推荐)
为Claude Desktop自动安装:
npx -y @smithery/cli install mysql-mcp-server --client claude
数据库配置
环境变量设置
# 必填项
MYSQL_HOST=localhost # 数据库主机地址
MYSQL_USER=your_username # 数据库用户名
MYSQL_PASSWORD=your_password # 数据库密码
MYSQL_DATABASE=your_database # 数据库名称
# 可选项
MYSQL_PORT=3306 # 数据库端口,默认为3306
使用方法
与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"
}
}
}
}
与Visual Studio Code集成
在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包管理器
与Cursor集成
在Cursor设置中配置MySQL MCP服务器:
{
"mcp": {
"servers": {
"mysql": {
"command": "python",
"args": [
"-m",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your_username",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}
}
注意:确保Cursor已启用MCP功能,并且MySQL MCP服务器包已正确安装在当前Python环境中。
使用MCP Inspector进行调试
虽然MySQL MCP Server不适合直接运行,但您可以使用MCP Inspector进行测试和调试:
# 安装依赖
pip install -r requirements.txt
# 使用MCP Inspector调试
mcp-inspector 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 # Windows使用: venvScriptsctivate
# 安装开发依赖
pip install -r requirements-dev.txt
# 运行测试
pytest
安全最佳实践
数据库权限
- 创建专用用户:为MCP服务器创建具有最小权限的专用MySQL用户
- 避免使用root:永远不要使用root账户或管理员权限
- 权限限制:仅授予必要的操作权限(SELECT、特定表的INSERT等)
配置安全
- 环境变量保护:不要在代码或公共仓库中提交环境变量或凭证
- 查询限制:考虑在生产环境中实施查询白名单
- 日志审计:启用详细日志记录以供安全审计
监控与审查
- 定期审查:定期检查数据库访问日志
- 性能监控:监控查询性能和资源使用
- 安全更新:及时应用安全补丁和更新
重要提示:始终遵循最小权限原则配置数据库访问。
故障排除
问题 | 解决方案 |
---|---|
连接错误 | 检查环境变量配置和网络连接 |
权限拒绝 | 验证数据库用户权限设置 |
性能问题 | 监控查询复杂度,考虑添加索引 |
Cursor集成问题 | 确保在设置中正确启用了MCP |
更多资源
- MySQL安全配置指南
- MCP协议文档
- Claude Desktop文档
- Cursor MCP集成文档