← All AI Engineer talks

AI Engineer Europe 2026

MCP-UI: Extending the Frontier — Liad Yosef and Ido Salomon, MCP Apps

Read the talk

MCP Apps: Bringing Interactive Applications into the Conversation

MCP Apps lets assistants present familiar interfaces, route interactions through the host, and compose services without reducing every tool result to text.

From a talk by Liad Yosef and Ido Salomon

Before you start: Familiarity with MCP tool calls, web UI components, and basic TypeScript will help with the implementation discussion.

What disappears when a tool returns only text?

A tool can return accurate information and still deliver a poor experience. In a chat response, a Shopify product, a Booking listing, and an Expedia result can collapse into the same wall of text. The user loses the recognizable interface; the provider loses its identity and the interaction patterns it has spent years developing. ChatGPT and Claude can already display interactive applications. The question is how to make those interfaces a regular part of tool use.

Instead of asking the assistant to describe everything, a provider could supply the relevant part of its own UI: a Shopify component, a Hugging Face widget, or a monday.com view. That component should also respond to interaction. Clicking the Hugging Face audio player should do something, not merely illustrate what a player looks like. This is the starting point for MCP Apps: carry an interface into the conversation, then give it a way to communicate with its host.

Chat mockup with blue text bars, a pie chart, embedded media, and a large cursor pointing at a Hugging Face audio player.
A chat response combines charts, embedded content, and an audio player.
0:461:02
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:46 · section reference included

From MCP-UI to MCP Apps

Ido Salomon dates his release of MCP-UI to May of the preceding year. Its core problem had two parts: transport UI over MCP and support communication between that UI and the host. Community SDKs made the approach usable without discarding existing UI and UX knowledge. Branding and familiar interaction patterns could survive the move into assistants.

Salomon and Liad Yosef subsequently worked with Anthropic and OpenAI on MCP Apps, announced in January 2026 as MCP’s first official extension. The talk names VS Code, Cursor, Claude, ChatGPT, and Microsoft Copilot among the adopting hosts. Standardization moves the interface beyond a particular provider–assistant integration toward a shared contract.

Article titled “MCP Apps - Bringing UI Capabilities To MCP Clients,” with an embedded flowchart below the introduction.
The MCP Apps announcement shows UI embedded in a conversation.

Earlier MCP-UI adoption provided the starting point. Yosef says millions of Shopify stores were sending MCP-UI chunks and all Hugging Face Spaces were MCP-UI widgets. These are his adoption claims, rather than measured deployment totals presented in the talk. He then describes broader MCP Apps support across VS Code, Cursor, Microsoft and GitHub Copilot, ChatGPT, Postman, Goose, and Claude, including ChatGPT’s recommendation to use MCP Apps when building ChatGPT apps.

The ecosystem also includes plugins, workshops, businesses helping others build apps, and even UI support in the terminal-oriented Pi. The official specification and SDK repository provides a common place to develop the standard with Anthropic, OpenAI, and community contributors. Yosef describes public workgroup meetings every three weeks: adoption is accompanied by an ongoing process for changing the protocol.

2:042:21
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

2:04 · section reference included

A playlist needs both a view and an action path

Consider a request to create a playlist. The assistant calls an MCP server tool. A text-only result can describe the songs; an MCP Apps integration can associate the tool with an HTML resource that the host renders as an interactive application. More precisely, the specification links a tool to a separately fetched UI resource through _meta.ui.resourceUri. HTML does not have to replace the tool’s textual or structured result.

Now the user favorites a song. If the widget updates Spotify directly and tells nobody else, a later question about which song was favorited leaves Claude without the relevant information. The backend changed, but the conversation did not learn about the change.

MCP Apps gives the widget a message path back to the host. In this example, the UI requests a tool call; the host receives that request and decides whether to call the server tool. The host remains in control of the action. This creates a route for keeping the interaction in context, although host mediation alone does not automatically insert every click into model context: the protocol distinguishes app-visible tools from model-visible tools.

5:145:32
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:14 · section reference included

From a funnel report to interactive exploration

The PostHog demonstration starts with a request in Claude to analyze a funnel. The initial response is accurate text, but understanding it requires reading through the report and reconstructing the funnel mentally. Asking to see it instead produces a visualization. Salomon identifies the result as PostHog’s own website component: PostHog controls the presentation and identity, while the user can understand the funnel at a glance.

A different need calls for a different interface. If the user does not know what a funnel is, Claude can generate an explanatory UI rather than simply repeat the analytics component. The demonstration moves from a provider-built view of data to a generated explanation of the concept. Clicking a particular funnel step then produces a follow-up about that step, turning the explanation into an exploratory interface. Server-provided UI, generated UI, and first-party host experiences can all participate in this interaction pattern.

6:487:00
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:48 · section reference included

The bidirectional implementation flow

The funnel interaction begins with a small server-side contract:

  1. The user asks the host for funnel data.
  2. The host calls an MCP server tool.
  3. The tool points to a registered UI resource.
  4. The host retrieves that resource for display.

The metadata link is the important connection. For a funnel tool, it can be expressed in TypeScript as:

typescript

const resourceUri = "ui://funnel/view.html";

const funnelTool = {
  name: "show_funnel",
  description: "Show the funnel visualization",
  inputSchema: {
    type: "object",
    properties: {},
    additionalProperties: false,
  },
  _meta: {
    ui: { resourceUri },
  },
};

const funnelResource = {
  uri: resourceUri,
  name: "Funnel view",
  mimeType: "text/html;profile=mcp-app",
};

export { funnelTool, funnelResource };

These declarations illustrate the linkage: the tool names the same URI that the server exposes as a UI resource. Resource registration and serving the HTML complete the server side.

On the host side, Salomon describes a React component that accepts the resource and a callback for messages from the UI. The host renders the view inside a sandbox, providing a boundary between application content and its surrounding assistant. The talk’s component description is architectural; current SDK examples should not be read as the exact historical slide API.

The return path completes the system. A click emits an event from the view toward the host and model. Depending on the message and host behavior, that can initiate another tool call, request additional resources, or produce a follow-up message on the user’s behalf. Rendering an HTML panel is only half of the integration; the other half is connecting its interactions to the assistant’s next action.

8:549:08
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:54 · section reference included

Compose the anniversary, not the websites

The same architecture changes how a user might work across services. Planning an anniversary ordinarily means opening tabs, learning different dashboards, and translating one intent into each company’s navigation. Yosef estimates, illustratively, that 90% of a company’s dashboard UI may be irrelevant to an agent. His proposed alternative is to decompose those destinations into the parts needed for the current task.

The scenario begins with a proactive assistant noticing an upcoming anniversary. Google supplies a Calendar component rather than only event data. Google retains its identity, the user recognizes the interface, and the host does not need to design a calendar interaction itself. Providers bring domain expertise and established user journeys that an assistant should not have to recreate on demand.

Next, an Amazon product component preserves the shopping experience instead of reducing Amazon to a product database. Booking supplies a venue component; the assistant also selects a map because it knows the user prefers somewhere close to nature rather than in the city. The assistant knows the person; the provider knows the domain. Their responsibilities complement each other, allowing the anniversary plan to develop within one conversation.

10:2310:31
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

10:23 · section reference included

How much control does the UI retain?

Once the interface sits inside an assistant, the service no longer exclusively controls the user’s journey. A Booking interaction can become a message to the host rather than a transition through Booking’s own pages. Yosef describes a spectrum according to how much authority the UI keeps over what happens next.

InteractionUI responsibilityHost responsibility
NotificationPerform an action and report itReceive the update
Tool-call requestSpecify the requested toolDecide whether to invoke it
PromptSupply an intent or promptDetermine the next action

The notification example makes the distinction concrete: increasing a Shopify cart quantity can update Shopify directly while notifying the host. Thus, the earlier description of clicks going through the host does not mean every backend operation must take that route. A tool-call request delegates execution of a particular operation; a prompt delegates much more of the decision itself.

Yosef extends this into a forecast: familiar browsers and websites could change within two years as personal assistants assemble small UI components around users’ intentions. He frames 2026 as the year to establish MCP Apps as a global UI standard. These are ambitions for the interaction model, not prerequisites for using the protocol today.

12:3412:49
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

12:34 · section reference included

Keeping up with the spec—and keeping views alive

The specification is still evolving. Salomon says all or almost all of the recent changes displayed in the talk arrived over roughly two months through community and workgroup contributions. His recommended implementation path is the official ext-apps SDK, with skills that help coding agents create applications. The reason to use it is practical: maintainers update the SDK alongside the specification, reducing the burden of tracking protocol changes independently. Issues and workgroup participation feed back into that process.

Slide stating that spec changes are reflected in the SDK and adopted quickly by the community, beside a post showing a Host Styles Inspector.
SDK updates accompany specification changes and community adoption.

One roadmap item addresses repeated application initialization. At the time of the talk, rendering an app again created a new instance. Salomon cites Autodesk as an example where repeatedly starting a heavy application makes users wait. The proposed reusable view would let the host reference an existing view and push new data into it, preserving the running application instead of rebuilding it for each interaction.

Another proposal reverses the interaction direction. So far, the user operates the UI and the UI sends messages toward the model. What if Claude could operate the view—click buttons or fill forms—through tools exposed by the application? Yosef points to WebMCP as related work and describes standardizing app-exposed tools to close this loop. The model-to-view proposal was still an open PR under committee discussion during the talk.

14:0914:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

14:09 · section reference included

Predefined, declarative, or generated

MCP Apps does not require one method of creating interfaces. The first option is a predefined application: Airbnb builds its UI and sends it to Claude or ChatGPT as a largely self-contained component. Yosef estimates that predefined UI suits 80% of cases; he presents this as a design judgment rather than a measured result.

Declarative UI occupies a middle position. With approaches such as json-render, the application declares the structure while the host renders the components. Both sides participate in the resulting interface. This is useful when a host wants a consistent appearance rather than a Booking widget, an Airbnb widget, and an Expedia widget with unrelated styling in the same conversation.

UI approachWho defines the interface?Main benefit
PredefinedProvider supplies a complete UIPreserve a domain-specific experience
DeclarativeApp supplies structure; host renders componentsShare control of appearance and behavior
Fully generativeModel creates UI for the taskAdapt the interface to the immediate need

At the generative end, the model creates an interface during the conversation. Yosef says Claude’s generated visuals stream into an MCP app underneath. The protocol’s role is independent of who authored the interface: it carries the UI and supports the interaction loop for both third-party applications and first-party host features.

The intended direction is interoperability with other UI approaches, including Google’s A2UI and WebMCP. Yosef names LibreChat and ChatGPT as examples of hosts that can receive the same application codebase. That portability applies among compatible hosts: MCP Apps is an optional extension with capability negotiation, not a guarantee that every MCP client renders applications.

16:2716:36
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

16:27 · section reference included

Assistants as an application distribution channel

An application embedded in an assistant can reach people where they already work. To illustrate the scale, Salomon recalls Sam Altman reporting 800 million weekly ChatGPT users around October. An October 2025 OpenAI statement supports more than 800 million weekly users at that time.

Salomon compares that audience to 10% of the world’s population, says the internet took roughly 13 years to reach that scale, and then describes ChatGPT’s audience as one billion without specifying a measurement basis. Adding the opportunity represented by Claude, VS Code, and other hosts, he claims potential reach at least 160 times the iPhone user base when the App Store launched. These comparisons frame the distribution opportunity, but their denominators are not established here, and the billion figure should not be treated as a verified weekly-user milestone. Host audiences also overlap; potential reach is not the number of users an individual app can immediately access.

18:3318:52
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

18:33 · section reference included

Build an app, integrate a host, or shape the standard

There are two implementation entry points. For an app or server, Salomon directs developers to ext-apps and its official skills. These provide a way to start with a coding agent rather than manually assemble the entire integration. The displayed installation options cover a Claude Code plugin and the Vercel Skills CLI.

Slide titled “Use the official MCP Apps skills,” with instructions grouped under Claude Code Plugin and Vercel Skills CLI.
Official MCP Apps skills offer Claude Code and Vercel Skills CLI installation options.

For a host, the speakers recommend MCP-UI’s client SDK and its React rendering component. The host takes responsibility for displaying applications and handling their messages. Salomon says this integration opens access to hundreds of existing apps, including Booking-related offerings. That is an ecosystem claim, not a promise that rendering alone supplies every provider’s access requirements.

Yosef returns to the app-building path with Claude Code as the concrete coding-agent example, then separates implementation from participation:

  • Specification work: Open issues, submit PRs, and join discussions in ext-apps.
  • Committee participation: Use the official committee Discord for surveys and discussions involving hosts and the community.
  • Developer support: Join the community Discord to exchange tips, troubleshoot integrations, and request features with server developers and host companies.

The ecosystem needs both sides of the connection: applications worth embedding and hosts that make them usable.

19:1519:24
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

19:15 · section reference included

Rethink the core application experience

The provocative suggestion that websites might lose their central role leads to a more useful design question: what is the core experience an application should provide? Salomon frames this as a rare opportunity to reconsider the product, rather than a reason to abandon everything already built.

A product need not exist only as a monolithic destination. Its essential interactions can become components in a wider web of applications, with a model mediating between them. Early standardization makes it possible to build those components for multiple compatible hosts instead of creating a separate integration for each assistant. The vision is not yet Jarvis, as Salomon acknowledges, but it includes something developers can act on: bring a focused, recognizable experience into an assistant—including a host of their own.

20:5521:03
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

20:55 · section reference included

Resources

From the talk

Read the complete timestamped transcript
  1. 0:00

    [upbeat music] Okay.

  2. 0:15

    Uh, hi, everyone. Uh, we built this talk, well, not really yesterday, we built this talk this morning, and it might already be out of date. Uh, I'm Ido Salomon.

  3. 0:24

    I'm the creator of MCP-UI, uh, co-creator of MCP Apps and maintainer, and also the creator of AngelCraft, if you were on the previous session.

  4. 0:34

    I'm Liad. Uh, I work with Ido on MCP-UI. I co-created the MCP Apps spec, uh, with Ido, and I'm also co-founder of, uh, Erel Labs, which is, like, human agentic interfaces company.

  5. 0:46

    So MCP apps are all around us. You might not even realize it, but the interactive applications you see today in ChatGPT, Claude, and others are actually based on MCP and the MCP Apps spec.

  6. 1:02

    But why do we need MCP Apps, and what's MCP Apps? I mean, you heard David this morning talk about it a little bit. Um, we used to text. We used to, um, MCP tools sending texts to our chat agents, but that's not ideal, right?

  7. 1:14

    Because chat, chat is really-- uh, text is really bad. And actually, this was one of the main blockers of companies or, uh, tools not to send their data to ChatGPT because they didn't want to be reduced to, like, this thing, this wall of text, where you don't have identity.

  8. 1:29

    You don't know if, if this information came from Shopify, Booking, Expedia, or, uh, a-any other company. But what if every tool or every company could just send its own UI to the chat?

  9. 1:41

    So instead of us looking at this thing, we can just imagine that for the parts that are relevant, we can have the relevant UI, the relevant UI for Shopify, from Hugging Face, from Monday.

  10. 1:52

    And this can... it can be not only presentational, this can, this can be interactive. So we want to be able to respond to a user click on this Hugging Face widget.

  11. 2:04

    So we don't have to imagine it anymore. Uh, so back in May last year, I released MCP-UI. Uh, the concept was pretty simple. There were a bunch of stuff around it, but the concept was pretty simple, of how do we take UI and find some way to pass it over MCP.

  12. 2:21

    We need some general way to do that, uh, so we can both have, uh, MCP over... Uh, uh, sorry, have UI over MCP, and have the communication between the UI and the host.

  13. 2:32

    Uh, obviously, it also had community SDKs, and the general motivation was we don't need to throw away everything we know about UI and UX just to get into this new world of agents.

  14. 2:44

    Uh, we can simply adapt and use that and preserve our branding and identity and still, uh, be practical. And just a few months back, uh, MCP-UI, we partnered with, uh, Anthropic and OpenAI to really put this into the MCP standard as the first official extension, uh, called MCP Apps.

  15. 3:06

    Uh, and as you can see here, it made kind of a big splash. We had support from a bunch of hosts. Now VS Code and Cursor and Claude and ChatGPT and, like, Microsoft Copilot and a bunch of others already adopted it, and you have these really cool interfaces built in right to your assistants.

  16. 3:25

    And going back a little bit, there were early adopters for MCP-UI. So these are some of the companies, um, shout-outs for Hugging Face, uh, Sean, if you're here, uh, that adopted MCP-UI.

  17. 3:35

    So even a year ago, Shopify was already sending MCP-UI chunks of all of millions, uh, stores of Shopify, online stores send MCP-UI chunks. Uh, Hugging Face, all of Hugging Face Spaces were MCP-UI, uh, uh, widgets.

  18. 3:49

    And now, once it's standardized, we have much bigger adoption. Um, so we have VS Code, uh, we have, uh, Cursor, we have Copilot, um, uh, GitHub. ChatGPT are supporting MCP Apps.

  19. 4:02

    Not only that, ChatGPT are recommending MCP Apps as the way to build ChatGPT apps, so it's really standardized. Um, obviously, a shout out to Postman and Goose and Claude, uh, re- w- the first one that released Claude Apps that actually supported MCP Apps.

  20. 4:16

    But it's not just support from the big companies or the big hosts. We also have huge community adoption. Um, we have, uh, people that building plugins around MCP Apps, uh, building, uh, workshops around MCP Apps, um, building all, all kind of support around MCP Apps.

  21. 4:33

    Py just announced support within MCP Apps, which is amazing. It's like a terminal, right? But we have UI in the terminal right now, and we have all of these advocates that, uh, that are speaking about MCP Apps.

  22. 4:43

    There are even companies that are built around MCP Apps to help other businesses build, uh, those apps. Um, we have, uh, an official MCP Apps repo with, uh, with Anthropic and OpenAI.

  23. 4:53

    There's, uh, an amazing community engagement. We, uh, recommend for you to check it out. We have a, uh, a workgroup, wo- public workgroup meetings, and we're meeting tri-weekly, once every three weeks, just to push this standard forward because as we can see, it's gonna be the global standard for UI inside chat apps.

  24. 5:10

    Um, and we're gonna talk a little bit about the concepts behind MCP-UI.

  25. 5:14

    Yeah. So let's talk about the core concept. So the first and obvious one is how do we even pass UI over MCP? Um, so in the old world of, uh, a few months back, uh, when we wanted to do whatever, let's say we wanted to, uh, create the best playlist ever, uh, we would type something into the

  26. 5:32

    chat and it would send out a tool call to our MCP server. Uh, so far so good. Um, what we would get back in response would be text. Uh, and as you know, text is suboptimal.

  27. 5:45

    But if we are using MCP Apps, what we can do is instead return a resource. So we can return this actual HTML back to the host. The host supports MCP Apps, so you can take that HTML and transform it into an interactive application.

  28. 6:01

    And when we say interactive, we mean interactive. So this is not just presentational. MCP Apps also standardize the way that this UI can talk to the user and to its backend, because just imagine, if the user wants to favorite this song, then the suboptimal thing that would happen is that for this UI to speak to, um, Spotify's

  29. 6:20

    backend and, and favorite this song, and then later when the user asks Claude, "Remind me which song I, I favorited?" Claude wouldn't know, because the UI spoke directly to the backend.

  30. 6:29

    But MCP App standardizes this message passing so that every UI chunk sends message back to the host. The host gets this messag- message, in this case, like a tool call, and the host decides what to do.

  31. 6:41

    In this case, it decides to actually call the server tool, but the control is in the hands of the host, and everything stays in context.

  32. 6:48

    Okay. So seeing is believing. Uh, let's see a quick example of what that looks like. So this is Claude, like actual Claude. Uh, and let's say that, uh, I want to do something like analyze my funnel.

  33. 7:00

    Uh, so I type that in. In the old world, uh, it would go out to, let's say, PostHog, and I would get this textual response, which is accurate, uh, but it doesn't really help me understand what's going on.

  34. 7:11

    I have to read this whole thing now and kind of try and see, uh, what's the deal. But with MCP Apps, instead of doing this, I can just say, "Show me."

  35. 7:20

    And now... [clicks] Okay, the clicker is not yet up to par. But, uh, now what we'll have is this nice UI visualization actually created by PostHog. So they control the identity, the experience.

  36. 7:34

    Uh, it's actually their component that you would see in the website. Uh, and now I have, like, a really cool way to just see the funnel in one glance.

  37. 7:44

    Uh, that's not all. I mean, the, the MCP Apps isn't just UI generated by the server. Uh, there are also really cool innovations from Anthropic and other companies, uh, to do generative UI on top of MCP Apps or even first-party UI in general.

  38. 8:00

    So for instance, this Claude feature, uh, says... Let's say that I don't know what a funnel is, which is, uh, reasonable. Uh, I can ask what a funnel is, and instead, again, getting that long textual answer, what would happen is that Claude would be able to generate this UI for me, explain exactly what I need, or create

  39. 8:19

    some UI that I need to do some action and present it to me in a way that is very digestible. Uh, this is obviously applicable to a bunch of other stuff, and you will see it in other hosts as well. [clicks]

  40. 8:32

    So let's look at, uh... Like, another cool thing is here is that this is not just presentational. Like we said, it's interactive. So I can just click on it, uh, and it would give me a follow-up on the specific step of the funnel, uh, that I have questions about.

  41. 8:46

    So you can imagine how this goes into, uh, into a bunch of other directions when you want to do interactive, uh, exploration.

  42. 8:54

    So how does it work, uh, in general? Uh, so let's go through the stages. Uh, we went to the host, and we prompted something. We asked for, uh, funnel data.

  43. 9:08

    Uh, what happened is that it sent out a tool call to our MCP server. And again, instead of just returning text, that tool was actually pointing to a resource.

  44. 9:18

    That resource was our UI. So, uh, if you look at the, uh, um, code for it, then it's super simple. Like, you just register a resource, and you just have it.

  45. 9:30

    Uh, so we return that resource back to the host. Uh, and the host, because it also supports MCP Apps, can take that, transform it, put it, uh, if you see, like, look at just, uh, code-wise, if you want to build a host, it's just like a, a React component that accepts that resource and also this callback, which

  46. 9:48

    is the way that we handle messaging between the UI and the host. Uh, so we take that, and we render it inside a sandbox, so it's secure. Um, like we said, it's not presentational, so we also clicked on it.

  47. 10:00

    And once you click, what happens is that there is a bunch of events going back from the UI, from this view, uh, all the way back to the model.

  48. 10:10

    So it can actually, uh, take out to, uh, do other tool calls or, uh, even follow-up messages on your behalf or fetch additional resources, uh, really completing this end-to-end bidirectional flow.

  49. 10:23

    So when we look at that, when we look at this flow, when we look at this architecture, it's not just technical change. It's not, not just the technology that's changing.

  50. 10:31

    It's also how we perceive the web, because this is ushering a new web, a web where we don't need websites. We don't need all of those tabs just to organize, uh, um, an anniversary.

  51. 10:44

    We don't need to familiar ourse- familiarize ourselves with bunch of different UIs. We don't need to, um, um, to force ourselves to pass our intents to dashboards of companies, uh, where 90% of this UI is not relevant for an agent.

  52. 11:00

    If I have a personal assistant, I don't need most of it. I can just take this, and I can just decompose it to atoms and let my agent build them for me, right?

  53. 11:10

    Because I, I have my assistant I can weigh my, my intent to. So for example, my agent, my proactive assistant can say, "Yeah, I see that you have an important anniversary coming."

  54. 11:18

    And instead of Google just sending the data, Google can actually send a chunk, right, of the Google Calendar. And now this is a win-win-win, because for Google, it's amazing.

  55. 11:27

    It gets to keep its identity. For me, it's good because I kn- I know this interface. I, I recognize that it's Google. But it's good for the host as well, because the host doesn't need to render that.

  56. 11:37

    We have domain experts. We have companies that spend decades in perfecting user journeys, and we can't expect Claude or ChatGPT or any host to, to automatically generate all those UIs.

  57. 11:48

    And if I continue and I ask something for Amazon, so instead of Amazon just sending me the data of, of the product and thus reducing itself to be just a database, it can just send this chunk of Amazon, and I look at it and say, "Oh, it's Amazon.

  58. 12:00

    Okay, I know." And then I can complete the entire pl- planning of my, uh, anniversary- The entire planning in just one, uh, assistant chat, right? And you can see that it pulled just the relevant parts of it because it pulled the, um, the venue from Booking, but it knows me.

  59. 12:17

    It knows that I prefer something that's close to nature and not in the city, so it also knew to pull the, the map from Booking. That's because the assistant knew me.

  60. 12:24

    Booking doesn't know me that well, but Booking knows how to, how to book a venue, so this is real synergy between those. Um, and we have to think about this new interaction mindset.

  61. 12:34

    Why? Because we have to remember that in this flow, the apps, the services, the tools, they no longer own my journey in the, in the platform, right? If I click something in Booking, it doesn't go to Booking's back end, it goes to, um, it goes to the host, like we said.

  62. 12:49

    So, um, what we did with MCP Apps is that every click, every interaction actually sends this kind of, like, message back to the host. Um, and like we said, it-- this is breaking the model for, for all of the, uh, for all the companies, so this is like a new philosophy.

  63. 13:06

    Um, but the messages can, can be put on a spectrum. So this spectrum represents how much control the UI wants for itself and how much control it gives to the host.

  64. 13:16

    So for example, notification, that's the highest level of control the UI has. It just notifies the host that something happened. For example, if I inc-increase the number of items in my cart, it doesn't need to, to go to the host.

  65. 13:27

    It goes back to Shopify, but it just notifies the host that something happened. A tool call is the UI se-telling the host, "Call the tool." And prompt, that's like the, uh, the UI just releases all control and say- tells to the host, "Just run this prompt and see what happens."

  66. 13:42

    Um, so MCP Apps really standardizes this new software flow, and that's something that we need to remember. Perhaps in two years, we won't have browsers as, as we know them.

  67. 13:52

    We won't have websites as we know them. We'll have a personal assistant that, uh, accepts only small chunks of UI, and this will replace our, uh, our web journey.

  68. 14:01

    Um, 2026 is going to be the year that we're gonna standardize MCP Apps as a global standard for UI, and, um-

  69. 14:09

    Yeah, but the spec is still evolving. I mean, there are a bunch of stuff happening. Uh, just in those last, I think, two months, we shipped all of those, uh, or almost all of those based on community feedback, based on community work done by the work group, which you can join.

  70. 14:23

    Uh, so you're encouraged to do this. Uh, there is the official SDK, xtapps. Uh, you can just use that to build your applications. It's very simple. There are built-in skills, so you just let your coding agent do it for you.

  71. 14:35

    You don't actually need to code anything, uh, God forbid. Uh, so you have this, and then it's important to remember that the reason to use this SDK, uh, is that it's just always compliant with the spec.

  72. 14:47

    Like, we always update both. Uh, so feel free to use it. Uh, you can see that just the issues and stuff that people open on it, so please feel free to do it.

  73. 14:55

    Uh, so what's next for MCP Apps? Uh, obviously there are a bunch of stuff, uh, in the pipeline. Uh, but just to give you, like, a taste, uh, so we have reusable views.

  74. 15:05

    Uh, the idea here is that today, for simplicity, whenever you render an app, we actually render a new one. Uh, so let's say that you're working with the same app multiple times.

  75. 15:16

    Uh, if you keep re-rendering it and you have some heavy application, so for example, Autodesk, uh, had this problem, uh, it just takes a really long time, and your experience will be bad.

  76. 15:26

    So we are working on, uh, ways to solve it. Uh, the first one is just why can't we just reference that same view and push data into it? Uh, but a second one is actually to take this and flip the script.

  77. 15:40

    So, um, another thing that, uh, we've been working on is interactions, not for the user to interact with the, with the app, and then the app sends it to the model, which we just saw.

  78. 15:49

    But what if we want the model to be able to interact with the view? We want Claude to be able to click on buttons or to, uh, fill forms or do anything inside the UI.

  79. 15:59

    So today we have solutions like WebMCP and, uh, things like that. We are working on a standardized way, so when the user interacts with the model, the model ca- the app can actually expose tools for the model to interact with it, thus closing this loop.

  80. 16:11

    Um, and, uh, you can, you can check out the PR. It's still an open PR, but that's something that we work on in the, in the committee. And the most important thing is that MCP Apps supports all ways of, uh, all the ways of, uh, uh, generating UI, because that's a question that we always get asked.

  81. 16:27

    What about generative UI? So if we put it on a spectrum, then we have the predefined UI. That's like the classic MCP App. Just like Airbnb building its own UI, sending it to Claude or to ChatGPT.

  82. 16:36

    That's predefined. That's a black box. That's good for eighty percent of the cases. But we have things that are a little bit more structured, like declarative UI, like if you know JSON Render or, uh, um, uh, things like that, where the app can just declare the s- the structure of the UI, but the components are being rendered

  83. 16:54

    by the host. So the host and the app are sharing the, uh, UI functionality and visibility. That's good for hosts that want to control, um, the look and feel of the apps.

  84. 17:04

    For example, just imagine Claude probably doesn't want to have a Booking UI, then an Airbnb UI, then an Expedia UI in the same chat flow, right? So this is pretty, pretty good, uh, uh, middle ground.

  85. 17:14

    And in the other hand, you have the fully generative UI, which is what, um, uh, Claude, uh, Anthropic released, uh, a few weeks ago, um, where the model just generates the UI out of thin air.

  86. 17:24

    Now, the nice thing is that MCP Apps is really agnostic to how you generate the UI. MCP Apps doesn't assume that Airbnb create- created the UI. Any, any part of this process can create the UI, and the feature that Claude released, which is the generative UI on the fly, actually uses MCP Apps under the hood, right?

  87. 17:44

    So it's a generative UI that's being streamed into an MCP app, and then MCP Apps close that, closes that loop, so it's good for third-party UI, which is the black box, but also first-party UI.

  88. 17:54

    So that's, um, that's something that we're wo-working on standardizing. Um, we are doing, uh, a lot of work to do interoperability with other UI protocols like, um, A2UI, which is, uh, the generative UI protocol by Google, WebMCP, like we said, and we just wanna build a unified standard for UI, uh, in chat apps.

  89. 18:14

    Um, yeah, and that's a, like, a cool summary about MCP Apps. If you build an MCP app, it runs everywhere. LibreChat is an MC- an MCP app, uh, uh, client.

  90. 18:22

    ChatGPT is a ChatGPT app client, but the same application works for... The same code base works for every, uh, every host.

  91. 18:33

    Cool. Uh, so if you think about it, this isn't just some tech, right? This isn't some protocol. This is a new way to distribute applications. Uh, so if you look at just a few months back, uh, Sam Altman said, I think it was October, that eight hundred million people are using ChatGPT on a weekly basis.

  92. 18:52

    That's 10% of the world population. It's insane. Uh, the, the internet took, like, 13 years to get to that, uh, number of users, and now it's not even 800 million, it's a billion.

  93. 19:03

    And it's not just ChatGPT, it's also Claude and VS Code. You have a potential audience that is at least 160 times the number of users that iPhone had when the App Store launched.

  94. 19:15

    Uh, so how do you get started? Uh, there are two main ways. Uh, as a server, like, if you're developing an app, uh, so like I said, you go to xApps repo.

  95. 19:24

    There's a QR code if you wanna do it quickly. You have the skills, just use that. Uh, the other way is in... The skills. The other way is that if you're a host, so if you are building an application that actually, uh, hosts applications, uh, you can just take mcp-ui's SDK, which is the recommended client SDK.

  96. 19:44

    Uh, it's also just fully compliant with the spec. You just take that React component, and you're done. It just supports apps out of the box, and you get hundreds of apps from Booking and other providers out of the box.

  97. 19:56

    Um, so, uh, ju-just to emphasize, uh, there, there was a slide about skills. So it's really easy to create an MCP app. Just if you visit the site, uh, we just, uh, passed through it, but it's just a skill.

  98. 20:05

    You just push it to Claude Code, and you generate an MCP app out of thin air. If you wanna get involved in the spec itself, in how MCP apps are going to operate, in how...

  99. 20:14

    If you wanna help build the future of UI in, uh, in agents, um, then obviously visit the official MCP Apps repo. That's xApps. Open an issue, open a PR, participate in the discussion.

  100. 20:25

    We also have the official Discord for the MCP Apps committee, where we do surveys, and we interact with the, with the community and with other, uh, hosts to, to decide on things that relate to MCP Apps.

  101. 20:37

    And there's the community Discord, which is, I think, the coolest place to be because you have all of the users of MCP Apps, be it, um, um, people that build, build servers, uh, companies that build hosts.

  102. 20:46

    They just talk to each other, share tips, um, uh, troubleshooting, um, asking for features. That's the place to be if you're interested in MCP Apps.

  103. 20:55

    Uh, so we said some scary stuff along the way, uh, like the web is dying, and there's, like, all your websites are, uh, meaningless at the point, at this point.

  104. 21:03

    But I kind of hope that you don't look at this as a threat, but more as an opportunity. Uh, like, basically, a once in a, I don't know, 20 years opportunity to think about your apps again, and think, "What is the core user experience that we're looking to get?"

  105. 21:18

    And imagine it not as a monolithic single app where people go to, but actually a part of a new web of applications, these chunks of UI that allow you to communicate between each other using a smart model in between.

  106. 21:31

    That's, that's pretty insane. Uh, and with MCP Apps, even this early in the ecosystem, and this early in how agentic apps work, we already have standardization, and they all work the same.

  107. 21:41

    You can write your app once, and it will run everywhere.

  108. 21:45

    So what does the future look like? Um, we're not yet at Jarvis, but with MCP in general and MCP Apps in particular, you can bring experiences that were impossible just a few months ago to every host in the world, including your own.

  109. 22:00

    So, thank you.

  110. 22:01

    Thank you very much.

  111. 22:04

    Bye. [applause] [outro jingle]