小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
2
最近更新:1个月前

项目管理MCP服务器

项目MCP服务器

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

功能

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

实体

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

  • project:所有相关实体的主容器
  • task:需要完成的独立工作项
  • milestone:项目中的关键检查点或交付物
  • resource:项目所需的材料、工具或资产
  • teamMember:参与项目的人员
  • note:文档、想法或观察记录
  • document:正式项目文档
  • issue:问题或阻碍因素
  • risk:潜在未来问题
  • decision:项目期间做出的重要选择
  • dependency:外部需求或先决条件
  • component:项目的部件或模块
  • stakeholder:受项目影响或对项目感兴趣的人员
  • change:项目范围或需求的变更
  • status:实体状态值(inactive, active, complete)
  • priority:优先级值(high, low)

关系

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

  • 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:将实体链接到当前状态(inactive, active, complete)
  • has_priority:将实体链接到优先级(high, low)
  • precedes:表示一个任务在序列中先于另一个任务

可用工具

项目MCP服务器提供以下工具与项目知识交互:

startsession

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

loadcontext

加载特定实体(项目、任务等)的详细上下文,根据实体类型显示相关信息。包括状态信息(inactive, active, complete)、优先级(high, low)和任务顺序关系。

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:查找具有特定状态值的实体(inactive, active, complete)
  • priority:查找具有特定优先级的实体(high, low)
  • sequence:识别任务的顺序关系

领域特定功能

项目MCP服务器包含项目管理专用功能:

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

示例提示

启动会话

复制代码
让我们启动一个新的项目管理会话来审查移动应用开发项目。

加载项目上下文

复制代码
加载移动应用开发项目的上下文以便查看其当前状态。

记录会话结果

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

管理项目知识

复制代码
创建一个名为"实现用户认证"的新任务,属于移动应用开发项目,分配给Sarah,高优先级且两周内截止。将其状态设为active并使其先于"用户资料"任务。
复制代码
将"数据库迁移"任务状态更新为"completed"并添加观察记录说明它提前完成。

使用场景

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

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

配置

与Claude Desktop配合使用

claude_desktop_config.json中添加以下内容:

从GitHub安装并通过npx运行

json 复制代码
{
  "mcpServers": {
    "project": {
      "command": "npx",
      "args": [
        "-y",
        "github:tejpalvirk/project"
      ]
    }
  }
}

全局安装并直接运行

首先全局安装包:

bash 复制代码
npm install -g github:tejpalvirk/project

然后配置Claude Desktop:

json 复制代码
{
  "mcpServers": {
    "project": {
      "command": "contextmanager-project"
    }
  }
}

docker方式

json 复制代码
{
  "mcpServers": {
    "project": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/project"
      ]
    }
  }
}

构建

从源码构建

bash 复制代码
# 克隆仓库
git clone https://github.com/tejpalvirk/contextmanager.git
cd contextmanager

# 安装依赖
npm install

# 构建服务器
npm run build

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

Docker方式:

bash 复制代码
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

使用示例:

bash 复制代码
# 在当前目录存储数据
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