Creative work is not a single prompt. It moves through intent clarification, skill selection, model routing, asynchronous generation, review, and revision. Screen-driven agents are brittle in this environment: they can click the wrong model, lose a long-running job, repeat a paid request, or expose internal execution prompts. We wanted people and browser agents to share the same visible, recoverable workflow while the human keeps control of consequential creative choices.

What it does

The page registers six WebMCP tools for the current authenticated user:

  • discover professional skills by workspace;
  • start one real Agent, image, video, or audio run;
  • read bounded public run status and result asset IDs;
  • answer a pending Human-in-the-Loop question and resume the same run;
  • list recent Canvas projects;
  • create a visible Canvas project and return its stable URL.

Mutating calls appear in the normal GenScape interface. Status recovery reuses the original run identity instead of silently creating another paid request. Tool results exclude system prompts, planning prompts, optimized execution prompts, provider channel IDs, credentials, routing diagnostics, and hidden model reasoning.

How we built it

We added a dependency-injected WebMCP layer on top of GenScape's existing authenticated client APIs. The imperative tools use document.modelContext.registerTool(), JSON Schema inputs, WebMCP annotations, one registration AbortSignal, and per-invocation cancellation signals. A React bridge owns registration for the signed-in page identity. Persistent Agent Run IDs connect start, status, Human-in-the-Loop answer, and resumed status.

The Apache-2.0 public repository contains the competition adapter, clean standalone reference runtime, tests, and documentation. The existing VOZEB-PRO-derived GenScape host predates the challenge and remains under its existing BUSL/proprietary boundary; it is not copied or relicensed in the competition repository. The hosted demonstration integrates the new adapter with that existing host. The standalone runtime is explicitly a schema and lifecycle fixture and does not claim to generate paid AI media.

Challenges

The hardest boundary was returning enough state for an agent to make progress without leaking internal planning content. Long-running creation also required stable run identities, idempotent request identities, explicit Human-in-the-Loop state, and cancellation that stops pending browser requests without pretending an already accepted upstream task never happened.

Accomplishments

  • Six discoverable tools backed by the same visible workflows as the human UI.
  • A complete start -> status -> answer -> status loop on one persistent run.
  • Canvas creation with a stable URL.
  • Registration removal on logout or page-owner change.
  • Invocation cancellation forwarded through AbortSignal.
  • Public result shaping with tests proving internal fields stay isolated.

What we learned

WebMCP works best when tools map to durable domain actions rather than UI controls. A reliable creative tool returns stable identities and visible state transitions, while the page remains the review and control surface. Browser-native tools are also a useful privacy boundary: the agent receives the public workflow state it needs, not the host's internal execution context.

What's next

Add tools scoped to the active Canvas selection, browser-mediated confirmation before high-cost generations, standardized output schemas when the proposal stabilizes, and progress notifications for long-running media work.

Built With

Share this project:

Updates

Submission history