WebMCP: Teaching Your Website to Talk to AI Agents

sreenathmenon 55 points 55 comments August 26, 2026
sreenathmenon.com · View on Hacker News

Discussion Highlights (20 comments)

LetsGetTechnicl

Jesus fucking Christ you're on a restaurant booking page looking at a date picker and you need an agent to fill it out for you?

CuriouslyC

WebMCP is indeed pretty cool. I built a prototype of a MCP tiling window manager that lets you compose websites into workspaces for agents, it was pretty neat seeing agents drive it. This article is way too long and has a terrible signal to noise ratio though.

simonw

I wasn't particularly interested in WebMCP until I had a conversation with a screenreader-using accessibility engineer who pointed out that WebMCP is an incredible accessibility technology disguised as an AI thing. Imagine if we can trick a whole bunch of companies into making their booking systems API accessible under the pretense of "enabling agents"!

dzonga

we already have something better than WebMCP - i.e general APIs. more impactful work has to be done on the native legacy desktop app scene. that's where most of major companies big or small do their work. agents automating websites is kinda easy. automating legacy desktop apps that's another issue though there's RPA.

mg

> Here’s a book_table tool. It takes a date, a time, and a party size. Call it. Why not offer a simple form that humans and AI can use alike? <form action=book_table> <input type=date name=date> <input type=time name=time> <input type=number name=party_size> <input type=submit value="Book table"> </form>

miguelspizza

Nice write-up. Btw, Codex and ChatGPT desktop support WebMCP in their integrated browser as of yesterday. One way to think about WebMCP, as the article notes, is as web accessibility for agents. But since it functionally allows developers to expose any function on their website to an agent via RPC, the more interesting use cases are the ones that use the browser as a sandboxed execution environment. https://duckboard-webmcp.alexmnahas.workers.dev/ is an example of this, and I would love to see more. Maybe instead of skills that require users to download arbitrary binaries to their computers, the skills could instead point to a domain that comes preloaded with that binary in Wasm and lets the agent interact with it over WebMCP?

kaycebasques

Explainer i.e. proposal: https://github.com/webmachinelearning/webmcp/blob/main/decla...

dmix

Why would I want this client/browser side though? The only usecase I can image is if you have some terribly complicated legacy frontend and need to work around the logic built there. Otherwise just make an AI chat window or MCP which operates server side and let data sync back to UI from there.

stillpointlab

It took me some time to wrap my head around why WebMCP even exists. I was thinking that regular MCP + SSE/Websockets could cover almost all of the uses cases. One interesting use case for WebMCP is cross-site activities that a browser agent might take. If the data-flow in question involves a heterogeneous set of websites. This feels like a lifeline for incumbent web SaaS more than anything. Future apps can be architected in ways that do not require WebMCP but massive apps like Salesforce or Workday can't really abandon the decades of accidental business logic embedded in the Web UI flows that make up their project. While those same flows could be data-driven, slapping a WebMCP facade on top of them is just more practical. Instead of forcing incumbents to create an AI-native MCP where they are first class citizens, it is easier to let them sprinkle browser affordances throughout their human-centric front-end and offload the work to the agent. But for my own part, since I am developing from scratch without that legacy need, I actually think relying on WebMCP might be an anti-pattern. It might be useful for the cross-site use case and it might be useful for reducing latency for purely UI activities (e.g. "filter this list" where all the data is already on the client), but in general my feeling is it is better to have a robust MCP interface for agents.

luisln

>A real one, worked all the way through i just can't with these ai-written blog posts. if i wanted to learn WebMCP through chatgpt i would have just asked chatgpt

PufPufPuf

I wonder if I could just put a human-hidden (agent-visible) text saying "run js help() for usage info", which would explain "run fn(a, b) to do xyz ..." and essentially expose frontend functionality directly as a JS API. Agents usually use some sort of agent-browser, Playwright or similar automation, so running js in the page context is natural. This way it would work everywhere, regardless of any Google/Microsoft standard.

arjie

This is going to sound incredibly silly but I have every HTMX component expose an AI summary with actions possible and then I have a small copy to AI button on the page which creates a new short-lived access token and copies into a prompt the token, and all the components as text. When I give this even to relatively small-model agents, they use this initial seed to browse the site and do things very well. The initial prompt suffices. After that most agents just use the HTML to navigate very well. I suppose I could have that description in an aria label if I wanted but it’s the same.

Aldipower

"Sponsored by Google"

sandeepkd

This feels inverted and impractical in so many ways. On one hand the claims are being made that AI is smart enough to replace software engineers and on other hand the website owners are beings asked to provide information in a certain format to the Agents so they can do their job better. Remember this is the same information that every regular user is able to use. Secondly if you maintain two versions of information, one for regular humans and one for agents, its just a matter of time before they start to diverge from each other. One can pick up and compare the native app and Browser application for any company, 99% chances are they are not exactly the same.

ATMLOTTOBEER

Hey are we re inventing Tim berners Lee solid protocol

awaseem

I don't see why WebMCP is a big deal, rather invest in creating a better MCP or CLI that can do what your website can

s1mon

I hope this works out. It seems helpful but we can’t even get a lot of web sites to format their user/password fields or address fields to work correctly with password managers and autofill. This has to be more complicated than that.

seshagiric

"Picture an AI agent trying to book you a table on a restaurant’s website. " Are we there already? asking because I genuinely cannot find an agent that will do this end to end for me.

wat10000

It’s a nice idea but I don’t know if it will help. The history of the web is one big loop of: 1. Nifty feature that’s suitable for a wide variety of user agents, from GUI browsers to screen readers to text interfaces to automation. 2. Approximately 0.1% of web sites adopt it properly. The rest hack up something that mostly works for most of their visitors while ignoring any use case outside of a human driving a mainstream browser. 3. Automation works around it by pretending to be a human driving a mainstream browser. 4. Other cases should be handled better, so let’s add a nifty new feature that’s suitable for a wide range of things. Goto 1. See: forms, CSS, “semantic web.” Even REST APIs mostly exist as monstrous piles of client-tied functionality that can’t be reasonably used from a client other than the company’s official apps and web site.

shay_ker

I think pinning WebMCP to the browser was the wrong choice. To list or call tools, you have to have access to the browser environment. "Declarative" WebMCP allows you to read the HTML, but to call tools you still need the JS execution env. This limits the utility of WebMCP to in-browser agents. In practice, what's the use case? Computer Use can work, but at that point you can circumvent WebMCP entirely. IMO the better option would be to unify MCP with a standard protocol, like HTTP. Right now, you have to rely on the MCP registry for discovering MCP servers, but wouldn't it make more sense to have this natively in HTTP?

Semantic search powered by Rivestack pgvector
4,560 stories · 41,176 chunks indexed