← All AI Engineer talks

AI Engineer World's Fair 2026

MCP Apps: Extending the Frontier — Ido Salomon & Liad Yosef

Ido Salomon· Co-creator, MCP AppsLiad Yosef· Co-creator, MCP Apps18:38

Read the talk

MCP Apps: Bringing Interactive Interfaces Into the Conversation

MCP Apps lets services deliver recognizable interfaces inside an assistant, while the host coordinates interactions, tool calls, and the wider user journey.

From a talk by Ido Salomon and Liad Yosef

Before you start: Familiarity with MCP tools and resources, basic web interfaces, and TypeScript will help you follow the implementation discussion.

Why should a service become a wall of text?

Why should connecting a service to an assistant mean giving up the interface that makes the service useful? Ido Salomon and Liad Yosef approach that question as co-creators and maintainers of MCP Apps. Salomon introduces himself as the creator of MCP-UI, an MCP steering committee member, and the creator of AtomCraft. Yosef works with him on MCP-UI and introduces AURA, a research lab he recently co-founded to explore the agentic web. They point to ChatGPT, VS Code, and Slack as places where this shift toward embedded applications is already happening.

Text is the natural input to a chat, but it is often a poor output format for information that already has a carefully designed interface. A service connected through MCP can return accurate data and still lose its navigation, visual hierarchy, and identity. Yosef describes companies’ reluctance to become textual databases: they have invested in making their products understandable, and a wall of text discards much of that work.

The alternative is for a service to send pieces of its own interface into the conversation. A user can recognize Shopify, Hugging Face, or Monday without reconstructing their identities from prose. The opening mockup makes this concrete: charts, a product card, and an audio player appear alongside chat text. But recognizable presentation is only the first requirement. A user should also be able to interact with an embedded Hugging Face interface and have that interaction do something. MCP Apps covers both UI delivery and communication with the host.

Chat mockup with blue text bars, a pie chart, a product card, and an audio player.
App interfaces embedded alongside text in a chat response.
0:180:30
Suggest correction

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

0:18 · section reference included

From MCP-UI to a shared extension

Salomon dates MCP-UI’s creation to May of the previous year. Its scope was interactive applications over MCP: transmitting an interface and defining how it communicates with the application hosting it. Collaboration with Anthropic and OpenAI then produced the official MCP Apps extension. The launch account identifies MCP-UI and the OpenAI Apps SDK as predecessors; initial availability included Claude and Goose, VS Code Insiders support, and ChatGPT availability beginning that launch week. The important transition is from an individual implementation to a shared contract that multiple hosts can support.

Yosef names ElevenLabs, Shopify, and Postman among the early adopters. Goose provides a useful continuity example: he describes it as the first client to support MCP-UI and connects that work to a Block agentic commerce release announced on the day of the talk. He then widens the ecosystem to Cursor, Copilot, GitHub, and ChatGPT, where he says OpenAI recommends MCP Apps as the protocol for building applications.

Slide showing a document titled “MCP Apps compatibility in ChatGPT” over screenshots of social posts.
MCP Apps compatibility documentation for ChatGPT.

The ecosystem also includes community plugins, agent integrations, courses, and an integration with Pi. The official ext-apps repository provides a place to propose changes and submit pull requests. Yosef describes an open MCP working group that meets every three weeks, bringing Anthropic, OpenAI, and other partners together with community contributors. The intended audience for the protocol is broader than the large labs that implement its most visible hosts.

2:222:38
Suggest correction

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

2:22 · section reference included

Deliver HTML, then let the host coordinate actions

The first mechanism uses an existing MCP primitive: a resource. In the text-only flow, Claude calls an MCP server and receives text to incorporate into its answer. With MCP Apps, the server can provide an HTML resource, and a supporting host can render it as an interactive application. Salomon illustrates the difference with a soundtrack interface: the response becomes something the user can browse and operate, rather than a description of the soundtrack.

Favoriting a song introduces the second mechanism. In the demonstrated Spotify flow, clicking the favorite button sends a message to the host and recommends calling a tool on Spotify’s MCP server. The host decides whether to invoke that tool. A click is therefore a request entering a coordinated flow; it is not itself evidence that the favorite has been saved.

Host mediation does not require a model turn for every interaction. The draft specification permits app-to-server tool calls through the host and declared external network access. The Spotify example explains who coordinates the requested action, rather than establishing that every backend request must become a chat message.

4:585:08
Suggest correction

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

4:58 · section reference included

From funnel status to a clickable explanation

The PostHog demonstration starts with a product manager asking Claude for the status of a funnel. Claude reaches out to the PostHog server and returns a textual answer. Salomon describes it as factually correct but difficult to scan: the user still has to read through the response to understand where the funnel stands.

The follow-up is simply “Show me.” Because both the PostHog server and the Claude host support MCP Apps, the answer can become a branded, interactive PostHog widget. This preserves the service’s visual language inside the assistant and makes the funnel easier to inspect at a glance. The assistant supplies the conversational context; PostHog supplies the interface suited to its data.

The next question changes the job from inspecting analytics to learning what a funnel means. In Salomon’s demonstration, Claude produces a generated interface, streaming HTML into the answer. That interface is also interactive. Clicking a particular funnel step sends a prompt back to the model asking it to explain that step, so the user can continue the conversation through the visual representation itself. The interface is both an answer and a way to ask the next question.

6:356:42
Suggest correction

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

6:35 · section reference included

The resource and callback loop

The architecture behind the funnel demonstration follows a small sequence:

  1. Prompt: the user asks for funnel information.
  2. Tool call: the assistant calls a tool whose definition links it to a UI resource.
  3. Resource registration: the server registers the HTML that implements the view.
  4. Resource consumption: the host obtains that HTML and prepares to display it.

Salomon notes that hosts commonly preload the resource rather than waiting until the moment of display. Prefetching is an optimization the protocol permits, not a requirement of the sequence.

On the rendering side, he describes the MCP-UI SDK as providing a React component or web component that accepts the resource and a communication callback. The interface runs in a sandbox. The callback gives interactions inside that boundary a route back to the host. This separation lets the service own its interface while the host owns the surrounding conversation and action coordination.

A click travels through that callback, and the host can use the resulting event to continue the agentic flow with a tool call or resource request. For the funnel explanation, the application-level TypeScript handler can be kept as small as this:

typescript

type FunnelStep = {
  id: string;
  label: string;
};

type RequestExplanation = (prompt: string) => Promise<void>;

export async function explainFunnelStep(
  step: FunnelStep,
  requestExplanation: RequestExplanation,
): Promise<void> {
  await requestExplanation(
    `Explain the ${step.label} step in this funnel (step ID: ${step.id}).`,
  );
}

Here, requestExplanation is the callback supplied by the application’s host integration. The handler turns the selected step into a specific request; the host determines how that request advances the conversation. The SDK handles the communication boundary rather than making the embedded view responsible for the whole agent loop.

8:468:58
Suggest correction

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

8:46 · section reference included

Compose the task from pieces of services

The same architecture suggests a different way to consume the web. Instead of opening each service and translating a task into its dashboard controls, a user could give the task to a personal assistant. Yosef’s example is planning an anniversary: coordinating Google Calendar, shopping on Amazon, and finding accommodation through Booking, repeatedly carrying the same intent between them.

Yosef illustrates the friction with 20 browser tabs and a rhetorical estimate that 99% of the displayed UI is unnecessary for his task. Each service presents its broad interface because it lacks the assistant’s context. His proposed alternative is to break those interfaces into smaller pieces that Claude, ChatGPT, or OpenClaw can compose using MCP-UI. The slide separates shopping cards, calendar columns, booking controls, and a map into individual fragments.

Slide arranging flower shopping cards, calendar columns, booking controls, and a map as separate interface fragments.
Shopping, calendar, and travel interfaces separated into smaller pieces.

In the proposed workflow, a proactive assistant notices the approaching anniversary and displays a Google Calendar fragment. Yosef identifies three complementary benefits:

  • User familiarity: the user recognizes an interface they already know and trust.
  • Provider identity: Google retains its recognizable product experience.
  • Host reuse: the assistant does not need to rebuild the calendar’s capabilities itself.

The fragment is useful because it carries both functionality and recognizable context into the conversation.

Shopping can work the same way: Amazon remains a recognizable shopping experience instead of becoming a list of items in prose. A Booking.com map can appear when location becomes relevant. Yosef’s agentic-web vision is that the assistant, which holds the user’s broader context, assembles the pieces needed to complete the task without sending the user through each full website.

10:1410:30
Suggest correction

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

10:14 · section reference included

The host owns the wider journey

Once interfaces can appear inside a shared assistant, an individual application no longer determines the whole user journey. A click in Shopify’s MCP app becomes part of a flow coordinated by the host. Amazon may participate in the shopping step without seeing the complete cross-service task. Yosef connects this mediation to auditability: the chat can provide a place to understand how the broader interaction proceeds.

Two interaction modes are explicit in this part of the explanation:

ModeWhat the app suppliesWhat the host receives
NotificationInformation that something happenedContext about an interaction
Prompt requestA request to continue the conversationResponsibility for the next conversational step

The difference is how much initiative the application hands back to the host. Yosef presents this change in interaction design as part of his forecast that MCP Apps will become a global UI standard in 2026.

The specification is still evolving. Salomon distinguishes community work already included from contributions and proposals still under discussion, and points developers back to ext-apps, which hosts the official SDK and specification under the Model Context Protocol organization. He says the maintainers reflect specification changes directly in the SDK, making its examples and open issues the practical entry points for both adoption and contribution.

12:2512:37
Suggest correction

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

12:25 · section reference included

Keep expensive views alive and let the host operate them

Reusable views address a cost that becomes obvious with heavier applications. Salomon uses Autodesk’s full 3D renderer as the example: repeatedly rebuilding the application is slow and inefficient. He describes repeated rendering as an MVP limitation and proposes a possible server-provided identifier that would let the model keep updating the same view. The proposal is about preserving an existing application instance across subsequent interactions, rather than creating another expensive view each time.

The next capability reverses the direction of communication. So far, a user acts inside the app and the app talks to the host. What happens when the user asks the assistant to fill out a form? The host needs a way to operate the app. Yosef compares this to WebMCP, Chrome’s proposed APIs for exposing structured website interactions to agents, introduced in early preview. He calls the MCP Apps capability both App Tools and View Tools.

At the time of the talk, Yosef describes those tools as in the specification and awaiting release. The inspected draft expresses the mechanism through an app tools capability and bidirectional tools/list and tools/call; that draft status does not establish a shipped release. The architectural distinction is clear: the host can discover operations exposed by a view and request an operation such as filling its form, instead of relying solely on events initiated inside the interface.

14:1614:27
Suggest correction

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

14:16 · section reference included

One protocol across different ways of building UI

MCP Apps also sits across a spectrum of interface construction. At one end, a provider supplies a predefined application, illustrated by Altara’s interface inside an iframe. In the middle, declarative systems such as json-render and A2UI supply instructions that a renderer turns into an interface. At the other end, the model generates the UI itself.

ApproachWhat determines the interface
Predefined UIApplication code supplied by the provider
Declarative UIA structured description interpreted by a renderer
Fully generated UIInterface code generated for the request

MCP Apps is agnostic about how the UI is generated. Its role is to carry an interactive application into a supporting host and provide communication around it. Yosef identifies Claude Apps’ Imagine feature as an example of generated UI using MCP Apps behind the scenes.

Interoperability therefore does not require choosing one construction approach for every host. Yosef describes serving A2UI to Gemini while wrapping it as an MCP app for ChatGPT, and also discusses interoperability in the other direction. The coauthored A2UI and MCP Apps guide explains concrete integration patterns, including packaging an A2UI renderer inside an MCP App. These are ways to bridge rendering environments; individual hosts still need the relevant support and configuration.

The portability demonstration brings that idea back to a single codebase: Yosef shows the same app in LibreChat, an open-source client, and ChatGPT. Both hosts support MCP Apps, so the application can retain its implementation while appearing in different assistant environments. The useful promise is reuse across supporting hosts, with the host integration providing the surrounding conversation.

15:2915:39
Suggest correction

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

15:29 · section reference included

An application distribution channel

Salomon closes by treating MCP Apps as a new distribution channel for software. Salomon cites Sam Altman’s earlier figure of 800 million weekly ChatGPT users, describing it as roughly 10% of the world’s population. OpenAI’s historical enterprise AI report separately reported more than 800 million weekly users in December 2025. That is a platform audience, not the measured audience of an individual MCP app.

He says the web took around 13 years to reach that audience and claims a potential market 170 times the Apple App Store’s at launch. His intervening reference to growth beyond one billion does not identify a clear population, and the talk provides no calculation for those comparisons. The practical distribution argument rests on the named surfaces—Slack, VS Code, Claude, and OpenAI—where applications can meet users inside an existing assistant workflow.

For app developers, the starting point is the examples in ext-apps: clone an example and build on its resource and interaction structure. For host developers, Salomon points to ext-apps and the MCP-UI documentation. The repository’s example gallery makes the entry point concrete, and Yosef invites contributions to the official project.

Repository screenshot with example tiles beside the words “Official MCP Apps Repo” and a QR code.
The official MCP Apps repository and its example gallery.

The closing ambition is to write an application once and make it available across supporting assistants. Salomon qualifies the vision as “not quite Jarvis,” but the direction is specific: services retain useful interfaces, users interact with them inside the conversation, and the host coordinates the task that spans them.

17:0117:20
Suggest correction

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

17:01 · section reference included

Resources

From the talk

  • The official launch account explains resource delivery, host communication, security, and initial client support.

Read the complete timestamped transcript
  1. 0:00

    [upbeat music] Hi. Uh, so hi, everyone. Uh, we did this talk yesterday, so it might be out of date. [laughs]

  2. 0:18

    I'm Ido Salomon. I am the creator of MCP-UI, and co-creator and maintainer of MCP Apps in the MCP steering committee. I also created AtomCraft, if you were in the talk yesterday.

  3. 0:30

    I'm Liad. I work with Ido on MCP-UI. I'm also the co-creator and maintainer of the MCP Apps, uh, spec, and recently co-founded AURA, which is a research lab for the agentic web, and we're gonna talk a little bit more about it later.

  4. 0:45

    So MCP apps are all around us. You might not even realize it, but all the fancy apps you have today in ChatGPT, in VS Code, in Slack are actually all based on MCP and the MCP apps spec.

  5. 1:01

    And if we take a step back and we ask, "Why do we need MCP Apps? What's the idea behind MCP-UI or MCP Apps?" So when we work with chats, with chat clien- clients, we use the text because that's the natural interface, but text is really the worst way to convey a lot of information, right?

  6. 1:18

    Because we don't want walls of text, and actually, this is the main blocker from companies to, uh, build an MCP server. They don't want to be reduced to a textual database.

  7. 1:27

    They don't want to lose their brand identity in the process. They don't want their data that they worked so hard on, uh, um, building the UX for to look something like this.

  8. 1:38

    So instead of this, what if the apps could just send their UI to the chat, right? What if every service and every brand could just send their user interface to the chat?

  9. 1:51

    So instead of us looking at something like this, we could just have the apps send their own identity, their own UI chunks into the chat, and then we take a look, and we say, "Okay.

  10. 2:02

    Yeah, I know this is Shopify in the middle. I know this is Hugging Face. I know this is Monday." And what if we don't want to do it only as a, a visualization?

  11. 2:10

    We also want to do it interactive. So we want the users to be able to actually interact with Hugging Face, for example,

  12. 2:18

    and for Hugging Face to actually do something with it.

  13. 2:22

    So we don't have to imagine the future, as we said, uh, with MCP-UI, uh, which I created in May last year, uh, and took that, which is essentially like an open protocol for interactive applications over MCP.

  14. 2:38

    So it's not only how you transmit UI, but also how that UI, that application, uh, connect, connect, communicates with the host. And just a few months ago, we partnered with Anthropic and OpenAI to create the official extension to MCP, uh, which we call MCP Apps based on MCP-UI, MCP SDK, uh, and other, uh, solutions in the field.

  15. 3:01

    Uh, the launch was, uh, pretty cool with Claude and VS Code supporting it to begin with. But now, uh, uh, obviously, also OpenAI and others have adopted it.

  16. 3:13

    Yeah, and, uh, there are a lot of early adopters to MCP-UI. Um, uh, ElevenLabs, Shopify, Postman, that was one of the, uh, first, first companies to support it back, like, a year ago.

  17. 3:24

    They were the one believing in this spec, in this vision. Um, and, uh, uh, Goose, uh, also supported it, and it's a, it's a funny anecdote because today Block released their agentic commerce solution that is based on MCP Apps.

  18. 3:36

    So a year ago, Goose was the first client to support MCP-UI, and now it is part of Block's, uh, um, uh, product, uh, product. Um, and today we have a lot more clients supporting MCP-UI.

  19. 3:49

    Uh, we have, uh, uh, Cursor, and we have, um, yeah, Copilot, and, uh, uh, GitHub. ChatGPT support MCP Apps. ChatGPT apps that you know are actually based on MCP Apps, and OpenAI actually recommend using, um, MCP Apps as a protocol to build ChatGPT apps.

  20. 4:07

    Um, Postman, um, and a lot more, and obviously, Claude supports MCP Apps. But you also have a lot, uh, uh, large community around it, right? So people start to, to build plugins to MCP Apps, uh, and, uh, um, uh, integrations to different agents and also courses on how to build MCP Apps.

  21. 4:24

    This is Py integration for MCP Apps. Um, so, uh, we have a large community around it. Um, there's a repo, ext-app, which is the repo for MCP Apps, uh, where everyone can just come and propose PRs and ideas of how to, how to extend this, uh, spec.

  22. 4:39

    And we have a work group in the MCP committee, and we're convening every three weeks. We have a tri-weekly meeting on the future of the protocol and how to make the spec not just, uh, serve the big labs, but also the community.

  23. 4:51

    So it's an open working group with Anthropic, OpenAI, and all the, uh, partners in, in the MCP Apps protocol.

  24. 4:58

    Okay, so let's look at a few of the core concepts of MCP Apps. Uh, the first and most obvious one is, how do we even transmit UI over MCP?

  25. 5:08

    So if we look at this example of Claude, like, uh, you know, agent times, like a few months ago, uh, and I would ask something, uh, best case scenario, it would reach out to my MCP server, and it would get back a textual response, which is obviously suboptimal.

  26. 5:26

    So let's say I do want to get, uh, some- something better. Uh, so now ins- I can use existing MCP primitives, uh, like a resource, and now return HTML.

  27. 5:38

    And I can take that HTML, and since Claude supports MCP Apps, it can turn it into an interactive application of the best soundtrack in the world.

  28. 5:50

    And what if you want it to be really interactive, right? This is nice because it shows the best soundtrack in the world. What if I want to favorite one of the songs there?

  29. 5:58

    I want interaction. I want communication between the app- And the host. So when a user clicks on the favorite button, MCP Apps actually standardizes this flow. So instead of the app sending a message to, to the backend, to Spotify's backend, it's actually sending a message to the host saying, "Hey, user clicked a button.

  30. 6:19

    Do something with it. I recommend you to call a tool in Spotify's MCP server." And the host decides what to do. The host keeps this control of the flow.

  31. 6:27

    In this case, the host can decide to actually call the favor- favorite tool, and MCP Apps standardizes this flow.

  32. 6:35

    Okay. So seeing is believing, so let's see an example from Claude.

  33. 6:42

    Yeah. Uh, so let's say that I'm a product manager and I want to understand the status of my funnel. So I would go to Claude and I would ask, "What's the status?"

  34. 6:51

    In the, again, old world of a few months ago, uh, I would get back this sexual response. Let's say that it's PostHog. So it reached out to the PostHog server, got back a textual response.

  35. 7:01

    It's factually correct, but it's useless. I mean, how do I even take that and understand quickly what's going on? I have to read, which I don't wanna do, uh, and it's pretty challenging.

  36. 7:12

    Uh, but luckily, because both Po- PostHog server and Claude as a host support MCP Apps, I can just say, "Show me." And now instead of getting that block of text, I can actually get something useful, uh, which is this interactive, um, widget that you would get, you know, on the PostHog, uh, uh, server.

  37. 7:33

    And when you have that, you can at a glance see what's going on, and as you can see, it's branded PostHog. So you're actually getting the PostHog experience within ChatGPT or Claude, et cetera.

  38. 7:45

    Uh, but it doesn't really end there. Uh, as we said, MCP Apps is also like an interactive protocol. So not only can I see and, and interact with it, I can also do stuff like, uh, ask them to explain what a funnel is.

  39. 7:58

    I might not even know that. So again, instead of getting that huge wall of text explaining what a funnel is, I can just get this generative UI answer from Claude, which uses MCP Apps.

  40. 8:09

    It streams, like, the HTML inside, and now I can get this nice interactive, uh, experience of learning. And not only is it, uh, visually nice and helps me understand, but it's also fully interactive.

  41. 8:22

    And when we say interactive, it actually means that clicking it would help me communicate with the host. So let's say that I want to understand, like, a particular step in the funnel.

  42. 8:33

    Uh, I just go and I click on it, and since it's an MCP App, it can send a prompt back to the, uh, model and say, "Okay, explain this specific step to me," and I can advance the flow.

  43. 8:46

    Uh, so this is, uh, like the example of, of how that, uh, looks. So how does it actually work if you look at the architecture of it? Uh, so we started by prompting, so we typed something in.

  44. 8:58

    Uh, we asked for, uh, the funnel information. A tool call went out. Since our server supports MCP Apps, that tool call is actually linked to a resource. And if you look at the code here, then, you know, it's, it's a re- so just a resource with, uh, uh, some prefix.

  45. 9:15

    Uh, we take that. It's pretty simple code. We can just add, register the, the resource with the HTML and you're done. Uh, that resource is then, um, consumed by the host.

  46. 9:27

    In practice, it's usually consumed beforehand, like it's preloaded, uh, but imagine that it's just consumed in real time. That same HTML then passed to the host that also supports MCP Apps.

  47. 9:37

    MCP Apps is basically, if you look at the MCP UI SDK, just a React component or a web component that just accepts that resource, plus, uh, a callback, which is how we implement that, uh, communication protocol you saw earlier, and renders it in a sandbox.

  48. 9:54

    So like we said, not only is it presentational, I can click. So what happens when I click? So we click on it. It sends back through that callback, uh, the event all the way up.

  49. 10:04

    The model takes that event, and then it can send out a tool call, uh, or, uh, uh, call a resource or anything else, thus completing the agentic flow.

  50. 10:14

    And this architecture actually brings a new philosophy or a new vision to the web. So instead of, uh, us thinking of the web as tabs or, um, services that we need to consume using a browser, we're now consuming it using our own personal assistants, right?

  51. 10:30

    What does it mean? It means that if I want to co- uh, accomplish a task, for example, plan a, um, anniversary. So up until now, I had to open 20 tabs in the browser, and I had to try to convey my intent to each of those services.

  52. 10:43

    And by saying, "Conveying my intent," it means that I have to interact with the dashboards of the UIs of those companies. So just to plan anniversary, I need to convey my intent to Google Calendar and Amazon and Booking and Booking again and Amazon again, and all...

  53. 10:59

    And I don't need 99% of the UI that is shown there because this UI doesn't know me. It doesn't have the context on me. What if we could just take these UIs and just break them into atoms, and those atoms can be composed by my own personal assistant, right?

  54. 11:14

    Because I don't need the, the UI. I need those atoms. So if we can take these atoms and have my Claude or ChatGPT or OpenClaude just use them using MCP UI, we can have this flow.

  55. 11:28

    So my proactive assistant can say, uh, "Yeah, I know. I see that you have, uh, an anniversary coming," and instead of just showing me data from Google Calendar, it can display Google Calendar chunk.

  56. 11:37

    Now, for me, it's good because I know Google Calendar. I trust Google. For Google, it's good because it maintains their brand and identity, and for the host, it's good because they don't need to develop this capability themselves.

  57. 11:48

    And it goes even deeper because if I'm interacting with Amazon, instead of Amazon being reduced to just a list of items or, uh, or text- I can see Amazon.

  58. 11:57

    I can, I can know that this is, uh, this is Amazon, and I can complete my entire flow without even leaving my assistant, and this is the agentic web.

  59. 12:07

    This is how we are going to consume the web, because my assistant will have the context on me. It n- it will know to pull the, the map from booking.com.

  60. 12:15

    I don't need to know that, right? So this is going to be the shift that we're gonna see very soon, where websites are going to shift into small chunks of UIs inside, uh, inside personal assistants.

  61. 12:25

    Um, and with that come new interaction mindset because, um, if I click on something in the Shopify's MCP app, then Shopify doesn't control my journey anymore, the host does.

  62. 12:37

    Um, and no application will control the user journey anymore, so Amazon want to be able to know to see my flow. It- everything will go through the chat for auditability.

  63. 12:46

    Um, and MCP apps actually standardizes it by defining these three level of control over the user journey. So an app can notify the chat that something happened, or an app can actually ask the chat to run a prompt and s- and releasing all responsibility to the chat.

  64. 13:02

    So MCP apps actually standardize it, and this is the new software flow, the new flow of interaction that we're gonna see between applications, the chats, and the users.

  65. 13:13

    Um, in 2026, we had, we had an amazing year of standardizing MCP-UI, and 2026 is going to be the year where it's going to be a global standard for UI.

  66. 13:23

    Yeah.

  67. 13:23

    But it's still evolving. Uh, there's a lot of stuff going on. Uh, even in these past few months, these are some of the things that are already in or already contributed or proposed, uh, by the community.

  68. 13:34

    Uh, so you still have a lot of time and a lot of room to influence how this future will look like. Uh, so you can go to Ext Apps, uh, that's the official SDK, and spec is also hosted there.

  69. 13:45

    It's under the official Model Context Protocol, uh, repository. There will be a QR code later, uh, so you don't have to, uh, to, uh, uh, photograph it. Uh, and also, um, the, the cool thing about using Ext Apps in particular is that because it's maintained by us directly, uh, all changes to the spec are immediately, uh, reflected

  70. 14:05

    in the SDK. So if you use that SDK, then you automatically get all the new stuff out of the bag. Uh, these are some of the issues that we have, so please feel free to come and, uh, contribute.

  71. 14:16

    So what's next? Um, there's a bunch of stuff coming up. Uh, the first thing, uh, that we get a lot of, uh, uh, of asks for is kind of reusable views.

  72. 14:27

    So if you have, uh, um, companies like Autodesk that have really heavy apps, like they have, you know, the entire 3D renderer there, they don't want to keep re-rendering that over and over again because it just, it takes time, it's inefficient.

  73. 14:42

    Uh, that's just the way that we had to do it, uh, for, uh, the MVP. But we are working on thinking of maybe we can pass some identifier from the server, uh, in a way that would help the model actually keep updating the same view.

  74. 14:56

    Uh, the other way to do this is...

  75. 15:00

    Um, App Tools, which is something, uh, if you've heard of WebMCP, which is Google standard of how agents will interact in, with web views. So in MCP apps, we actually standardized it into App Tools.

  76. 15:10

    So up until now, we saw the flow where users do- does something in the app and the app talks to the host. But what if the host or the chat wants to speak to the app?

  77. 15:20

    If the user writes something, uh, "Fill out this form for me," and the chat will fill out the form for the user. So MCP apps actually standardizes this, this flow, which we call View Tools.

  78. 15:29

    That's actually, that's in the spec right now. It's also, uh, it's gonna be released, uh, very soon. Um, and we're working on this generative UI spectrum, where you have predefined UIs, that's MCP apps.

  79. 15:39

    That's like the black box, uh, iframe that renders, uh, um, Altara's UI in that example. But you also have other things on this spectrum like, like declarative UI, like JSON Render or A2UI.

  80. 15:51

    These specs that say, uh, yeah, the, the app just returns an instructions on how to build the UI, but the chat will actually build the UI. And you have fully generative UI on the other end of the spectrum.

  81. 16:01

    And if you know Claude Apps, uh, yeah, MCP apps is agnostic to the way the UI is generated. And if you know Claude Apps' Imagine feature, uh, where you can just ask Claude to generate a UI for you, that's actually based on MCP apps.

  82. 16:14

    So this is an MCP app behind the scenes, but it supports generative UI. Um, so we're working on interoperability with those other, uh, um, standards. And actually just a few days ago, we, uh, re- released a guide on how to do A2UI, which is a generative UI standard, and MCP apps, which is this standard, how to do

  83. 16:33

    interoper- interoperability. How can a server can write A2UI and ship it to Gemini, but also wrap it as an MCP app to ship to ChatGPT, and vice versa.

  84. 16:43

    Um, an MCP app is support everywhere, so it can run everywhere. If you build it once, it runs in LibreChat, which is an open source, uh, uh, MCP app supported client, but also in ChatGPT.

  85. 16:51

    That's the same app that you're seeing, the same code base that runs in, in both, which is, uh, pretty cool. Yeah. Uh, yeah.

  86. 17:01

    So this isn't just a technology, uh, or a cool feature. This is an entirely new way to distribute applications. So, uh, if you look just a few months back, then Sam Altman said that ChatGPT in particular has eight hundred million weekly users, which is ten percent of the entire world population.

  87. 17:20

    That's insane. So if you think about the web in general, it took around thirteen years to get to that number of users. So if you look at that and you think that in the last few months, uh, we actually had, uh, a growth of o- over one billion just for that, we have like one hundred and seventy

  88. 17:36

    times the total addressable market of the Apple App Store when it launched. So MCP apps are everywhere. Uh, Slack just released it, VS Code, Claude, OpenAI, uh, et cetera.

  89. 17:48

    It's already there. Uh, so how do you get started? Uh, you can clone those. You can, uh, uh, go to, like, Ext Apps. Um, as a host, also, go to Ext Apps or the MCP-UI website.

  90. 17:59

    Um-

  91. 17:59

    Please visit the official repo, [laughs] the Ext Apps repo to get involved. Um, and yeah.

  92. 18:05

    So embrace the new web. Uh, it's awesome. Uh, with MCP apps, you can write once and run it everywhere. Uh, and the future is looking bright, not quite Jarvis, but with MCP and MCP apps, we're close.

  93. 18:17

    And come talk to us afterwards about it.

  94. 18:18

    Thank you.

  95. 18:19

    Yeah, thank you. [audience claps] [outro music]