Skip to content

[Feature]: MCP: expose diagram run continuation (continue_run + optional user feedback) #189

@jsdevninja

Description

@jsdevninja

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

  1. New MCP tool (preferred for clarity): e.g. continue_diagram with parameters:

  2. 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.

  3. 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

  • I'd be willing to submit a PR for this feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions