article
README
🚀 @enemyrr/mcp-mysql-server
一个提供MySQL数据库操作的模型上下文协议(Model Context Protocol)服务器。此服务器让AI模型能够借助标准化接口与MySQL数据库进行交互,极大地提升了数据库操作的便捷性和规范性。
🚀 快速开始
✨ 主要特性
- 支持多种连接方式(URL、工作区、直接),满足不同场景下的数据库连接需求。
- 提供安全的连接处理和自动清理功能,保障数据库操作的稳定性和安全性。
- 支持预编译语句以防止SQL注入,有效抵御常见的安全威胁。
- 包含数据库表结构管理工具,方便对数据库表结构进行管理和维护。
- 具备全面的错误处理和验证机制,能够及时发现并处理各种异常情况。
- 支持TypeScript,为开发者提供更强大的类型检查和代码提示。
- 自动检测工作区,提高开发效率。
📦 安装指南
针对Cursor IDE
使用Smithery自动安装
通过Smithery自动安装适用于Claude桌面版的MySQL数据库服务器:
npx -y @smithery/cli install @enemyrr/mcp-mysql-server --client claude
手动安装
- 克隆并构建项目:
git clone https://github.com/enemyrr/mcp-mysql-server.git
cd mcp-mysql-server
npm install
npm run build
- 在Cursor IDE设置中添加服务器:
- 打开命令palette(Cmd/Ctrl + Shift + P)。
- 搜索“MCP: 添加服务器”。
- 填写以下信息:
- 名称:
mysql - 类型:
command - 命令:
node /绝对路径/to/mcp-mysql-server/build/index.js
- 名称:
⚠️ 重要提示
将
/绝对路径/to/mcp-mysql-server替换为实际的项目路径。
📚 详细文档
数据库配置
-
使用数据库URL环境变量:
DATABASE_URL=mysql://用户名:密码@主机:端口/数据库名 -
单独参数配置:
- 用户名:通过
DB_USER或从URL解析。 - 密码:通过
DB_PASS或从URL解析。 - 主机:通过
DB_HOST或从URL解析。 - 端口:通过
DB_PORT或从URL解析,默认为3306。 - 数据库名:通过
DB_NAME或从URL解析。
- 用户名:通过
-
直接连接工具:
{ "driver": "mysql", "options": { "host": "主机地址", "port": 端口号, "database": "数据库名称", "username": "用户名", "password": "密码" } }
可用工具
基础用法
/**
* @param {string} query SQL查询语句
* @param {any[]} parameters 查询参数数组
*/
async function executeQuery(query, parameters) => Promise<void>
/**
* @param {string} query SQL查询语句
* @param {any[]} parameters 查询参数数组
*/
async function queryResultSet(query, parameters) => Promise<Row[]>
🔧 技术细节
安全性
- 使用预编译语句防止SQL注入攻击,确保数据库操作的安全性。
- 通过环境变量安全处理密码,避免密码泄露的风险。
- 在执行前对查询进行验证,保证查询的合法性。
- 执行完成后自动关闭连接,释放资源。
错误处理
服务器提供详细的错误信息,涵盖以下情况:
- 连接失败
- 无效查询或参数
- 配置缺失
- 数据库错误
- 模式验证错误
📄 许可证
本项目采用MIT许可证。
贡献
欢迎社区贡献!请访问GitHub仓库提交Pull Request。
微信扫一扫