Problem or motivation
Motivation
PaperBanana already supports a strong human-in-the-loop workflow from the CLI: paperbanana generate --continue / --continue-run <run_id> with optional --feedback, backed by load_resume_state and PaperBananaPipeline.continue_run in paperbanana/core/resume.py and paperbanana/core/pipeline.py. The README also documents this path and the Python API for continue_run.
Users driving the tool from Cursor / Claude Code via MCP only get generate_diagram, which always starts a fresh pipeline.generate() call. There is no way to pass a prior run_id, load ResumeState, or supply critic-oriented feedback without leaving the MCP surface and using the shell.
That creates an inconsistency: batch and orchestration flows expose resume parameters on MCP (resume_batch, resume_orchestrate in mcp_server/server.py), while the single-diagram path does not mirror the CLI’s continuation feature. IDE-centric workflows are exactly where short “tweak this label” feedback loops matter most.
Proposed solution
-
New MCP tool (preferred for clarity): e.g. continue_diagram with parameters:
-
Documentation: Update mcp_server/README.md (and the docstring at the top of server.py) to list the new tool and required run_id format.
-
Optional alternative: extend generate_diagram with optional continue_run_id and feedback instead of a second tool; document that when continue_run_id is set, source_context / caption may be ignored in favor of loaded state (match CLI behavior when continuing).
Area
Pipeline / agents
Alternatives considered
No response
Willingness to contribute
Problem or motivation
Motivation
PaperBanana already supports a strong human-in-the-loop workflow from the CLI: paperbanana generate --continue / --continue-run <run_id> with optional --feedback, backed by load_resume_state and PaperBananaPipeline.continue_run in paperbanana/core/resume.py and paperbanana/core/pipeline.py. The README also documents this path and the Python API for continue_run.
Users driving the tool from Cursor / Claude Code via MCP only get generate_diagram, which always starts a fresh pipeline.generate() call. There is no way to pass a prior run_id, load ResumeState, or supply critic-oriented feedback without leaving the MCP surface and using the shell.
That creates an inconsistency: batch and orchestration flows expose resume parameters on MCP (resume_batch, resume_orchestrate in mcp_server/server.py), while the single-diagram path does not mirror the CLI’s continuation feature. IDE-centric workflows are exactly where short “tweak this label” feedback loops matter most.
Proposed solution
New MCP tool (preferred for clarity): e.g. continue_diagram with parameters:
Documentation: Update mcp_server/README.md (and the docstring at the top of server.py) to list the new tool and required run_id format.
Optional alternative: extend generate_diagram with optional continue_run_id and feedback instead of a second tool; document that when continue_run_id is set, source_context / caption may be ignored in favor of loaded state (match CLI behavior when continuing).
Area
Pipeline / agents
Alternatives considered
No response
Willingness to contribute