Token导航 LogoToken导航TokenDH.com
MCP Sdlc Tracker logo
数据服务未说明官方级别未说明来源级核验

MCP Sdlc Tracker

MCP Server

一个基于SQLite的模型上下文协议(MCP)服务器,提供完整的软件开发生命周期(SDLC)跟踪功能,包括任务、用户故事、史诗、错误和测试用例管理。

工具数

28

提示词数

0

GitHub Stars

1

资源数

0
测试管理TypeScriptClaudeClaudeWindsurfVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

avinashsingh

提供方

avinashsingh

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SQLite MCP跟踪服务器

一种模型上下文协议(MCP)服务器,通过标准化的工具和资源提供基于SQLite的任务和项目跟踪功能。

特性

  • SDLC实体管理:完整的软件开发生命周期跟踪
  • Epics、用户故事、任务、Bug、测试用例:完全支持SDLC工作流
  • 维基系统:用于项目文档的集成wiki,具有实体链接、256个字符的标题限制和全文搜索功能
  • 评论系统:利益攸关方对所有有评论数量的实体的反馈和合作
  • 史诗般的依赖关系:史诗可以依赖于其他史诗(类似于用户故事依赖关系)
  • 工作流执行:适当的利益攸关方所有权和地位转变
  • 自动状态更改:关闭的故事上的bug重新打开了它们,转移到QA的故事重新打开了他们的史诗
  • 审计跟踪:所有权和状态转换跟踪
  • 数据验证:全面的输入验证和外键约束检查
  • 布尔字段处理:存档字段的正确布尔转换(true/false而不是0/1)
  • HTTP API:用于数据库初始化、SDLC实体和wiki页面的REST端点
  • Web 界面:带有SDLC跟踪器和显示实体编号的wiki部分的标签式仪表板界面
  • 错误处理:清除无效操作和违反约束的错误消息
  • SQLite后端:使用SQLite和better squelite3进行高效操作

可用工具

数据库管理

  • initialize:初始化指定项目目录中的SDLC跟踪器数据库。您必须提供当前的工作目录路径(例如,“/Users/username/project”)。

Epic管理

  • create_epics:创建多个带有标题、描述和产品经理分配的史诗
  • list_epics:列出带有可选状态过滤的史诗(默认情况下不包括存档)

- dependencies_resolved:按依赖关系解析状态筛选史诗(true/false)

  • update_epic:更新史诗标题、描述、状态、任务和阶段
  • archive_epic:存档史诗(仅限产品经理)

用户故事管理

  • create_user_stories:使用史诗般的关联、接受标准和故事点创建多个用户故事
  • list_user_stories:按历史、状态或受让人筛选列出用户故事(默认情况下不包括存档)

- dependencies_resolved:按依赖关系解决状态筛选用户故事(true/false)

  • update_user_story_content:更新用户故事标题、描述和故事点(所有利益相关者)
  • update_user_story_acceptance_criteria:更新用户故事接受标准(仅限产品经理)
  • archive_user_story:存档用户故事(仅限产品经理)

任务管理

  • create_tasks:使用用户故事关联、时间估计和架构师/开发人员分配创建多个任务
  • list_tasks:列出按用户故事、状态、受让人和依赖关系进行可选筛选的任务

- depends_on:筛选依赖于特定任务ID的任务 - depended_by:筛选特定任务ID所依赖的任务 - has_dependencies:筛选具有(true)或不具有(false)任何依赖关系的任务 - dependencies_resolved:按依赖关系解决状态筛选任务(true/false)

缺陷追踪系统

  • create_bugs:创建多个包含严重级别、报告者和受让人信息的错误报告
  • list_bugs:列出漏洞,并可选择按状态、严重性、报告者、受让人进行过滤

测试用例管理

  • create_test_cases:创建具有先决条件、步骤、预期结果和测试人员/产品经理分配的多个测试用例
  • list_test_cases:列出测试用例,并可选择按状态、受让人进行筛选

工作流管理

  • update_entity_status:使用审计跟踪记录和智能工作流建议更新任何SDLC实体的状态和/或分配
  • manage_story_dependencies:批量添加或删除多个用户故事的依赖关系
  • manage_epic_dependencies:批量添加或删除多个史诗的依赖关系
  • manage_task_dependencies:批量添加或删除多个任务的依赖关系(任务必须属于同一用户故事)
  • 自动状态更改:在已关闭的故事上创建的Bug会自动将其重新打开给QA,移动到QA的故事会自动重新打开其父史诗

智能工作流建议

该系统为整个SDLC提供智能工作流程指导:

  • 任务结束情报:当任务移动到“已关闭”状态时,系统会自动检查用户故事中的所有任务是否都已关闭
  • 用户故事推进:如果所有任务都已关闭,并且用户故事尚未处于QA/UAT/关闭状态,系统建议将用户故事移动到“QA”状态
  • 任务依赖性情报:当任务关闭时,系统会检查依赖任务,如果所有依赖都得到满足,则建议将其移动到“进行中”
  • Bug状态情报:当bug状态发生变化时,系统会提供有针对性的建议:

- “修复”错误:建议QA验证 - “已关闭”错误:检查是否存在回归测试,如果缺失,建议创建 - “打开”bug:如果分配给测试人员,建议重新分配开发人员

  • 自动状态更改:除了建议之外,系统还会自动处理工作流转换:

- 在已关闭的故事上创建的错误会自动将其重新打开为“QA”状态 - 转移到“QA”的故事会自动将其父史诗从“关闭”重新打开到“打开”

  • 用户故事验证:防止在没有验收标准和测试用例的情况下将用户故事移动到“进行中”
  • 主动指导:帮助团队维护适当的SDLC工作流程,而无需手动跟踪

示例响应:

*任务依赖性情报:*

{
  "success": true,
  "entity_type": "task",
  "entity_id": 5,
  "old_status": "Review",
  "new_status": "Closed",
  "workflow_suggestions": [
    {
      "entity_type": "task",
      "entity_id": 7,
      "suggested_action": "start_task",
      "reason": "All dependencies for task \"Implement API\" are now completed",
      "suggested_status": "In Progress"
    }
  ]
}

*Bug状态情报:*

{
  "success": true,
  "entity_type": "bug",
  "entity_id": 3,
  "old_status": "In Progress",
  "new_status": "Fixed",
  "workflow_suggestions": [
    {
      "entity_type": "bug",
      "entity_id": 3,
      "suggested_action": "qa_verification",
      "reason": "Bug has been marked as fixed and should be verified by QA",
      "suggested_status": "In Progress"
    }
  ]
}

*用户故事验证:*

{
  "content": ["Please ask product manager to add acceptance criteria"],
  "structuredContent": {
    "success": false,
    "entity_type": "user_story",
    "entity_id": 1,
    "error": "Please ask product manager to add acceptance criteria"
  },
  "isError": true
}

评论支持

  • create_comments:对任何SDLC实体发表评论,以获得利益相关者的反馈
  • get_comments:检索特定SDLC实体的注释

Wiki管理

  • create_wiki_page:使用Markdown内容、标签和类别分类创建wiki页面(标题限制为256个字符,类别:技术、流程、业务、质量保证、知识)
  • update_wiki_page:更新wiki页面内容、元数据和标签(标题限制为256个字符,类别:技术、流程、业务、质量保证、知识)
  • list_wiki_pages:列出按类别、状态、标签或搜索词筛选的wiki页面
  • get_wiki_page:获取包含链接实体的详细wiki页面内容
  • manage_wiki_links:添加或删除wiki页面和SDLC实体之间的链接
  • archive_wiki_page:存档wiki页面(移动到存档状态)

错误处理和验证

服务器包括全面的错误处理和数据验证:

输入验证

  • 必填字段:所有必填字段都使用Zod模式进行验证
  • 数据类型:对所有输入进行正确的类型检查
  • 枚举值:利益相关者的角色和地位价值得到严格验证

外键验证

  • 背景调查:在数据库操作之前,所有外键引用(epic_id、user_strory_id、task_id)都经过验证
  • 清除错误消息:无效的引用返回特定的错误消息(例如,“无效的史诗ID:999”)
  • 约束执行:检查数据库约束并妥善处理违规行为

错误响应格式

  • 一致的结构:所有工具都会返回带有清晰消息的结构化错误响应
  • 部分成功:创建工具可以在单个响应中返回成功和失败的操作
  • 验证错误:输入验证失败包括详细的字段级错误信息

错误响应示例

// Foreign key validation error
"Invalid epic IDs: 999"

// Input validation error
{
  "code": "too_small",
  "minimum": 1,
  "message": "Title is required"
}

// Constraint violation
"FOREIGN KEY constraint failed"

HTTP API

服务器还为web应用程序和直接HTTP访问提供REST API:

端点

  • GET /api/status:获取数据库初始化状态和服务器信息
  • POST /api/initialize:使用项目位置初始化数据库

- 请求: {"currentProjectLocation": "/path/to/project"} - 响应:数据库连接状态

  • GET /api/epics:列出所有带有评论数和相关性的史诗
  • GET /api/epic/:id:获取具体史诗般的细节
  • GET /api/story/:id:获取特定用户故事详细信息
  • GET /api/task/:id:获取特定任务的详细信息
  • GET /api/bug/:id:获取特定的bug详细信息
  • GET /api/test-case/:id:获取特定测试用例详细信息
  • GET /api/comments/:entityType/:entityId:获取任何实体的评论
  • GET /api/wiki:列出所有包含元数据和标签的wiki页面
  • GET /api/wiki/:id:获取包含完整内容和链接实体的特定wiki页面
  • GET /api/wiki/search?q=term:按标题或内容搜索wiki页面

特性

  • 评论数:所有实体包括 comment_count 领域
  • 依赖关系信息:Epic和用户故事包括依赖关系数组
  • 布尔字段:存档字段的正确布尔值(true/false)
  • JSON响应:所有端点都返回结构化JSON数据

安装

npm install

用法

运行服务器

npm start

或者用于自动重启的开发:

npm run dev

初始化数据库

在使用任何其他工具之前,您必须初始化数据库。您有两个选择:

选项1:MCP工具(推荐用于AI代理)

  1. 打电话给 initialize 工具并提供您当前的工作目录路径(例如,“/Users/username/project”)
  2. 该工具将创建 .project_tracker.donottouch 在该目录中设置所有必要的表
  3. 该工具将自动创建或更新 .gitignore 从版本控制中排除数据库文件

选项2:HTTP API(适用于Web应用程序)

  1. 启动服务器: npm start
  2. 呼叫 POST /api/initialize 与: {"currentProjectLocation": "/path/to/project"}
  3. API将创建 .project_tracker.donottouch 并建立数据库连接
  4. API将自动创建或更新 .gitignore 从版本控制中排除数据库文件

连接到MCP客户端

此服务器使用stdio传输,因此可以连接到任何兼容MCP的客户端。以下是流行的AI编码代理的设置说明:

克劳德代码

claude mcp add --transport stdio my-tracker "npm start"

开源代码

添加到您的OpenCode MCP配置中:

{
  "mcpServers": {
    "sdlc-tracker": {
      "command": "npm",
      "args": ["start"],
      "cwd": "/path/to/your/project"
    }
  }
}

OpenAI Codex

增添 ~/.codex/config.toml:

[[mcp]]
name = "sdlc-tracker"
command = "npm"
args = ["start"]
cwd = "/path/to/your/project"

帆板运动

使用stdio传输和命令在Windsurf的MCP设置中进行配置 npm start.

光标

  1. 打开光标设置
  2. 导航到MCP部分
  3. 使用以下命令添加新服务器:

- 运输:stdio - 命令: npm start - 工作目录: /path/to/your/project

VS Code

  1. 安装MCP扩展(如“MCP”或“Claude Code”)
  2. 配置stdio传输
  3. 将命令设置为 npm start

Web UI访问

服务器还提供基于web的仪表板界面:

npm start
# Then visit the URL shown in the console (typically http://localhost:3000)

Web UI功能:

  • 选项卡式界面:单独的SDLC跟踪器和Wiki部分
  • 仪表板概述:所有SDLC实体的视觉表示,具有清晰的实体标识
  • 实体编号显示:所有卡都显示实体类型和ID(例如,“用户故事#5:实现身份验证”)
  • Wiki浏览:基于卡片的wiki页面显示,包含元数据和标签
  • Wiki档案:存档带有确认对话框和可选原因跟踪的wiki页面
  • 依赖关系可视化:史诗和用户故事的可点击依赖链接
  • 评论数:显示所有实体的评论计数
  • 交互式导航:单击实体查看详细信息
  • Wiki页面渲染:链接SDLC实体的完整Markdown支持
  • 实时更新:自动刷新数据更改

其他MCP兼容客户端

  • 克莱恩:在设置中配置stdio传输
  • 鲁代码:使用添加服务器配置 npm start 命令
  • 继续:使用stdio传输添加到config.json
  • 泽德:在MCP设置面板中配置

对于所有客户端,确保您正在从应初始化SDLC跟踪器数据库的项目目录中运行该命令。

数据库模式

initialize 工具创建SQLite数据库文件 .project_tracker.donottouch 在具有完整SDLC架构的指定目录中:

核心SDLC实体

Epics表

  • id:主键(自动递增)
  • title:史诗标题(必填)
  • description:史诗描述(可选)
  • status:史诗级状态(“新建”、“打开”、“关闭”)
  • created_by:创建者利益相关者(enum)
  • owner:当前所有者(“产品”)
  • assigned_to:仅分配给(“产品”)
  • created_at/updated_at:时间戳
  • closed_at:关闭时间戳
  • archived:用于软删除的布尔标志
  • dependencies:此史诗所依赖的史诗ID数组
  • dependent_epics:依赖于此史诗的史诗ID数组
  • dependencies_resolved:布尔值,指示是否所有依赖项都为“Closed”
  • comment_count:关于这部史诗的评论数量

用户故事表

  • id:主键(自动递增)
  • epic_id:史诗外键(可选)
  • title:用户故事标题(必填)
  • description:用户故事描述(可选)
  • acceptance_criteria:验收标准(可选)
  • status:状态(“新建”、“进行中”、“QA”、“UAT”、“已关闭”)
  • created_by/current_owner/assigned_to:利益相关者分配(枚举)
  • story_points:故事点估计(可选)
  • phase:阶段名称(可选,可以为null)
  • phase_status:阶段完成状态(可选,默认为“新建”)
  • created_at/updated_at/qa_at/closed_at:时间戳
  • archived:用于软删除的布尔标志
  • dependencies:此故事所依赖的故事ID数组
  • dependent_stories:依赖于此故事的故事ID数组
  • dependencies_resolved:布尔值,指示是否所有依赖项都为“Closed”
  • comment_count:关于此故事的评论数

任务表

  • id:主键(自动递增)
  • user_story_id:用户库的外键(可选)
  • title:任务标题(必填)
  • description:任务描述(可选)
  • status:状态(“新建”、“进行中”、“审核”、“已关闭”)
  • created_by/current_owner/assigned_to:利益相关者分配(“架构设计师”、“开发人员”)
  • estimated_hours/actual_hours:时间跟踪(可选)
  • priority:任务优先级(“低”、“中”、“高”)-必填
  • phase:阶段名称(可选,可以为null)
  • phase_status:阶段完成状态(可选,默认为“新建”)
  • created_at/updated_at/closed_at:时间戳
  • dependencies_resolved:布尔值,指示是否所有依赖项都为“Closed”
  • comment_count:对此任务的评论数

Bug表

  • id:主键(自动递增)
  • user_story_id/task_id:外键(可选)
  • title:Bug标题(必填)
  • description:Bug描述(可选)
  • severity:严重程度(“严重”、“高”、“中”、“低”)
  • status:状态(“打开”、“进行中”、“审查”、“已修复”、“关闭”)
  • reported_by/assigned_to/created_by/current_owner:利益相关者分配(枚举)
  • phase:阶段名称(可选,可以为null)
  • phase_status:阶段完成状态(可选,默认为“打开”)
  • created_at/updated_at/fixed_at/closed_at:时间戳
  • comment_count:对此错误的评论数

测试用例表

  • id:主键(自动递增)
  • user_story_id:用户库的外键(可选)
  • title:测试用例标题(必填)
  • description/preconditions/steps/expected_result:测试细节
  • status:状态(“新”、“通过”、“失败”)
  • created_by/current_owner/assigned_to:利益相关者分配(“销售员”、“产品经理”)
  • phase:阶段名称(可选,可以为null)
  • phase_status:阶段完成状态(可选,默认为“新建”)
  • created_at/updated_at/last_run_at/last_run_by:时间戳
  • comment_count:此测试用例的评论数

故事依赖关系表

  • id:主键(自动递增)
  • dependent_story_id:用户故事的外键(依赖于另一个故事的故事)
  • dependency_story_id:用户故事的外键(故事取决于)
  • created_at:创建依赖关系的时间戳
  • created_by:创建依赖关系的利益相关者
  • 约束条件:无自依赖、无重复依赖、级联删除

Epic依赖关系表

  • id:主键(自动递增)
  • dependent_epic_id:史诗的外键(依赖于另一部史诗的史诗)
  • dependency_epic_id:史诗的外键(史诗依赖)
  • created_at:创建依赖关系的时间戳
  • created_by:创建依赖关系的利益相关者
  • 约束条件:无自依赖、无重复依赖、级联删除

任务依赖关系表

  • id:主键(自动递增)
  • dependent_task_id:任务的外键(依赖于另一个任务的任务)
  • dependency_task_id:任务的外键(任务取决于)
  • created_at:创建依赖关系的时间戳
  • created_by:创建依赖关系的利益相关者
  • 约束条件:无自我依赖、无重复依赖、级联删除、相同用户故事验证

评论表

  • id:主键(自动递增)
  • entity_type:实体类型('pic'、'user_story'、'task'、'bug'、'test_case')
  • entity_id:实体的外键
  • comment_text:评论内容(必填)
  • author:评论作者利益相关者(enum)
  • created_at/updated_at:时间戳

Wiki页面表

  • id:主键(自动递增)
  • title:Wiki页面标题(必填,唯一)
  • content:Markdown内容(必填)
  • category:类别分类(“技术”、“流程”、“业务”、“质量保证”、“知识”)
  • tags:组织的标记字符串数组
  • created_by/updated_by:创建/更新页面的利益相关者
  • created_at/updated_at:时间戳

Wiki链接表

  • id:主键(自动递增)
  • wiki_page_id:wiki_pages的外键
  • entity_type:链接实体类型('pic'、'user_story'、'task'、'bug'、'test_case')
  • entity_id:链接实体的外键
  • created_at:创建链接时的时间戳
  • created_by:创建链接的利益相关者

审计跟踪表

所有权转移

  • 跟踪利益相关者之间的所有所有权变更

状态转换

  • 使用时间戳和参与者跟踪所有状态更改

索引

  • 所有外键和常用筛选列的性能指标
  • 用于高效实体类型查询的复合索引
  • 基于实体的快速过滤的注释实体索引

SDLC工作流程

服务器实施了一个完整的软件开发生命周期,并具有适当的利益相关者所有权:

实体国家和过渡

  • 史诗新→ Open → 已关闭(归产品经理所有)
  • 用户故事新→ 进行中→ QA → UAT → 已关闭(产品经理→ 建筑师→ 开发者→ 测试员→ 产品经理)

- 验证:没有验收标准和测试用例,无法移动到“进行中”

  • 任务新→ 准备→ 进行中↔ 审查→ 已关闭(程序管理器→ 建筑师→ 开发者→ 建筑师,可能返回进行中进行返工)
  • 漏洞:打开→ 进行中→ 审查→ 固定的→ 封闭式(任何利益相关者都可以参与)

- 验证:“审阅”只能从“进行中”设置,不能直接跳到“已修复”

  • 测试用例:新建、通过、失败(测试仪→ 产品经理→ 测试仪)

利益相关者

  • 产品经理:产品管理
  • 程序管理员:项目管理
  • 建筑师:解决方案架构
  • 开发者:开发团队
  • 测试员:质量保证

故事依赖关系

故事可以依赖于其他故事来建模复杂的项目关系:

  • 多对多关系:一个故事可以依赖于多个故事,多个故事也可以依赖于一个故事
  • 依赖性验证:防止循环依赖和自依赖
  • 智能订购: list_user_stories 首先返回依赖关系最少的故事
  • 批量管理:在单个操作中添加/删除多个故事的依赖关系
  • 视觉指示器:依赖计数显示在带有可点击链接的UI中

史诗般的依赖关系

史诗可以依赖于其他史诗来模拟复杂的项目关系:

  • 多对多关系一部史诗可能依赖于多部史诗,而多部史诗也可能依赖于一部史诗
  • 依赖性验证:防止循环依赖和自依赖
  • 批量管理:在单个操作中添加/删除多个史诗的依赖关系
  • 视觉指示器:依赖计数显示在带有可点击链接的UI中
  • API支持:完整的REST API支持史诗级依赖关系管理

任务相关性

任务可以依赖于同一用户故事中的其他任务来建模任务执行顺序:

  • 相同用户故事约束:任务只能依赖于同一用户故事中的其他任务
  • 依赖性验证:防止循环依赖、自我依赖和跨故事依赖
  • 批量管理:在单个操作中添加/删除多个任务的依赖关系
  • 视觉指示器:依赖计数显示在带有可点击链接的UI中
  • API支持:全面支持MCP API对任务依赖性管理的支持

依赖关系已解决状态

所有列表操作(list_epics, list_user_stories, list_tasks)包括a dependencies_resolved 布尔字段,指示实体的所有依赖关系是否都处于“已关闭”状态:

  • 动态计算:列出实体时实时计算
  • 过滤支持:支持所有列表操作 dependencies_resolved 滤波参数
  • 工作流可见性:帮助团队识别准备工作的实体
  • API集成:可用于MCP工具和REST API端点

阶段管理

实体可以分配给项目组织的自定义阶段:

  • 阶段:自定义阶段名称(例如,“规划”、“开发”、“测试”、“部署”)
  • 阶段状态:阶段内的当前状态(例如,“未开始”、“进行中”、“已完成”、“阻止”)
  • 可选的:阶段完全是可选的,不会影响核心工作流程的转换
  • 灵活的:阶段名称是自由格式的文本,允许自定义特定于项目的阶段
  • 过滤:所有列表操作都支持按以下方式进行筛选 phasephase_status 参数
  • 设置:可以在实体创建过程中设置阶段,也可以通过以下方式进行更新 update_entity_status

用户故事权限和归档

用户故事具有受限的更新权限和归档功能:

  • 内容更新:所有利益相关者都可以更新标题、描述和故事点
  • 验收标准:只有产品经理可以更新验收标准
  • 归档:只有产品经理可以存档带有原因跟踪的用户故事
  • 存档故事:在默认视图中隐藏,可通过以下方式访问 include_archived: true
  • 审计跟踪:所有内容和验收标准变更均经过全面审核

评论系统

  • 任何利益相关者都可以向任何SDLC实体添加评论
  • 支持关于需求、实现和问题的多线程讨论和反馈
  • 维护完整的审计跟踪,包括作者和时间戳

审计跟踪

所有所有权和状态转换都记录在审计表中,以实现完整的可追溯性。

项目文件夹访问

出于安全原因,MCP服务器需要使用项目目录路径进行显式初始化。这 initialize 在使用任何其他工具之前,必须首先使用您当前的工作目录路径调用该工具。

示例用法

连接到MCP客户端后,您可以:

数据库初始化

  1. “使用路径'/Users/username/my project'初始化数据库”

Epic管理

  1. “创建epics:'用户身份验证系统'和'支付处理'”
  2. “列出所有打开的史诗”

用户故事创建

  1. “创建用户故事:史诗1的‘作为用户,我想用电子邮件/密码登录’(5分)和‘作为用户我想重置密码’(3分)”(注意:史诗ID已验证-无效引用返回明确的错误消息)
  2. “使用阶段创建用户故事:使用阶段“开发”和阶段_status“规划”为史诗1实现用户仪表板(8分)”
  3. “列出分配给开发人员的正在进行的用户故事”
  4. “列出‘开发’阶段的用户故事”

任务分解

  1. “创建任务:为分配给开发人员的用户故事1实现密码哈希(4小时)和创建登录UI(6小时)”(注意:用户故事引用已验证)
  2. “创建具有阶段的任务:为具有阶段“测试”和阶段状态“未开始”的用户故事1编写单元测试(3小时)”
  3. “列出正在进行的任务”
  4. “列出处于“测试”阶段且状态为“未开始”的任务”
  5. 将任务1的状态更新为“已关闭”
  6. 将任务2阶段更新为“测试”,将阶段状态更新为“进行中”

故事依赖关系

  1. 添加依赖关系:故事2依赖于故事1,故事3依赖于故事2
  2. “删除依赖关系:故事3不再依赖于故事2”
  3. “按依赖关系排序的用户故事列表(依赖关系最小的第一个)”

史诗般的依赖关系

  1. “添加依赖项:Epic 2依赖于Epic 1,Epic 3依赖于Epic2”
  2. 移除依赖:Epic 3不再依赖于Epic 2
  3. “列出具有依赖关系信息的史诗”

缺陷追踪系统

  1. “创建错误:'在移动设备上登录失败'(严重,由测试人员报告)和'未发送密码重置电子邮件'(高,由productmanager报告)”(注意:如果提供了用户故事和任务参考,则会进行验证)
  2. “列出所有严重性较高的未解决错误”

测试用例创建

  1. “为用户故事1创建测试用例:‘验证用户是否可以成功登录’和‘验证密码重置是否有效’”(注意:如果提供了用户故事引用,则会进行验证)
  2. “列出失败的测试用例”

评论与合作

  1. “添加对用户故事1的评论:架构师的‘需要确保安全最佳实践’”
  2. “添加对bug 1的评论:开发人员应检查电子邮件格式”

Wiki文档

  1. 创建wiki页面:“API身份验证指南”,其中包含有关OAuth2流、类别“技术”、标记\[“身份验证”、“安全性”、“API”\]的内容
  2. “创建wiki页面:‘部署过程’,包括分步部署说明、类别‘过程’、标签\[‘部署’、‘ci-cd’\]”
  3. “列出技术类别中的所有wiki页面”
  4. “使用其他OAuth2详细信息更新“API身份验证指南”的wiki页面内容”
  5. “将wiki页面“API身份验证指南”链接到用户故事1和任务2”
  6. 在wiki页面中搜索“身份验证”

工作流管理

  1. “将用户故事1状态更新为由架构师转换为‘进行中’”
  2. “将任务1状态更新为由开发人员转换为“已关闭””

相关性已解决筛选

  1. “列出已解决所有依赖关系的史诗”
  2. “列出具有未解决依赖关系的用户故事”
  3. “列出准备启动的任务(已解决依赖关系)”

Bug状态管理

  1. “将bug 1状态更新为“审阅”(必须来自“进行中”)”
  2. 将bug 2的状态更新为“已修复”(触发QA验证建议)

测试

该项目包括全面的测试套件:

单元测试

npm test

运行直接测试数据库操作和业务逻辑的单元测试。

集成测试

npm run test:integration

运行集成测试,启动MCP服务器,初始化数据库,并验证端到端功能,包括:

  • 服务器启动和连接
  • 通过MCP初始化数据库
  • 数据库操作(创建、读取、更新)
  • 错误处理和验证
  • 外键约束检查
  • 服务器稳定性
  • 适当清理

发展

服务器是用TypeScript编写的,使用:

  • @modelcontextprotocol/sdk:MCP TypeScript官方SDK
  • better-sqlite3:高性能SQLite库
  • zod:工具输入/输出的模式验证

最近的改进

  • 自动工作流转换:关闭的故事中的错误会重新打开QA,转移到QA的故事会重新打开史诗
  • 增强的UI实体显示:仪表板卡片显示实体类型和编号(例如,“用户故事#5:标题”)
  • Wiki存档用户界面:通过确认对话框从web界面存档wiki页面
  • Wiki标题验证:wiki页面标题限制为256个字符,以提高可用性
  • 自动.gitignore管理:数据库初始化会自动创建/更新.gitignore以排除数据库文件
  • 维基系统:具有Markdown页面、标签、类别和SDLC实体链接的完整wiki功能
  • 标签Web UI:增强的仪表板,带有单独的SDLC Tracker和Wiki部分
  • 维基API:用于wiki页面管理和搜索的完整REST API
  • 评论计数显示:所有实体现在都在API和MCP工具中显示评论计数
  • 布尔字段转换:对存档字段进行正确的布尔处理(true/false)
  • 史诗般的依赖关系:对epics的完全依赖支持(类似于用户故事)
  • HTTP API:用于数据库初始化和实体访问的REST端点
  • Web UI增强功能:仪表板中的Epic依赖关系可视化
  • 增强的错误处理:具有清晰错误消息的全面验证
  • 外键验证:在数据库操作之前,所有实体引用都经过验证
  • 一致的API响应:所有列表工具现在都使用标准化的响应格式
  • 提高数据完整性:更好的约束检查和错误报告
  • 依赖关系已解决状态:对史诗、用户故事和任务依赖关系进行动态计算和过滤
  • Bug状态增强:添加了具有严格转换验证的“审核”状态(进行中→ 审查→ 已修复)
  • 高级工作流智能:任务依赖性建议、错误状态情报和用户故事验证
  • 增强过滤:dependencies_resolved所有列表操作中的筛选器参数

许可证

国际协调委员会

目录标签

目录标签

测试管理TypeScriptClaude项目管理本地部署SDLC跟踪SQLite数据库错误跟踪

支持客户端

ClaudeWindsurfVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

28

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP