Project MCP Server
提供用于管理项目知识图谱的工具,能够对项目、任务、里程碑、资源和团队成员进行结构化表示。
README
项目 MCP 服务器
一个 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 设计里程碑,识别了 2 个与后端 API 相关的新风险,并为开发团队分配了 3 个新任务。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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。