项目知识图谱管理服务器

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

  • by tejpalvirk
  • TypeScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 tejpalvirk/project

使用说明

Project MCP服务器

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

特性

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

实体

Project MCP Server识别以下实体类型:

  • 项目:所有相关实体的主容器
  • 任务:需要完成的单个工作项
  • 里程碑:项目中的关键检查点或可交付成果
  • 资源:项目所需的材料、工具或资产
  • 团队成员:参与项目的人员
  • 笔记:文件、想法或观察
  • 文档:正式项目文件
  • 问题:问题或阻碍
  • 风险:未来可能出现的问题
  • 决定:项目期间做出的重要选择
  • 依赖:外部要求或先决条件
  • 组件:项目的部分或模块
  • 利益相关者:受项目影响或对项目感兴趣的人
  • 改变:项目范围或要求的修改
  • 状态:实体状态值(非活动、活动、完成)
  • 优先级:优先级值(高、低)

关系

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

  • part_of:表示一个实体是另一个实体的组件/子集
  • 依赖:显示实体之间的依赖关系
  • 已分配给:将任务链接到团队成员
  • 创建者:跟踪创建实体的人
  • 已修改_ by:更改实体的记录
  • related_to:显示实体之间的一般连接
  • 块:表示一个实体正在阻止另一个实体
  • 管理:显示管理关系
  • 贡献_ to:显示对实体的贡献
  • 文件:将文档链接到实体
  • 已安排:将实体与日期或时间框架联系起来
  • 负责人:转让所有权/责任
  • reports_to:表示报告关系
  • 已分类as:将实体链接到类别或类型
  • required_for:显示完成要求
  • 发现_ in:将问题与其发现背景联系起来
  • 解决方式:显示解决问题的内容
  • 受影响_ by:显示影响关系
  • 利益相关者:将利益攸关方与项目/组成部分联系起来
  • 优先级_ as:表示优先级
  • has_status:将实体链接到其当前状态(非活动、活动、完成)
  • has_priority:将实体与其优先级(高、低)联系起来
  • 先于:表示一个任务按顺序排在另一个任务之前

可用工具

Project MCP Server提供了以下与项目知识交互的工具:

启动会话

启动一个新的项目管理会话,生成一个唯一的会话ID,并显示当前项目、任务、里程碑、风险和最近的会话。通过has_status关系显示状态信息,通过has_priority关系显示优先级,并根据顺序依赖关系标识下一步要处理的任务。

loadcontext

加载特定实体(项目、任务等)的详细上下文,根据实体类型显示相关信息。包括状态信息(非活动、活动、完成)、优先级(高、低)和顺序任务关系。

结束会议

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

  1. 总结:记录会议摘要、持续时间和项目重点
  2. 成就:记录会议的主要成果
  3. 任务更新:跟踪现有任务的更新
  4. 新任务:记录会话期间创建的新任务
  5. 状态更新:记录实体状态值的更改
  6. 项目状态:更新总体项目状态、优先级分配和顺序关系
  7. 装配:所有会话数据的最终组装

构建上下文

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

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

删除上下文

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

  • 实体:删除项目实体
  • 关系:删除实体之间的关系(包括状态、优先级和顺序关系)
  • 观察:从实体中删除具体意见

高级上下文

从知识图中检索信息:

  • 图:获取整个知识图谱
  • 搜索:根据查询条件搜索节点
  • 节点:按名称获取特定节点
  • 相关的:查找相关实体
  • 状态:查找具有特定状态值(非活动、活动、完成)的实体
  • 优先级:查找具有特定优先级值(高、低)的实体
  • 序列:确定任务的顺序关系

领域特定功能

Project MCP Server包括用于项目管理的专用域功能:

  • getProjectOverview:项目的全面视图,包括任务、里程碑、团队成员、问题等。
  • getTaskDependencies:分析任务依赖关系,以识别被阻止的任务和关键路径
  • getTeamMemberAssignments:查看特定团队成员的所有作业
  • getMilestoneProgress:跟踪项目里程碑的进展情况
  • getProjectTimeline:分析项目时间表和关键日期
  • 获取资源分配:检查如何在整个项目中分配资源
  • 获取项目风险:识别和评估项目风险
  • findRelated项目:发现不同项目之间的联系
  • getDecisionLog:跟踪决策历史和背景
  • getProject健康:通过指标和建议评估整体项目健康状况
  • getStatus概述:查看具有特定状态(非活动、活动、完成)的所有实体
  • 获取优先级项目:确定高优先级任务和活动
  • getTaskSequence:根据前置关系可视化任务序列

示例提示

开始会话

Let's start a new project management session to review the Mobile App Development project.

加载项目上下文

Load the context for the Mobile App Development project so I can see its current status.

录制会话结果

I've just finished a project review meeting for Mobile App Development. We completed the UI design milestone, identified 2 new risks related to the backend API, and assigned 3 new tasks to the development team. The UI tasks are now marked as complete, and we've set the API development tasks as high priority. The project is still on track but we need to monitor the API risks closely.

管理项目知识

Create a new task called "Implement User Authentication" that's part of the Mobile App Development project, assigned to Sarah, with high priority and due in two weeks. Set its status to active and make it precede the "User Profile" task.
Update the status of the "Database Migration" task to "completed" and add an observation that it was finished ahead of schedule.

用法

此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"
    }
  }
}

码头工人

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

建筑

来源

# Clone the repository
git clone https://github.com/tejpalvirk/contextmanager.git
cd contextmanager

# Install dependencies
npm install

# Build the server
npm run build

# Run the server
cd project
node project_index.js

Docker:

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

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

环境变量

Project MCP Server支持以下环境变量来自定义数据的存储位置:

  • 内存文件路径:存储知识图数据的路径

    • 可以是绝对的或相对的(相对路径使用当前工作目录)
    • 违约: ./project/memory.json
  • 会话文件路径:存储会话数据的路径

    • 可以是绝对的或相对的(相对路径使用当前工作目录)
    • 违约: ./project/sessions.json

示例用法:

# Store data in the current directory
MEMORY_FILE_PATH="./pm-memory.json" SESSIONS_FILE_PATH="./pm-sessions.json" npx github:tejpalvirk/contextmanager-project

# Store data in a specific location (absolute path)
MEMORY_FILE_PATH="/path/to/data/project-memory.json" npx github:tejpalvirk/contextmanager-project

# Store data in user's home directory
MEMORY_FILE_PATH="$HOME/contextmanager/project-memory.json" npx github:tejpalvirk/contextmanager-project