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
通过结构化的多阶段过程记录项目管理会话的结果:
- summary:记录会话总结、持续时间和项目重点
- achievements:记录会话的关键成就
- taskUpdates:跟踪现有任务的更新
- newTasks:记录会话期间创建的新任务
- statusUpdates:记录实体状态值的变化
- projectStatus:更新整体项目状态、优先级分配和顺序关系
- 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="./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