WebMCP: Teaching Your Website to Talk to AI Agents

(sreenathmenon.com)

55 points | by sreenathmenon 18 hours ago ago

25 comments

  • sandeepkd 17 hours ago ago

    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.

  • mg 18 hours ago ago

    > 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>
  • arjie 17 hours ago ago

    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.

  • dzonga 18 hours ago ago

    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.

  • miguelspizza 17 hours ago ago

    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?

  • stillpointlab 17 hours ago ago

    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.

  • cestith 16 hours ago ago

    This is interesting, but instead of tying it to a specific JS library and all I’d prefer putting a list of options and their arguments into the .well-known tree.

    https://en.wikipedia.org/wiki/Well-known_URI

    That way any user agent can get the data and make a call directly to the right endpoint with the right data. It could be an AI agent, a web browser, a specialized tool, a cURL command, or whatever.

    https://agenticresourcediscovery.org/how_to_publish/ and the caldav stuff might serve as decent examples of where to start.

  • dmix 17 hours ago ago

    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.

  • shay_ker 16 hours ago ago

    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?

  • rkique 16 hours ago ago

    IMO this relates to who the end consumer of websites ends up being. All the arguments for just using MCP ignore the reasoning that agents need based on contextual clues (e.g. if you're booking seats at a movie theaters, you'd want to choose based on personal preferences and taking the movie itself into account) and treat the website itself as the first class product.

    Developing MCPs only works if the capabilities for the site don't involve any iterative reasoning and acting for the user, which things like travel and dining do :p

  • PufPufPuf 17 hours ago ago

    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.

  • kaycebasques 17 hours ago ago
  • s1mon 16 hours ago ago

    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.

  • CuriouslyC 18 hours ago ago

    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.

  • sly010 14 hours ago ago

    This whole thing reminds me of the "I am writing to inform you that a fire has broken out..." scene from IT crowd. It's ridiculously inefficient.

  • seshagiric 16 hours ago ago

    "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.

  • luisln 17 hours ago ago

    >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

  • awaseem 16 hours ago ago

    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

  • simonw 18 hours ago ago

    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"!

  • ATMLOTTOBEER 17 hours ago ago

    Hey are we re inventing Tim berners Lee solid protocol

  • wat10000 16 hours ago ago

    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.

  • input_sh 16 hours ago ago

    The thing I'm far more interested in than WebMCP is who are the supposed 50 people that have opened this slop and decided it was worthy of their upvote.

  • Aldipower 17 hours ago ago

    "Sponsored by Google"

  • henry_nexrall 16 hours ago ago

    [flagged]

  • LetsGetTechnicl 18 hours ago ago

    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?