Skip to content

WebMCP

When a site offers its own tools, your agent takes them

WebMCP lets a website register tools for agents: add to cart, search flights, file a ticket. Browsentic notices them, hands your agent the schemas, and calls them through the site’s own code.

The standard

A site’s API for agents, served on the page itself

WebMCP is a W3C proposal shipping natively in Chrome: a page registers tools on document.modelContext, each with a name, a description, an input schema and a handler the site wrote.

The site declares what it can do

Instead of an agent guessing at buttons, the site names its own verbs: what each tool does, what it takes, what it returns.

The site’s code does the work

A registered handler runs the same logic the UI runs, so a call cannot miss a selector or catch the page mid-render.

One call, not a click sequence

Add to cart becomes one schema-checked call rather than find, scroll, click, wait, verify. Fewer steps, fewer ways to be wrong.

How Browsentic uses it

Noticed on arrival, called on approval

  1. 01

    The snapshot says so

    The page snapshot carries a siteTools list whenever a page registers any. The agent learns a site is agent-ready without being told.

  2. 02

    The schemas come over

    page_listSiteTools returns every tool the site registered: name, description and input schema, ready to call.

  3. 03

    The site takes the call

    page_callSiteTool runs one by name, through the site’s own handler, and returns whatever it produced.

  4. 04

    You are asked first

    A site tool call is gated like a form submit: the site decides what it does, so it pauses in the panel and names itself.

Coverage

Native, aliased or polyfilled, it all answers

The reader goes to the page’s main world, so it finds whichever implementation a site actually has.

  • document.modelContext, native in Chrome answers
  • navigator.modelContext, the older alias answers
  • Library and polyfill implementations answers
  • Sites that register nothing ordinary tools

The last row is most of the web today, and nothing changes there: the ordinary page tools carry the job, and the agent is told not to go looking.

Kept honest

A new door, watched like the old ones

Calls are gated like submits

The site-tool-call rule pauses every call in the side panel first. The site decides what a tool does, which is exactly why you are asked.

Listing is read-only

Discovering tools and reading schemas changes nothing on the page, so autonomous site maps record which pages are agent-ready without acting on them.

No install, no debugger, no flags

Reading a page’s registered tools uses the extension’s ordinary scripting permission. Nothing is injected for you to approve, and no debugger bar appears.

Headless callers stay held

An MCP client has nobody to answer a prompt, so its calls resolve by the unattended policy, which ships as deny until you say otherwise.

Stop describing the page. Hand it over.

Free and MIT licensed. No signup, no key to paste, and a fresh install connects to nothing until you pair it yourself.

npx browsentic setup