MCP(Model Context Protocol)的工作原理:
我们提供了3种方式让Cursor自动感知并执行任务:
在Cursor Chat中直接说:
请检查并执行所有pending任务
或者:
@task-manager 执行所有pending任务
Cursor会:
get_pending_tasks工具获取任务列表execute_task工具update_task_status更新任务状态优点:最简单,无需额外配置
缺点:需要手动触发
使用我们提供的自动执行脚本:
python scripts/auto_execute_tasks.py --once
脚本会:
.cursor/pending_tasks.jsonpython scripts/auto_execute_tasks.py --interval 300
参数:
--interval: 检查间隔(秒),默认300秒(5分钟)脚本会每隔指定时间自动检查新任务。
Windows(PowerShell):
Start-Process python -ArgumentList "scripts/auto_execute_tasks.py" -WindowStyle Hidden
Linux/Mac:
nohup python scripts/auto_execute_tasks.py > logs/auto_execute.log 2>&1 &
优点:真正的自动化,无需人工干预
缺点:需要运行额外的Python进程
使用Cursor Agent脚本创建任务提示文件:
python scripts/cursor_task_agent.py --once
python scripts/cursor_task_agent.py --daemon --interval 300
这个脚本会:
.cursor/task_prompts/ 目录优点:提供友好的任务通知界面
缺点:不是完全自动化,用户仍需手动执行
1. 用户在Web界面创建任务
↓
2. 任务保存到PostgreSQL (status = 'pending')
↓
3. auto_execute_tasks.py 定期检查数据库
↓
4. 发现pending任务,打印任务详情
↓
5. 创建 .cursor/pending_tasks.json 通知文件
↓
6. Cursor检测到通知文件(或脚本输出)
↓
7. Cursor自动调用 execute_task MCP工具
↓
8. task-manager MCP将任务状态改为 'processing'
↓
9. 返回执行指令给Cursor
↓
10. Cursor根据任务描述生成Python代码
↓
11. Cursor自动调用 update_task_status 工具
↓
12. 任务状态更新为 'completed'
↓
13. 任务完成!✅
确保 mcp-servers/task-manager/config.json 配置正确:
{
"database": {
"uri": "postgresql://postgres:dataOps@192.168.3.143:5432/dataops"
}
}
两个脚本都会自动读取上述配置文件,无需额外配置。
日志文件位置:
logs/cursor_task_agent.log - Agent脚本日志logs/auto_execute.log - 自动执行脚本日志(如果在后台运行)在Cursor Chat中说:
请检查并执行所有pending任务
安装依赖:
pip install psycopg2-binary
bash
python scripts/auto_execute_tasks.py
让脚本在后台持续运行,它会自动检查并执行新任务
解决方案:
pip install psycopg2-binary
检查:
mcp-servers/task-manager/config.json 中的数据库URI是否正确可能原因:
.cursor/pending_tasks.json 是否存在原因:
update_task_status更新状态解决方案:
在Cursor中手动调用:
调用工具: update_task_status
参数: {
"task_id": <任务ID>,
"status": "completed",
"code_name": "<生成的文件名>.py",
"code_path": "<文件路径>"
}
或者在数据库中手动更新:
UPDATE task_list
SET status = 'pending', update_time = CURRENT_TIMESTAMP
WHERE task_id = <任务ID>;
然后重新执行任务。
如果你想在Cursor中手动使用MCP工具:
```
调用工具: get_pending_tasks
### 执行特定任务
调用工具: execute_task 参数: { "task_id": 8, "auto_complete": true }
### 更新任务状态
调用工具: update_task_status 参数: { "task_id": 8, "status": "completed", "code_name": "import_dept_mapping.py", "code_path": "app/core/data_flow" }
### 批量处理所有任务
调用工具: process_all_tasks 参数: { "auto_poll": true } ```
auto_execute_tasks.py 脚本cursor_task_agent.py 脚本创建任务提示选择适合你的方式,开始自动化你的开发任务吧!🚀