朱利叶斯项目管理MCP
最低限度 项目管理 创建和管理模型上下文协议(MCP)服务器 PM节点 作为普通Markdown,提交于 pn/ 在你的仓库里。设计为以人为本,人工智能友好,有明确的指示和护栏。
✨ 为什么
- 使用Jira风格的ID但不使用数据库来组织工作。
- 人工可读的、可存储的本地文档,代理可以创建和更新。
- 强大的Git链接:分支提示、提交前导和所需的预告片。
🧩 什么是PM节点?
每个工作项(功能/错误/重构/杂务/尖峰)都有一个文件夹:
pn/__/
node.md # minimal front matter + freeform body (canonical)
notes.md # optional scratchpad
artifacts/ # optional assets前件(最小):
id: PN-YYYYMM-NNN
title: Human Title
type: feature|bug|refactor|chore|spike
status: proposed|in_progress|review|done|canceled
created: 2025-09-23T09:12:00Z
updated: 2025-09-23T09:12:00Z
branch_hint: feat/PN-YYYYMM-NNN-kebab-title
commit_preamble: "[pm PN-YYYYMM-NNN]"
commit_trailer: "PM: PN-YYYYMM-NNN"主体(自由形式):
# Summary— 必需的:1-2个句子什么/为什么# Plan / Notes— 必需的:技术方法/决策# Acceptance— 必需的:复选框列表(证明“已完成”的内容)
✅ Git提交格式(最终确定)
主题(必填):
[pm ] : 正文(可选,≤3个子弹,仅事实):
- what changed / why (brief)
- …拖车(必填):
PM: 分支命名(推荐):
feat/PN-202509-012-refactor-project-structure🚀 快速入门(STDIO)
python -m venv venv
./venv/bin/pip install -r requirements.txt
# Run the MCP server (stdio)
./venv/bin/python src/pm_server.py --transport stdio添加到克劳德桌面
claude mcp add pm -- ./venv/bin/python src/pm_server.py --transport stdio🧰 可用工具
pm_create_node--在中创建新的PM节点pn/生成ID。
输入: project_path, title, type, status='proposed', key='PN' 退货: { node_id, dir, node_path, notes_path, branch_hint, commit_preamble, commit_trailer }
pm_update_status--更新节点的status和updated时间戳。
输入: project_path, node_id, status
pm_get_node--读取节点文档(前体+正文+git提示)。
输入: project_path, node_id
pm_find_nodes--列出按筛选的节点status,type,或文本搜索。
输入: project_path, status?, type?, text?, limit=50
pm_edit_node--编辑摘要/计划/验收部分。
输入: project_path, node_id, summary?, plan?, acceptance? (list)
pm_validate_node--检查内容是否缺失/薄弱;返回警告。
输入: project_path, node_id
git_status--显示当前git分支和更改摘要。
输入: project_path
git_create_branch--从节点创建/切换分支branch_hint.
输入: project_path, node_id
git_add_commit--阶段更改(可选特定文件)并以PM格式提交。
输入: project_path, node_id, message?, files? 强制格式:
- 主题: [pm ] : - 拖车: PM:
pm_set_defaults--设置会话默认值,如project_path一次,这样你以后就可以省略了。
输入: project_path? (使用 "." 指当前回购)
pm_update_node_atomic--一次调用原子更新(编辑内容、检查接受、更新状态、可选提交)。
输入: node_id, summary?, plan?, acceptance?, status?, check_acceptance_all_done?, commit?, commit_message? ('auto' supported), stage_node_files_only?
推荐工作流程
pm_create_node(可选通过summary,plan,acceptance)pm_edit_node优化内容pm_validate_node并修复警告pm_update_status→in_progressgit_create_branch→ 实施git_add_commit(返回validation_warnings如果内容较弱)pm_update_status→done
一次通话结束
当你真正完成并希望一次完成时:
pm_update_node_atomic({
"node_id": "PN-202509-001",
"check_acceptance_all_done": true,
"status": "done",
"commit": true,
"commit_message": "auto"
})会话默认值
设置您的repo根目录 每节课一次,然后省略 project_path:
pm_set_defaults({ "project_path": "." })🔒 安全和限制
- 路径包含:所有读/写操作都必须在
project_path. - 强制执行枚举
type和status. - ID是确定的:
--使用.pm_index/.json.
🐳 码头工人
docker build -f docker/Dockerfile -t julius-pm-mcp:latest .
claude mcp add pm -- docker run -i --rm -v "$(pwd):/workspace" julius-pm-mcp:latest📝 提示
看 prompts/pm_prompts.json 对于即用型斜线提示:
/pm_new_node--创建节点并打印分支/提交提示/pm_start_work--移动到in_progress,建议创建分支/pm_summarize_node--节点的快速读出
🧪 测试
./venv/bin/pip install -r requirements.txt
pytest -q📄 许可证
麻省理工学院——见 LICENSE.
