|
|
1 viikko sitten | |
|---|---|---|
| .. | ||
| .gitignore | 1 viikko sitten | |
| README.md | 1 viikko sitten | |
| config.json | 1 viikko sitten | |
| database.js | 1 viikko sitten | |
| get_config.py | 1 viikko sitten | |
| index.js | 1 viikko sitten | |
| logger.js | 1 viikko sitten | |
| package-lock.json | 1 viikko sitten | |
| package.json | 1 viikko sitten | |
| task-processor.js | 1 viikko sitten | |
任务管理MCP服务器,用于从PostgreSQL数据库读取任务,通过MCP协议与Cursor交互执行代码开发任务。
task_list表读取待处理任务cd mcp-servers/task-manager
npm install
# 在PostgreSQL数据库中执行
psql -U postgres -d dataops -f ../../database/create_task_list_table.sql
重要:MCP服务器从独立的配置文件mcp-servers/task-manager/config.json中读取数据库URI。
编辑mcp-servers/task-manager/config.json文件,设置正确的PostgreSQL连接URI:
{
"database": {
"uri": "postgresql://postgres:dataOps@192.168.3.143:5432/dataops"
}
}
如果需要覆盖,可以在.cursor/mcp.json中设置DATABASE_URL环境变量。
其他环境变量配置(在.cursor/mcp.json中):
POLL_INTERVAL=300000 # 轮询间隔(毫秒),默认5分钟
LOG_LEVEL=info # 日志级别
AUTO_START_POLLING=true # 自动启动轮询
MCP服务器已配置在.cursor/mcp.json中。确保:
mcp-servers/task-manager/config.json中配置了正确的PostgreSQL数据库URI在PostgreSQL数据库中插入任务记录:
INSERT INTO task_list (task_name, task_description, status, create_by)
VALUES (
'开发用户登录功能',
'# 任务描述\n\n开发一个用户登录功能,包括:\n\n1. 用户认证API\n2. JWT token生成\n3. 密码加密存储\n\n## 数据结构\n\n- users表:id, username, password, email',
'pending',
'admin'
);
在Cursor中,可以使用以下MCP工具:
调用工具: get_pending_tasks
调用工具: execute_task
参数: { "task_id": 1 }
调用工具: process_all_tasks
参数: { "auto_poll": true } // 启用自动轮询
调用工具: update_task_status
参数: {
"task_id": 1,
"status": "completed",
"code_name": "auth.py",
"code_path": "app/core/auth.py"
}
当调用process_all_tasks并设置auto_poll: true时,服务器会:
pending - 待处理processing - 处理中completed - 已完成failed - 失败CREATE TABLE task_list (
task_id SERIAL PRIMARY KEY,
task_name VARCHAR(255) NOT NULL,
task_description TEXT NOT NULL,
status VARCHAR(20) NOT NULL DEFAULT 'pending',
code_name VARCHAR(255),
code_path VARCHAR(500),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
create_by VARCHAR(100) NOT NULL
);
任务描述应为markdown格式,包含:
示例:
# 开发用户登录功能
## 功能要求
开发一个用户登录功能,包括:
1. 用户认证API端点
2. JWT token生成和验证
3. 密码加密存储(使用bcrypt)
## 数据结构
users表结构:
- id: INTEGER PRIMARY KEY
- username: VARCHAR(50) UNIQUE
- password: VARCHAR(255) # 加密后的密码
- email: VARCHAR(100)
- created_at: TIMESTAMP
## API端点
POST /api/auth/login
请求体: { "username": "string", "password": "string" }
响应: { "token": "string", "user": {...} }
pendingpending状态的任务completed,并记录代码文件名和路径如果任务执行失败,状态会更新为failed。可以:
pending重新处理确保:
mcp-servers/task-manager/config.json中的database.uri配置正确DATABASE_URL或SQLALCHEMY_DATABASE_URI已正确设置检查:
npm installmcp-servers/task-manager/
├── index.js # MCP服务器主文件
├── database.js # 数据库操作模块
├── task-processor.js # 任务处理逻辑
├── config.json # 数据库配置文件(独立配置)
├── package.json # 项目配置
└── README.md # 本文档
可以扩展的功能:
MIT