-
Notifications
You must be signed in to change notification settings - Fork 251
Feature Request: Contextual Inline Citations with Modal/Dialog Popups for MCP Apps #598
Description
Is your feature request related to a problem? Please describe.
Currently, MCP (Model Context Protocol) Apps are limited in how they trigger interactive UIs. While a tool can return a _meta.ui object that renders a widget below the text or in a sidebar, there is no standardized way to trigger specific UI states or "pop-up" dialogs directly from the LLM-generated text.
I'm frustrated when AI-generated answers provide citations or deep-dive points, but the user has to scroll down to a separate "App" area or side panel to see the source. This breaks the conversational flow and makes fine-grained citations (per-sentence or per-word) difficult to implement interactively.
Describe the solution you'd like
I would like to see support for Interactive Inline UI Links within the LLM-generated response. Specifically:
- URI-based Triggers: Support for a custom protocol (e.g.,
mcp://ui/orapp-name://) in Markdown links that the Host (ChatGPT/Claude) recognizes. - Event Handling: When a user clicks or hovers over an inline link (like
[1](mcp://ui/citation?id=chunk_1)), the Host should parse this as an MCP UI request rather than an external web link. - Modal/Dialog Rendering: The Host should then trigger the UI defined in the MCP App's
resourceUri, opening a Modal/Dialog that displays the specific data (e.g., a citation chunk) passed via query parameters.
Describe alternatives you've considered
- Static Markdown: Providing a standard
https://link, which forces the user to leave the Chat interface and open a new browser tab. - Post-processing UI: Returning a large "Citation List" widget at the end of the message. This works for general sources but is cluttered and lacks the "contextual pop-up" feel of modern research tools (like Perplexity or Elicit).
Additional context
Imagine the LLM generates the following response after calling an MCP tool:
"Traditional MCP tools return text, images, or resources that the host displays as part of the conversation [[1]](mcp://ui/view_source%3Fid%3Dsrc_01). MCP Apps extend this pattern by allowing tools to declare a reference to an interactive UI[+] [[2]](mcp://ui/view_source%3Fid%3Dsrc_02)."[/+][-] **[[2]]."[/-]
When the user clicks on [1] or [2], instead of a page navigation, the Host should overlay a Citation Dialog (rendered via the MCP App's iframe) showing the specific document title and text chunk associated with that ID. This creates a seamless bridge between generated text and the underlying structured data provided by MCP.