长期规划师mcp
](https://www.npmjs.com/package/longterm-planner-mcp) 
Claude Code中用于长期计划管理的模型上下文协议(MCP)服务器。使用持久SQLite存储跨编码会话跟踪计划、任务、目标和进度。
特性
- 持续规划 -SQLite数据库跨会话存储计划和任务
- 任务管理 -完整生命周期:积压→ 准备→ 正在进行中→ 审查→ 完成
- 状态机 -强制状态转换可防止无效的任务状态
- 任务相关性 -通过循环依赖检测定义阻塞关系
- 计划模板 -10个常见项目类型(web应用程序、API等)的内置模板
- 搜索和筛选 -按文本、状态、优先级、日期、标签、受让人在计划中查找任务
- 业标 -为组织使用自定义标签对任务进行分类
- 任务备注 -为任务添加带时间戳的注释和更新
- 批量操作 -更新状态、优先级、标签或一次删除多个任务
- 进度跟踪 -跟踪估计小时数与实际小时数、完成统计数据
- Git集成 -通过分支名称或提交消息链接提交任务
- 导出/导入 -将计划导出为JSON或Markdown,从JSON导入
- 会话连续性 -从你中断的地方继续进行上下文保护
- 备份和恢复 -自动轮换备份
何时使用
值得:
- 对话之间失去上下文的多会话项目
- 团队交接——其他人可以接手的持续状态
- 具有许多任务依赖关系的复杂功能
- 决策和进展的审计跟踪
管理费用:
- 单会话任务(Claude Code的内置TodoWrite更轻)
- 独自工作,记住背景
- 简单的错误修复或快速功能
路线图
- \[x\] 启动新会话时自动总结进度
- \[\]更深入的git集成(自动链接任务提交)
- \[\]会话连续性提示(“上次处理X时…”)
- \[\]时间跟踪和估计与实际报告
安装
克劳德代码
添加到您的 ~/.claude/settings.json:
{
"mcpServers": {
"planning": {
"command": "npx",
"args": ["-y", "longterm-planner-mcp"]
}
}
}重新启动Claude Code以加载服务器。
独立
npx longterm-planner-mcp或全局安装:
npm install -g longterm-planner-mcp
longterm-planner-mcp用法
安装后,Claude Code可以访问规划工具、资源和提示。
快速开始
Create a plan for my current project with tasks for the authentication featureClaude将使用MCP工具:
- 创建与项目链接的计划
- 为该功能添加任务
- 工作时跟踪进度
工作流示例
# Start a planning session
> Let's plan the user authentication feature
# Claude creates plan and tasks via MCP tools
# Start working on a task
> I'm starting work on the login form task
# Claude marks task as in_progress
# Complete the task
> The login form is done, tests passing
# Claude moves task to completed, logs progress工具
计划管理
| 工具 | 说明 |
|---|---|
create_plan | 为项目创建新计划 |
get_plan | 按ID获取计划详细信息 |
update_plan | 更新计划名称、描述、日期 |
list_plans | 列出所有计划,可选择按项目筛选 |
archive_plan | 将已完成的计划存档 |
activate_plan | 激活计划草案 |
任务管理
| 工具 | 说明 |
|---|---|
add_task | 将任务添加到计划中 |
update_task | 更新任务属性 |
start_task | 开始处理任务 |
complete_task | 将任务标记为已完成 |
block_task | 将任务标记为已阻止,并注明原因 |
unblock_task | 从任务中删除阻止程序 |
submit_for_review | 提交任务以供审查 |
find_tasks | 使用筛选器在计划中查找任务 |
get_blocked | 获取所有被阻止的任务 |
get_progress | 获取计划进度统计数据 |
delete_task | 删除任务 |
模板
| 工具 | 说明 |
|---|---|
list_templates | 列出可用的计划模板 |
create_from_template | 从模板创建计划 |
内置模板: web-app, rest-api, cli-tool, library, bug-fix, feature, project-kickoff, sprint, release, migration
依赖项
| 工具 | 说明 |
|---|---|
add_dependency | 在任务之间添加依赖关系 |
remove_dependency | 删除依赖项 |
get_dependencies | 获取任务依赖关系 |
get_dependency_chain | 获取完整的依赖链 |
check_can_start | 检查任务是否可以启动 |
搜索和筛选
| 工具 | 说明 |
|---|---|
search_tasks | 使用文本和过滤器搜索任务 |
search_plans | 按名称/状态搜索计划 |
find_overdue_tasks | 查找过期任务 |
find_upcoming_tasks | 查找N天内到期的任务 |
get_task_summary | 获取任务统计信息 |
导出/导入
| 工具 | 说明 |
|---|---|
export_plan | 将计划导出为JSON或Markdown |
import_plan | 从JSON导入计划 |
标签
| 工具 | 说明 |
|---|---|
add_tag | 向任务添加标签 |
remove_tag | 从任务中删除标记 |
set_tags | 设置任务的所有标签 |
get_tags | 获取计划中的所有唯一标签 |
find_by_tag | 按标签查找任务 |
批量操作
| 工具 | 说明 |
|---|---|
bulk_update_status | 更新多个任务的状态 |
bulk_update_priority | 更新多个任务的优先级 |
bulk_set_assignee | 为多个任务设置受让人 |
bulk_add_tag | 为多个任务添加标签 |
bulk_remove_tag | 从多个任务中删除标记 |
bulk_delete | 删除多个任务 |
评论
| 工具 | 说明 |
|---|---|
add_comment | 向任务添加注释 |
list_comments | 列出任务的注释 |
update_comment | 更新评论 |
delete_comment | 删除评论 |
get_recent_comments | 获取计划中的最新评论 |
会话
| 工具 | 说明 |
|---|---|
get_session_summary | 在会议开始时获取项目规划上下文 |
输出示例:
Last session: 2d ago
Auth System: 5/12 (42%)
active: Login form, OAuth setup
blocked: DB migration
ready: 3 task(s)
Last: Completed login validation (2d ago)资源
通过MCP资源访问计划数据:
| URI | 描述 |
|---|---|
plan://overview | 所有活动计划摘要 |
plan://kanban/{planId} | 任务看板视图 |
plan://progress/{planId} | 进度统计 |
plan://blockers | 计划中所有被阻止的任务 |
plan://blockers/{planId} | 特定计划的已阻止任务 |
plan://today | 今天要关注的任务 |
提示
常见规划场景的预构建提示:
| 提示 | 描述 |
|---|---|
plan_session | 开始一次重点规划会议 |
daily_standup | 回顾昨天的进展,计划今天 |
weekly_review | 每周进度审查和计划 |
decompose | 将大型任务分解为子任务 |
retrospective | 反思已完成的工作 |
unblock | 为受阻任务制定解决方案 |
prioritize | 重新安排积压任务的优先级 |
scope_check | 评估计划范围是否现实 |
数据存储
计划存储在SQLite中 .claude/planning/plans.db 在每个项目目录中这使得每个项目的计划数据保持隔离,如果需要,版本可控。
从v0.2.9或更早版本升级
以前的版本将所有计划存储在全局数据库中 ~/.claude/planning/plans.db版本0.2.10+会自动迁移您的数据:
- 更新软件包:只需重新启动Claude Code-它使用
npx -y获取最新版本 - 迁移自动运行:首次启动时,将现有计划复制到各自的项目目录中
- 全球数据库已存档:旧数据库重命名为
plans.db.migrated作为备份
无需采取任何行动-迁移是无缝的,并保留了您的所有数据。
模式
- 计划 -带有状态、日期和背景的项目计划
- 任务 -具有状态、优先级、估计值、标签、分配的任务
- 任务注释 -任务上带有时间戳的注释
- 目标 -高级目标(层次结构)
- 目标 -目标下的可衡量目标
- 里程碑 -有时限的检查点
- 依赖项 -任务/目标依赖关系
- 阻碍因素 -阻碍进度的问题
- progress_log -活动历史
- 会话 -计划会话跟踪
任务状态
任务遵循定义的状态机:
┌──────────┐
│ CANCELLED│
└──────────┘
↑
┌────────┐ ┌───────┐ │ ┌─────────────┐ ┌────────┐ ┌───────────┐
│BACKLOG │ → │ READY │ ─┼→ │ IN_PROGRESS │ → │ REVIEW │ → │ COMPLETED │
└────────┘ └───────┘ │ └─────────────┘ └────────┘ └───────────┘
│ ↓ ↑
│ ┌─────────┐
└────│ BLOCKED │
└─────────┘有效转换:
backlog→ready,cancelledready→in_progress,backlog,cancelledin_progress→review,blocked,cancelledblocked→in_progress,cancelledreview→completed,in_progress,cancelled
Git集成
链接自动提交任务:
通过提交消息
git commit -m "Add login validation #task-abc123"通过分行名称
git checkout -b feature/task-abc123-login-form服务器解析任务引用和链接提交以实现可追溯性。
程序化使用
import {
PlanningServer,
Database,
PlanRepository,
TaskService
} from 'longterm-planner-mcp';
// Use the server
const server = new PlanningServer({
dbPath: './my-plans.db'
});
await server.start();
// Or use components directly
const db = new Database('./plans.db');
const planRepo = new PlanRepository(db);
const plan = planRepo.create({
projectPath: '/my/project',
name: 'My Plan'
});配置
环境变量:
| 变量 | 描述 | 默认值 |
|---|---|---|
PLANNING_DB_PATH | 数据库文件路径 | .claude/planning/plans.db (在项目目录中) |
发展
# Clone the repo
git clone https://github.com/artpar/longterm-planner-mcp
cd longterm-planner-mcp
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Run locally
npm start测试
# Run all tests
npm run test:run
# Watch mode
npm test
# Coverage
npm run test:coverage需求
- Node.js>=18.0.0
- 克劳德代码(用于MCP集成)
许可证
麻省理工学院
贡献
欢迎投稿!请阅读投稿指南并提交PR。
