返回市场
项目

项目

作者:tejpalvirk15 星标更新:2025-04-03

项目介绍

Project MCP Server

这是一个实现MCP服务器,提供管理项目知识图谱的工具,使项目、任务、里程碑、资源和团队成员的结构化表示成为可能。此服务器帮助项目经理跟踪进度、管理风险、分配资源并做出明智决策。

功能

  • 持久项目上下文:在多个会话中维护项目的实体及其关系的结构化知识图谱
  • 会话管理:通过唯一ID跟踪项目管理会话,并记录随时间的变化
  • 项目状态跟踪:实时监控项目健康状况、风险和问题状态
  • 任务依赖性:可视化和管理任务之间的依赖关系以识别瓶颈
  • 里程碑进度:跟踪关键项目里程碑的进度
  • 资源分配:监控资源如何分布在各个项目和任务上
  • 风险评估:识别、监控和减轻项目风险
  • 决策日志:记录重要项目决策及其背景
  • 团队成员管理:跟踪团队成员的任务分配和工作量
  • 项目时间线分析:分析项目时间线,包括关键路径

实体

项目MCP服务器识别以下实体类型:

  • project:所有相关实体的主要容器
  • task:需要完成的单个工作项
  • milestone:项目中的关键检查点或交付物
  • resource:项目所需的材料、工具或资产
  • teamMember:参与项目的人员
  • note:文档、想法或观察
  • document:正式的项目文档
  • issue:问题或阻碍
  • risk:潜在的未来问题
  • decision:项目期间做出的重要选择
  • dependency:外部要求或先决条件
  • component:项目的部分或模块
  • stakeholder:受项目影响或对项目感兴趣的人员
  • change:项目范围或需求的修改
  • status:实体状态值(不活跃、活跃、完成)
  • priority:优先级水平值(高、低)

关系

实体可以通过以下关系类型连接:

  • part_of:指示一个实体是另一个实体的组件或子集
  • depends_on:显示实体之间的依赖关系
  • assigned_to:链接任务到团队成员
  • created_by:追踪谁创建了实体
  • modified_by:记录谁更改了实体
  • related_to:显示实体之间的一般连接
  • blocks:指示一个实体阻止了另一个实体
  • manages:显示管理关系
  • contributes_to:显示对实体的贡献
  • documents:链接文档到实体
  • scheduled_for:将实体连接到日期或时间段
  • responsible_for:分配所有权/责任
  • reports_to:指示报告关系
  • categorized_as:链接实体到类别或类型
  • required_for:显示完成的要求
  • discovered_in:链接问题到其发现的上下文
  • resolved_by:显示解决了问题的内容
  • impacted_by:显示影响关系
  • stakeholder_of:链接利益相关者到项目/组件
  • prioritized_as:指示优先级水平
  • has_status:链接实体到其当前状态(不活跃、活跃、完成)
  • has_priority:链接实体到其优先级水平(高、低)
  • precedes:指示一个任务在序列中先于另一个任务

可用工具

项目MCP服务器提供了这些工具来与项目知识进行交互:

startsession

启动一个新的项目管理会话,生成一个唯一的会话ID,并显示当前的项目、任务、里程碑、风险和最近的会话。通过has_status关系显示状态信息,通过has_priority关系显示优先级水平,并根据顺序依赖关系确定下一个可以开始的工作任务。

loadcontext

加载特定实体(项目、任务等)的详细上下文,基于实体类型显示相关信息。包括状态信息(不活跃、活跃、完成)、优先级水平(高、低)以及顺序任务关系。

endsession

通过结构化的多阶段过程记录项目管理会话的结果:

  1. summary:记录会话总结、持续时间和项目重点
  2. achievements:记录会话的关键成就
  3. taskUpdates:跟踪现有任务的更新
  4. newTasks:记录会话期间创建的新任务
  5. statusUpdates:记录实体状态值的变化
  6. projectStatus:更新整体项目状态、优先级分配和顺序关系
  7. assembly:最终组装所有会话数据

buildcontext

在知识图谱中创建新的实体、关系或观察:

  • entities:添加新的项目相关实体(项目、任务、里程碑、状态、优先级等)
  • relations:创建实体之间的关系(包括has_status、has_priority、precedes)
  • observations:向现有实体添加观察

deletecontext

从知识图谱中删除实体、关系或观察:

  • entities:删除项目实体
  • relations:删除实体之间的关系(包括状态、优先级和顺序关系)
  • observations:从实体中删除特定观察

advancedcontext

从知识图谱中检索信息:

  • graph:获取整个知识图谱
  • search:根据查询标准搜索节点
  • nodes:按名称获取特定节点
  • related:查找相关实体
  • status:查找具有特定状态值的实体(不活跃、活跃、完成)
  • priority:查找具有特定优先级值的实体(高、低)
  • sequence:识别任务的顺序关系

领域特定功能

项目MCP服务器包含专用于项目管理的特殊领域函数:

  • getProjectOverview:全面查看项目,包括任务、里程碑、团队成员、问题等
  • getTaskDependencies:分析任务依赖关系以识别被阻塞的任务和关键路径
  • getTeamMemberAssignments:查看特定团队成员的所有分配
  • getMilestoneProgress:跟踪项目里程碑的进度
  • getProjectTimeline:分析项目时间线和关键日期
  • getResourceAllocation:检查资源如何分配在整个项目中
  • getProjectRisks:识别和评估项目风险
  • findRelatedProjects:发现不同项目之间的联系
  • getDecisionLog:跟踪决策历史和背景
  • getProjectHealth:使用指标和建议评估整体项目健康状况
  • getStatusOverview:查看具有特定状态的所有实体(不活跃、活跃、完成)
  • getPriorityItems:识别高优先级的任务和活动
  • getTaskSequence:基于precedes关系可视化任务的顺序

示例提示

启动会话

让我们开始一个新的项目管理会话,以审查移动应用开发项目。

加载项目上下文

加载移动应用开发项目的上下文,以便我可以查看其当前状态。

记录会话结果

我刚刚完成了移动应用开发项目的评审会议。我们完成了UI设计里程碑,发现了两个与后端API相关的风险,并为开发团队分配了三个新任务。UI任务现在标记为已完成,我们将API开发任务设为高优先级。项目仍在正轨上,但我们需要密切监控API风险。

管理项目知识

创建一个名为“实现用户认证”的新任务,它是移动应用开发项目的一部分,分配给Sarah,具有高优先级,并且在两周内到期。将其状态设置为活跃,并使其先于“用户资料”任务。
将“数据库迁移”任务的状态更新为“已完成”,并添加一个观察,指出它提前完成。

使用

这个MCP服务器使项目经理能够:

  • 维持上下文连续性:在多个规划会话中跟踪项目细节
  • 培训新团队成员:快速让新团队成员了解项目状态
  • 记录会话结果:记录会议和工作会话的结果
  • 跟踪依赖关系:识别和管理关键依赖关系和瓶颈
  • 监控风险:跟踪项目风险并实施缓解策略
  • 分配资源:优化资源在整个项目和任务上的分配
  • 做出知情决策:基于全面的项目数据做出决策
  • 跟踪进度:在整个项目生命周期中监控实体状态
  • 优先处理工作:识别并专注于高优先级任务
  • 排序任务:计划和可视化项目任务的逻辑顺序

配置

与Claude Desktop一起使用

在您的claude_desktop_config.json中添加以下内容:

从GitHub安装并使用npx运行

{
  "mcpServers": {
    "project": {
      "command": "npx",
      "args": [
        "-y",
        "github:tejpalvirk/project"
      ]
    }
  }
}

全局安装并直接运行

首先,全局安装包:

npm install -g github:tejpalvirk/project

然后配置Claude Desktop:

{
  "mcpServers": {
    "project": {
      "command": "contextmanager-project"
    }
  }
}

docker

{
  "mcpServers": {
    "project": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/project"
      ]
    }
  }
}

构建

从源代码构建

# 克隆仓库
git clone https://github.com/tejpalvirk/contextmanager.git
cd contextmanager

# 安装依赖
npm install

# 构建服务器
npm run build

# 运行服务器
cd project
node project_index.js

Docker:

docker build -t mcp/project -f project/Dockerfile .

许可证

此MCP服务器采用MIT许可证。这意味着您可以自由地使用、修改和分发该软件,但需遵守MIT许可证的条款和条件。更多详情,请参见项目存储库中的LICENSE文件。

环境变量

项目MCP服务器支持以下环境变量来自定义数据存储位置:

  • MEMORY_FILE_PATH:知识图谱数据将存储的路径

    • 可以是绝对路径或相对路径(相对路径使用当前工作目录)
    • 默认值:./project/memory.json
  • SESSIONS_FILE_PATH:会话数据将存储的路径 也可以是绝对路径或相对路径(相对路径使用当前工作目录) 默认值:./project/sessions.json

示例用法:

# 在当前目录存储数据
MEMORY_FILE_PATH="./pm-memory.json" SESSIONS_FILE_PATH="./pm-sessions.json" npx github:tejpalvirk/contextmanager-project

# 在特定位置存储数据(绝对路径)
MEMORY_FILE_PATH="/path/to/data/project-memory.json" npx github:tejpalvirk/contextmanager-project

# 在用户的主目录存储数据
MEMORY_FILE_PATH="$HOME/contextmanager/project-memory.json" npx github:tejpalvirk/contextmanager-project