长期规划管理服务

一个用于Claude Code中长期规划管理的模型上下文协议(MCP)服务器,通过SQLite存储跟踪计划、任务、目标和进度。

  • by artpar
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 artpar/longterm-planner-mcp

使用说明

长期规划师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 feature

Claude将使用MCP工具:

  1. 创建与项目链接的计划
  2. 为该功能添加任务
  3. 工作时跟踪进度

工作流示例

# 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+会自动迁移您的数据:

  1. 更新软件包:只需重新启动Claude Code-它使用 npx -y 获取最新版本
  2. 迁移自动运行:首次启动时,将现有计划复制到各自的项目目录中
  3. 全球数据库已存档:旧数据库重命名为 plans.db.migrated 作为备份

无需采取任何行动-迁移是无缝的,并保留了您的所有数据。

模式

  • 计划 -带有状态、日期和背景的项目计划
  • 任务 -具有状态、优先级、估计值、标签、分配的任务
  • 任务注释 -任务上带有时间戳的注释
  • 目标 -高级目标(层次结构)
  • 目标 -目标下的可衡量目标
  • 里程碑 -有时限的检查点
  • 依赖项 -任务/目标依赖关系
  • 阻碍因素 -阻碍进度的问题
  • progress_log -活动历史
  • 会话 -计划会话跟踪

任务状态

任务遵循定义的状态机:

                    ┌──────────┐
                    │ CANCELLED│
                    └──────────┘
                         ↑
┌────────┐    ┌───────┐  │  ┌─────────────┐    ┌────────┐    ┌───────────┐
│BACKLOG │ →  │ READY │ ─┼→ │ IN_PROGRESS │ →  │ REVIEW │ →  │ COMPLETED │
└────────┘    └───────┘  │  └─────────────┘    └────────┘    └───────────┘
                         │         ↓ ↑
                         │    ┌─────────┐
                         └────│ BLOCKED │
                              └─────────┘

有效转换:

  • backlog → ready, cancelled
  • ready → in_progress, backlog, cancelled
  • in_progress → review, blocked, cancelled
  • blocked → in_progress, cancelled
  • review → 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。

相关