萨迦mcp

用于AI代理的类似Jira的项目跟踪器MCP服务器。SQLite支持,每个项目范围,具有完整的层次结构和活动日志记录,因此LLM永远不会迷失方向。
不再有零散的markdown文件。 saga-mcp为您的AI助手提供了一个结构化的数据库,用于跨会话跟踪项目、史诗、任务、子任务、笔记和决策。
特性
- 完整层次结构:项目>主题>任务>子任务
- 任务相关性:满足deps时,使用自动阻止/取消阻止快速排序
- 评论:关于任务的多线程讨论——在会议中留下一些线索
- 模板:可重复使用的任务集
{variable}替换 - 仪表盘:一个工具调用提供了自然语言摘要的完整概述
- SQLite:自给自足
.tracker.db每个项目的文件--无需设置,无需外部数据库 - 活动日志:每个突变都会自动使用旧/新值进行跟踪
- Notes系统:决策、背景、会议记录、拦截器——所有内容均可搜索
- 批量操作:创建多个子任务或在一次调用中更新多个任务
- 31个重点工具:每个工具上都有MCP安全注释
- 进口:JSON格式的完整项目备份和迁移(带依赖关系和注释)
- 来源参考:将任务链接到特定代码位置
- 自动时间跟踪:根据活动日志自动计算的小时数
- 跨平台:适用于macOS、Windows和Linux
快速开始
使用克劳德代码
添加到您的项目 .mcp.json:
{
"mcpServers": {
"saga": {
"command": "npx",
"args": ["-y", "saga-mcp"],
"env": {
"DB_PATH": "/absolute/path/to/your/project/.tracker.db"
}
}
}
}使用克劳德桌面
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"saga": {
"command": "npx",
"args": ["-y", "saga-mcp"],
"env": {
"DB_PATH": "/absolute/path/to/your/project/.tracker.db"
}
}
}
}手动安装
npm install -g saga-mcp
DB_PATH=./my-project/.tracker.db saga-mcp配置
saga-mcp需要一个环境变量:
| 变量 | 必填 | 描述 |
|---|---|---|
DB_PATH | 是 | 到的绝对路径 .tracker.db SQLite文件。首次使用时会自动创建文件和架构。 |
没有API密钥,没有帐户,没有外部服务。所有内容都存储在您指定的SQLite文件中。
工具
入门指南
| 工具 | 说明 | 注释 |
|---|---|---|
tracker_init | 初始化跟踪器并创建第一个项目 | readOnly: false, idempotent: true |
tracker_dashboard | 完整的项目概述和自然语言摘要 | readOnly: true |
项目
| 工具 | 说明 | 注释 |
|---|---|---|
project_create | 创建新项目 | readOnly: false |
project_list | 列出具有完成统计信息的项目 | readOnly: true |
project_update | 更新项目(存档到软删除) | readOnly: false, idempotent: true |
史诗
| 工具 | 说明 | 注释 |
|---|---|---|
epic_create | 在项目中创建史诗 | readOnly: false |
epic_list | 列出带有任务计数的史诗 | readOnly: true |
epic_update | 更新史诗 | readOnly: false, idempotent: true |
任务
| 工具 | 说明 | 注释 |
|---|---|---|
task_create | 创建具有可选依赖项的任务 | readOnly: false |
task_list | 列出/筛选具有依赖关系信息的任务 | readOnly: true |
task_get | 获取包含子任务、注释、注释和依赖关系的任务 | readOnly: true |
task_update | 更新任务(自动日志、自动阻止/解除阻止) | readOnly: false, idempotent: true |
task_batch_update | 一次更新多个任务 | readOnly: false, idempotent: true |
子任务
| 工具 | 说明 | 注释 |
|---|---|---|
subtask_create | 创建子任务--支持批处理 | readOnly: false |
subtask_update | 更新子任务标题/状态 | readOnly: false, idempotent: true |
subtask_delete | 删除子任务--支持批处理 | destructive: true, idempotent: true |
评论
| 工具 | 说明 | 注释 |
|---|---|---|
comment_add | 向任务添加评论(主题讨论) | readOnly: false |
comment_list | 列出任务的所有评论 | readOnly: true |
模板
| 工具 | 说明 | 注释 |
|---|---|---|
template_create | 使用创建可重用的任务模板 {variable} 占位符 | readOnly: false |
template_list | 列出可用模板 | readOnly: true |
template_apply | 应用模板创建具有变量替换的任务 | readOnly: false |
template_delete | 删除模板 | destructive: true, idempotent: true |
备注
| 工具 | 说明 | 注释 |
|---|---|---|
note_save | 创建或更新笔记(追加销售) | readOnly: false |
note_list | 列出带过滤器的注释 | readOnly: true |
note_search | 在笔记中进行全文搜索 | readOnly: true |
note_delete | 删除注释 | destructive: true, idempotent: true |
智能
| 工具 | 说明 | 注释 |
|---|---|---|
tracker_search | 跨实体搜索(项目、史诗、任务、笔记) | readOnly: true |
activity_log | 使用过滤器查看更改历史记录 | readOnly: true |
tracker_session_diff | 显示自给定时间戳以来发生了什么变化——在会话开始时调用 | readOnly: true |
进口/出口
| 工具 | 说明 | 注释 |
|---|---|---|
tracker_export | 将整个项目导出为嵌套JSON(包括依赖关系和注释) | readOnly: true |
tracker_import | 从JSON导入项目(匹配导出格式) | readOnly: false |
使用示例
示例1:使用依赖项启动项目
用户提示: “为我的新电子商务API项目设置跟踪”
工具调用:
tracker_init({ project_name: "E-Commerce API", project_description: "REST API for online store" })
epic_create({ project_id: 1, name: "Authentication", priority: "high" })
task_create({ epic_id: 1, title: "Design auth schema", priority: "critical" })
task_create({ epic_id: 1, title: "Implement JWT auth", priority: "high", depends_on: [1] })
task_create({ epic_id: 1, title: "Add OAuth2 Google login", priority: "medium", depends_on: [2] })结果: 任务2和3被自动阻止,因为它们的依赖关系尚未完成。当任务1标记为已完成时,任务2会自动解除阻止。
示例2:使用仪表板摘要恢复工作
工具调用:
tracker_dashboard({})回复包括自然语言摘要:
"E-Commerce API: 5 tasks across 2 epics. 40% complete. Active: Authentication (2/3 done). Next up: Product Catalog (2 tasks). 1 blocked task(s)."加上完整的结构化数据(统计数据、史诗、被阻止的任务、逾期任务、活动、笔记)。
示例3:为重复的工作流使用模板
创建模板:
template_create({
name: "feature_workflow",
description: "Standard feature implementation",
tasks: [
{ "title": "Design {feature} API", "priority": "critical", "estimated_hours": 2 },
{ "title": "Implement {feature}", "priority": "high", "estimated_hours": 8 },
{ "title": "Write tests for {feature}", "priority": "high", "estimated_hours": 4 },
{ "title": "Document {feature}", "priority": "medium", "estimated_hours": 1 }
]
})应用它:
template_apply({ template_id: 1, epic_id: 2, variables: { "feature": "user auth" } })创建4个任务:“设计用户认证API”、“实现用户认证”、“编写用户认证测试”、“文档用户认证”。
示例4:任务注释作为决策线索
comment_add({ task_id: 5, content: "Investigated root cause: CORS headers missing on preflight" })
comment_add({ task_id: 5, content: "Fixed by adding OPTIONS handler. Tested with curl." })
task_update({ id: 5, status: "done" })评论在会话之间持续存在——下次代理调用时 task_get(5),它看到了完整的讨论线索。
运作原理
saga-mcp将所有内容存储在一个SQLite文件中(.tracker.db)每个项目。首次使用时,数据库会自动创建所有表和索引,无需迁移步骤。
层级
Project
└── Epic (feature/workstream)
└── Task (unit of work)
├── Subtask (checklist item)
├── Comment (discussion thread)
└── Dependencies (blocked by other tasks)任务相关性
任务可以依赖于其他任务。当你设置 depends_on: [2, 3] 在一项任务上:
- 如果没有任何依赖关系,则自动阻止该任务
done - 标记依赖关系时
done,重新评估下游任务 - 如果满足所有依赖关系,则被阻止的任务会自动解除阻止
todo
注释类型
注释会替换分散的markdown文件。每个音符都有一种类型:
| 类型 | 用例 |
|---|---|
general | 自由形式笔记 |
decision | 架构/设计决策 |
context | 未来会议的对话背景 |
meeting | 会议记录 |
technical | 技术细节、规格 |
blocker | 阻碍因素和问题 |
progress | 进度更新 |
release | 发行说明 |
活动日志
每次创建、更新和删除都会自动记录:
{
"summary": "Task 'Fix CORS issue' status: blocked -> done",
"action": "status_changed",
"entity_type": "task",
"entity_id": 15,
"field_name": "status",
"old_value": "blocked",
"new_value": "done",
"created_at": "2026-02-21T18:30:00"
}隐私政策
saga-mcp是一个完全本地的离线工具。确实如此 不:
- 收集任何用户数据
- 将任何数据发送到外部服务器
- 安装后需要互联网接入
- 使用任何类型的分析、遥测或跟踪
所有数据都只存储在由指定的本地SQLite文件中 DB_PATH。您完全拥有自己的数据。卸载saga-mcp并删除 .tracker.db 文件会删除所有痕迹。
有关隐私的问题,请访问https://github.com/spranab/saga-mcp/issues.
发展
git clone https://github.com/spranab/saga-mcp.git
cd saga-mcp
npm install
npm run build
DB_PATH=./test.db npm start支持
- 问题: https://github.com/spranab/saga-mcp/issues
- 仓库: https://github.com/spranab/saga-mcp
许可证
麻省理工学院
