基于Python的修复版软件开发规划MCP服务器,支持通过SSE协议接入Cursor。该服务器提供了一套工具和功能,可帮助用户进行软件开发目标设定、实施计划制定以及待办事项管理。
# 克隆仓库
git clone https://github.com/Jo-Lion/software-planning-mcp.git
cd software-planning-mcp
# 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate # 在Linux/Mac上运行
# 或者在Windows上运行
.venv\Scripts\activate
# 安装依赖
pip install -e .
# 使用SSE传输协议(推荐用于Cursor集成)
python server.py --debug
# 使用自定义端口
python server.py --port 9000 --debug
# 使用自定义主机地址
python server.py --host 127.0.0.1 --debug
# 使用stdio传输协议(用于命令行测试)
python server.py --transport stdio --debug
http://localhost:8000/sse(如果使用了自定义端口,请相应修改)。# 使用start_planning工具
response = client.start_planning(goal="开发一个简单的待办事项管理器")
# 使用save_plan工具
response = client.save_plan(plan="第一阶段:需求分析;第二阶段:设计;第三阶段:实现;第四阶段:测试和优化")
# 使用add_todo工具
response = client.add_todo(
title="完成项目文档",
description="编写用户手册和技术文档",
complexity=2,
code_example="example_code()"
)
# 使用remove_todo工具
response = client.remove_todo(todo_id="12345")
# 使用get_todos工具
todos = client.get_todos()
# 使用update_todo_status工具
response = client.update_todo_status(
todo_id="12345",
is_complete=True # 或者传入字符串"True"
)
| 工具名称 | 描述 | 参数 |
|---|---|---|
| start_planning | 开始一个新的规划会话,设置目标 | goal:软件开发目标(字符串类型) |
| save_plan | 保存当前实施计划 | plan:实施计划文本(字符串类型) |
| add_todo | 向当前计划添加新的待办事项 | title:标题(字符串类型) description:描述(字符串类型) complexity:复杂度(0 - 10之间的整数) code_example:代码示例(可选,字符串类型) |
| remove_todo | 从当前计划中移除待办事项 | todo_id:待办事项ID(字符串类型) |
| get_todos | 获取当前计划中的所有待办事项 | 无参数 |
| update_todo_status | 更新待办事项的完成状态 | todo_id:待办事项ID(字符串类型) is_complete:完成状态(布尔值或其对应的字符串形式,如"True"/"False") |
| 资源URI | 描述 |
|---|---|
| planning://current-goal | 当前软件开发目标 |
| planning://implementation-plan | 当前实施计划及待办事项 |
SOFTWARE_PLANNING_PORT:设置SSE服务器端口号(默认:8000)。SOFTWARE_PLANNING_HOST:设置SSE服务器主机地址(默认:0.0.0.0)。SOFTWARE_PLANNING_TRANSPORT:设置传输协议(默认:sse,可选值为sse或stdio)。⚠️ 重要提示
- 类型转换:在修复版中,工具接口会对输入参数进行必要的类型转换。例如,对于
update_todo_status工具,is_complete参数可以是布尔值或其对应的字符串形式(如"True"或"False")。- 错误处理:如果传入的参数格式不符合要求,服务器会返回相应的错误信息,并建议如何修正。
修复了之前版本中类型不匹配的问题,现在支持将布尔值和其对应的字符串形式传递给update_todo_status工具。