Skip to content

Pinned or Split Screen MCP Apps #684

Open

Description

@bFloodSDL

Is your feature request related to a problem? Please describe.
For a single chat session, sometimes you'll want to continually reference the initial MCP App with additional chat context. Right now as the chat progresses, the MCP App scrolls off the screen and eventually loses context. An example would be a Map UI that the calling agent could control or interact with across an entire conversation. Clearly this is for the implementing client like Claude but the bidirectional nature of this spec lends itself to short/medium running conversations with a embedded UI

Describe the solution you'd like
Something like the split screen for artifacts or preview in the Claude UI right now. Or when the MCP App go into full screen mode, the chat input window hovers over it, this would work too if you could see the chat exchange in some limited form as your work with the MCP App UI

Describe alternatives you've considered
Pairing an external tab (or app) with an MCP App that serves as a relay via websockets works but there's not great way to set this up for a user and feels somewhat like a hack when used from Claude Desktop and a separate browser window. Image below shows a browser split tab with the Claude chat on the left, the MCP App is small shim UI to relays commands and state to and from the agent context. This works but would be a lot easier without the entire relay, it could just happen with the embedded iFrame and the chat context directly

Image

Additional context
There are endless ways where this could be used for more complex applications where the local agent is driving the orchestration and intelligence instead of the server (visualization, CAD, GIS/Mapping, 3D model creation etc). Here is an example of a measurement tool for local contractors to help with roofing estimates (json result from the measurement is sent to agent and paired with a Skill), this flow works really well as a single turn in the chat but it would be even better if the local agent could make suggestions or alterations to the UI as well (eg how does this roof look? or help me design a fence for this property).

Image

more info here: https://x.com/bFlood/status/2061564604178981256

Activity

  1. max2me commented on Jun 11, 2026

    @max2me

    @bFloodSDL I just posted an issue with somewhat similar proposal. Although motivation is different (keep app within the view vs providing bigger canvas), end user experience is quite similar.

  2. caseprince commented on Aug 4, 2026

    @caseprince

    My organization is eager to integrate CAD visualizers with MCP Apps, and this issue describes our use-case perfectly. I thought I'd take a stab at a prototype PR: #739. It's raised some sticky questions about SDK forward-compatibility, and I'd appreciate any feedback!

    For posterity: I did an audit of how/if 3 Hosts (Goose, Claude, ChatGPT) render the 3 existing modes (inline, fullscreen, pip) today, and was surprised to discover that ChatGPT's fullscreen implementation already includes a toggleable side-panel mode, seen in bottom right:

    Image
  3. PederHP commented on Aug 12, 2026

    @PederHP
    Member

    I think both pinned (top of message list) and split/framed are valid and important display modes. I think for a split mode it is important to design it so it can handle clients with multiple panels / target frames.

    I see the modes as:

    Pinned: I want this to always be in the viewport. Most client may pin to to the top of a message list, but it is up to the client how it pins.

    Split: (or target frame) I want this shown in a panel/frame the client provides. This is the side panel style view, but in some clients there might be multiple panels. Not sure how to handle that robustly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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