My personal favorite demo is this JSPaint + WebMCP one https://www.persona-chat.dev/webmcp-paint.html
But more practical examples include: https://www.persona-chat.dev/webmcp-slides.html https://www.persona-chat.dev/webmcp-calendar.html
WebMCP's finally at a point where it makes sense to build against it (shipped in latest chrome + good polyfills available), and I've found it a pretty elegant way to extend existing FE apps by just hooking into your existing FE functions instead of having to build an AI assistant as a parallel thing that is ignorant of the user's session, what they're looking at, etc. This makes hybrid AI/app experiences feel much better.
Edit: I’ve been thinking about offering an overlay UI for a web based game and this could be a good fit for that. I’ll give it a spin later and let y’all know.
My gut says you'll need want to hook into custom render functions and theme config to map to your game styles, since it's going to look very different than the standard OOTB options.
The best file to use as a starting reference is here: https://github.com/runtypelabs/persona/blob/main/packages/wi...
If you run into anything, GH issues are welcome!
The argument for react has always been dev velocity and ecosystem. But with AI the best web experiences will be as close to the “metal” as possible
For everyone passing by, Alex created https://docs.mcp-b.ai/ and we use two of his libraries to enable WebMCP more cleanly. We found MCP-B after we built our own
It's interesting how experimental web tech vs. frameworks are. Kind of flipped once React and Next.js took off. Now we get to see what the browser can do again. Find the balance that works for each case
Note we actually use React / Vite and Next with Persona across a few of our products. It's nice in our case because the agent specific state (including event debug stream if you turn that on) doesn't need to interact with the main app at all. Keeps updates to agent UX from blowing up other parts of the app
I agree re: getting closer to the metal - it seems like HTML is having a big resurgence as agents are very productive at producing HTML artifacts which are often 'good enough' for many content use cases, and fortunately Persona works great as an embed in a static site. We spin up demos like that all the time.
You can turn it on for your site via the chrome origin trial, or just install the polyfill.
Our use case with Persona is all about extending existing apps to have "AI assistance" that actually works well, and Persona being the AI assistant you can ship yourself in your site to enhance your app. There's a parallel camp who are interested in adding WebMCP tools to their sites so they can be used effectively by future browser-level agents (e.g. Gemini in Chrome), but that's not a thing today.
Some AI agents can already do best-effort operation of existing websites via naive 'headless browser' approaches, or doing their best to interpret the existing nature of a page by reading the DOM or accessibility tree and trying to submit the forms, but that's flaky and token-inefficient. WebMCP is all about registering those things as explicit, designed tools built for agents. I'd draw a parallel between asking agents to just call existing REST APIs for an app vs intentionally designing MCP APIs for them; the design philosophy is different.
For those interested in good MCP/WebMCP tool design principles, this article from Arcade.dev is great: https://www.arcade.dev/blog/mcp-tool-patterns/
We'd like to experiment more with this but haven't got their yet. Just some internal prototyping
For canvas/WASM-style apps, I actually think explicit agent-facing APIs become even more important. If the UI is mostly pixels, an agent has less useful DOM/accessibility structure to infer from. WebMCP gives the app a way to expose semantic actions like “create shape”, “select layer”, “export”, “run simulation”, etc. regardless of whether the UI underneath is React, vanilla DOM, canvas, or WASM.