使用说明
MySQL MCP服务器
一个模型上下文协议(MCP)服务器,为Cursor等AI助手提供MySQL数据库访问工具。
概述
此MCP服务器通过提供三个基本工具使AI助手能够与MySQL数据库交互:
- 执行SQL查询
- 描述表格结构
- 列出所有数据库表
特性
- 查询执行:对MySQL数据库运行任何SQL查询
- 表描述:获取任何表的详细架构信息
- 表列表:查看数据库中的所有表
- 错误处理:数据库操作的全面错误处理
- MCP协议合规性:完全兼容MCP 2024-11-05规范
先决条件
- Node.js(v14或更高版本)
- MySQL数据库(本地或远程)
- 游标IDE(用于MCP集成)
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install
配置
服务器使用环境变量进行数据库配置:
MYSQL_HOST:MySQL服务器主机名MYSQL_USER:数据库用户名MYSQL_PASSWORD:数据库密码MYSQL_DATABASE:数据库名称MYSQL_PORT:MySQL端口(默认:3306)
光标集成
要将此MCP服务器与Cursor一起使用,请将以下配置添加到Cursor MCP设置文件中(~/.cursor/mcp.json):
{
"mcpServers": {
"mysql-mcp": {
"label": "MySQL MCP",
"command": "node",
"args": ["/path/to/your/mysql-mcp-server.js"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_USER": "your-username",
"MYSQL_PASSWORD": "your-password",
"MYSQL_DATABASE": "your-database",
"MYSQL_PORT": "3306"
}
}
}
}
替换 /path/to/your/mysql-mcp-server.js 使用服务器文件的实际路径,并使用数据库凭据更新环境变量。
可用工具
1.mysql_query
对数据库执行任何SQL查询。
参数:
query(string):要执行的SQL查询
例子:
SELECT * FROM users WHERE role = 'admin'
2.mysql_describe_table
获取特定表的结构和模式信息。
参数:
table_name(string):要描述的表的名称
例子:
mysql_describe_table("users")
3.mysql_list_tables
列出数据库中的所有表。
参数: 无需。
使用示例
在Cursor中配置后,您可以使用自然语言与数据库交互:
- “显示数据库中的所有表”
- “描述用户表的结构”
- “从用户表中获取所有管理员用户”
- “显示最近的约会”
安全考虑
- 数据库凭据:安全地存储敏感凭据,永远不要将其提交给版本控制
- 查询权限:服务器使用提供的数据库用户权限执行查询
- 网络接入:确保您的数据库得到适当保护,并且只能从授权来源访问
- 输入验证:当服务器处理错误时,始终验证和清理生产中的输入
故障排除
服务器在光标中显示为红色
- 检查所有环境变量是否设置正确
- 验证数据库连接
- 确保Node.js和mysql2包已正确安装
- 检查Cursor的开发人员控制台是否有错误消息
连接错误
- 验证数据库主机、端口和凭据
- 检查数据库的网络连接
- 确保数据库允许来自您的IP的连接
- 验证数据库名称是否存在
“0个工具已启用”错误
- 更改配置后重新启动Cursor
- 检查配置中的MCP服务器文件路径
- 确保服务器正确实施MCP协议
发展
文件结构
mcp/
├── mysql-mcp-server.js # Main MCP server implementation
├── package.json # Node.js dependencies
└── README.md # This file
依赖项
mysql2:支持promise的Node.js MySQL客户端
贡献
请随时提交问题、功能请求或拉取请求以改进此MCP服务器。
许可证
这个项目是开源的,可以在MIT许可证下使用。
更新日志
v1.0.0
- 初始版本
- 基本MCP协议实现
- 三个核心数据库工具(查询、描述、列表)
- 错误处理和日志
- 游标集成支持