cubesys/cube-notes-mcp: project resume + context. 'cube project resume <name> <text>' sets a resume marker (note category=resume, associated to the project); 'cube project context <name>' emits a compact 'where we are' summary (latest notes + resume marker) for context injection into a new session. MCP tools project_resume/project_context added. 5 notes tests pass.
This commit is contained in:
@@ -67,6 +67,20 @@ def tool_schemas():
|
||||
"coord": {"type": "string"},
|
||||
}, "required": ["coord"]},
|
||||
},
|
||||
{
|
||||
"name": "project_resume",
|
||||
"description": "Set a resume marker for a project (where it left off).",
|
||||
"inputSchema": {"type": "object", "properties": {
|
||||
"name": {"type": "string"}, "text": {"type": "string"},
|
||||
}, "required": ["name", "text"]},
|
||||
},
|
||||
{
|
||||
"name": "project_context",
|
||||
"description": "Compact 'where we are' summary for a project (latest notes + resume marker) — for context injection.",
|
||||
"inputSchema": {"type": "object", "properties": {
|
||||
"name": {"type": "string"},
|
||||
}, "required": ["name"]},
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
@@ -116,6 +130,15 @@ def dispatch(name, args):
|
||||
if name == "project_show":
|
||||
c = (args.get("coord") or "").strip()
|
||||
return run_cube(["project", "show", c]) if c else "error: missing 'coord'"
|
||||
if name == "project_resume":
|
||||
nm = (args.get("name") or "").strip()
|
||||
tx = (args.get("text") or "").strip()
|
||||
if not nm or not tx:
|
||||
return "error: project_resume needs name + text"
|
||||
return run_cube(["project", "resume", nm, tx])
|
||||
if name == "project_context":
|
||||
nm = (args.get("name") or "").strip()
|
||||
return run_cube(["project", "context", nm]) if nm else "error: missing 'name'"
|
||||
return f"error: unknown tool {name}"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user