article
README
🚀 MySQL数据库MCP服务
这是一个基于MCP(模型上下文协议)的服务,允许通过Cursor与MySQL数据库进行交互,实现表的创建、查询、修改和删除等操作,为数据库管理提供了便捷途径。
🚀 快速开始
本服务可让你借助Cursor与MySQL数据库交互,轻松完成表的创建、查询、修改和删除等操作。
✨ 主要特性
- 可创建和管理数据库表,高效组织数据。
- 支持执行CRUD操作(创建、读取、更新、删除),满足基本数据处理需求。
- 能执行自定义SQL查询,提供灵活的数据查询方式。
- 通过MCP协议与Cursor集成,方便在Cursor中使用。
📦 安装指南
前提条件
- Node.js 18.0.0 或更高版本
- MySQL 数据库服务器
安装步骤
- 克隆或下载本仓库。
- 安装依赖:
npm install
- 配置环境变量:
- 复制
.env.example文件为.env。 - 编辑
.env文件,填入您的MySQL数据库连接信息。
- 复制
# 数据库配置
DB_HOST=localhost
DB_PORT=3006
DB_USER=您的数据库用户名
DB_PASSWORD=您的数据库密码
DB_NAME=您的数据库名称
# 服务器配置
PORT=3001
启动服务
npm start
服务器将在 http://localhost:3001 启动(或您在 .env 中指定的端口)。
💻 使用示例
在Cursor中使用
- 在Cursor中,使用以下方法添加MCP服务:
- 方法1: 在命令面板中搜索 "MCP" 并选择添加服务。
- 方法2: 在设置中找到 MCP 相关配置。
- 方法3: 直接使用命令
/connect-mcp http://localhost:3001/sse。
- 连接成功后,您可以通过资源和工具与MySQL数据库进行交互。
可用功能
资源
- 列出所有表:
mysql://tables
- 查看表结构:
mysql://schema/表名
- 查看表数据:
mysql://data/表名
工具
- 创建表:
create-table tableName="表名" schema="id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255)"
- 删除表:
drop-table tableName="表名"
- 插入数据:
insert-data tableName="表名" data="{\"name\": \"张三\", \"age\": 30}"
- 更新数据:
update-data tableName="表名" data="{\"name\": \"李四\"}" condition="{\"id\": 1}"
- 删除数据:
delete-data tableName="表名" condition="{\"id\": 1}"
- 查询数据:
query-data tableName="表名" condition="{\"id\": 1}" fields=["name", "age"]
- 执行自定义SQL查询:
execute-sql sql="SELECT * FROM 表名"
提示模板
create-table: 创建一个新表。drop-table: 删除指定的表。insert-data: 向表中插入数据。update-data: 更新表中的数据。delete-data: 从表中删除数据。query-data: 查询表中的数据。execute-sql: 执行自定义SQL查询。
示例场景
创建用户表并插入数据
- 创建表:
{
"command": "create-table",
"tableName": "users",
"schema": "id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(255), email VARCHAR(255)"
}
- 插入数据:
{
"command": "insert-data",
"tableName": "users",
"data": {"username": "张三", "email": "zhangsan@example.com"}
}
🔧 技术细节
项目架构
MySQL数据库MCP服务
├── src/
│ ├── services/
│ │ └── DatabaseService.js
│ ├── controllers/
│ │ └── DatabaseController.js
│ └── routes/
│ └── databaseRoutes.js
└── package.json
⚠️ 重要提示
⚠️ 重要提示
不要在代码或环境变量中存储敏感的数据库凭据。
限制MySQL用户的权限,仅允许必要的操作。
📄 许可证
本项目采用MIT许可证。
微信扫一扫