What Is WebMCP?

A practical guide to how websites expose structured tools to AI agents — and how WebMCP differs from MCP.

Browse WebMCP examples
On this page
  1. What WebMCP is
  2. WebMCP vs. MCP
  3. Why it matters
  4. How it works
  5. Try WebMCP
  6. Security
  7. FAQ

What WebMCP is

WebMCP is a proposed web standard that lets a website expose structured tools — JavaScript functions or annotated HTML forms — that AI agents can discover and invoke directly in the page.

WebMCP support check

Checking this browser…

Looking for the current WebMCP API.

This checks whether the page API is exposed. It does not detect an AI agent or verify tool permissions.

Instead of reading the DOM and guessing what each button does, an agent gets explicit names, descriptions, and JSON Schemas. The user and agent share the same live page and signed-in session, and tool executions stay visible on screen.

  • Typed tools

    One schema-validated tool call replaces a fragile sequence of DOM reads, guesses, and clicks.

  • Progressive enhancement

    The human-facing interface stays intact while the page gains an agent-readable layer.

  • No user setup

    Tools ship with the website, so visitors do not install or configure them.

WebMCP vs. MCP

They use the same tool concepts — names, descriptions, and JSON Schemas — but solve different parts of the stack.

Rule of thumb: use an MCP server for backend capabilities such as APIs, databases, and files. Use WebMCP for actions inside a page the person is already using, such as a form, booking flow, or signed-in workflow.
Where tools run

MCP server

In a separate server process — local (stdio) or remote (Streamable HTTP)

WebMCP

Inside the web page itself, in the page’s JavaScript context

Who hosts them

MCP server

A developer runs or deploys a server and users configure their client to connect

WebMCP

The website ships them — nothing for the user to install or configure

What they expose

MCP server

Backend capabilities: APIs, databases, files, external services

WebMCP

Client-side capabilities: forms, page state, in-app actions, the signed-in session

Session and context

MCP server

The server manages its own auth and state, separate from any browser session

WebMCP

Shares the live page and the user’s existing signed-in session with the agent

Discovery

MCP server

Client connects to a configured endpoint and lists tools over the protocol

WebMCP

The browser mediates: agents discover tools when the user visits the page

Why WebMCP exists

Agents can already operate websites by reading markup and simulating clicks, but every step is open to interpretation — and every redesign can break the flow.

Without WebMCP

The agent infers what each element does, fills fields one by one, and re-reads the page after every action.

  • Many steps, each one a chance to misread the UI
  • Breaks when layout, markup, or copy changes
  • Slow because the agent repeatedly inspects page state

With WebMCP

The page registers typed tools such as checkout or filter_results. The agent calls one; the page’s own logic does the work.

  • One call with schema-validated arguments
  • Survives redesigns because the tool is the contract
  • Executes visibly in the page the user is viewing

Where it helps most

WebMCP is strongest when a person and an agent collaborate on the same live page.

  • Structured form filling

    A submit_application or checkout tool maps conversation data to the right fields — no guessing whether a field wants a full name or first and last name.

  • Human-first widgets, agent-usable

    Complex date pickers, seat selectors, and drag-to-configure interfaces stay beautiful for humans while exposing a clean tool interface for agents.

  • Support and troubleshooting

    A run_diagnostics or find_support_form tool lets an agent skip nested menus and jump straight to the fix.

  • Complex booking flows

    Multi-city travel, multi-passenger reservations, and other flows that take humans many clicks collapse into a few reliable tool calls.

How WebMCP works

The page defines the capability, the browser mediates access, and the agent invokes the page’s own logic.

  1. 1

    Register

    The page declares a tool with HTML attributes or JavaScript.

  2. 2

    Discover

    The browser exposes the tool’s name, description, and input schema.

  3. 3

    Execute

    The agent calls the tool and the page handles the action visibly.

Declarative API

HTML attributes

Add toolname and tooldescription to a standard form, then describe each field with toolparamdescription. The browser builds the tool definition and JSON Schema from the form.

Imperative API

document.modelContext

Register a JavaScript function with document.modelContext.registerTool(). This covers navigation, state management, canvas interactions, and other logic a form cannot express.

See it in code

Our server-submission form exposes the same action declaratively or through JavaScript.

Annotate an existing formHTML
<form
  toolname="submit_mcp_server"
  tooldescription="Submit a new MCP server for review"
  toolautosubmit
>
  <input
    name="github_url"
    toolparamdescription="GitHub repository URL"
    required
  />
  <button type="submit">Submit</button>
</form>
Show the imperative JavaScript version
await document.modelContext.registerTool({
  name: "submit_mcp_server",
  description: "Submit a new MCP server for review",
  inputSchema: {
    type: "object",
    properties: {
      github_url: {
        type: "string",
        description: "GitHub repository URL",
      },
    },
    required: ["github_url"],
  },
  async execute({ github_url }) {
    const result = await submitServer(github_url)
    return { content: [{ type: "text", text: result.message }] }
  },
})

Try it live on our submit page in a WebMCP-enabled browser.

Try WebMCP today

Current browser support gives you several ways to use, build, and inspect WebMCP tools.

  • Set up Chrome

    Check this browser for WebMCP support, then follow the official Chrome flag setup if the API is not available.

  • Use it with ChatGPT

    The ChatGPT desktop app’s built-in browser and ChatGPT Sites support WebMCP tools.

  • Inspect registered tools

    The Model Context Tool Inspector extension shows a page’s tools, validates schemas, and lets you call tools manually.

WebMCP is incubated in the W3C Web Machine Learning Community Group, with the goal that any browser with agentic capabilities can implement it.

Security and control

The browser mediates tool access while execution stays in the page the person is viewing.

Built-in safeguards

  • Origin isolation keeps a tool’s origin stable for its whole lifetime.
  • The tools permissions policy defaults to self, limiting cross-origin frames.
  • Tools execute in the page the user is looking at, so actions remain visible.
  • Sensitive tools such as purchases can require explicit confirmation.
  • Cross-origin discovery is limited to explicitly listed, secure origins.
  • Every execution receives an AbortSignal so in-flight work can be cancelled.
Treat tool arguments as untrusted input. Validate them in the page and again on your backend.

Frequently asked questions

What is WebMCP?

WebMCP is a proposed web standard that lets a website expose structured tools — JavaScript functions or annotated HTML forms — that AI agents can discover and call directly in the page. Instead of an agent interpreting your UI element by element, the page declares exactly what actions are available and how to use them.

Is WebMCP the same as MCP?

No, but they are closely related. MCP (Model Context Protocol) connects AI applications to external servers over stdio or HTTP. WebMCP applies the same tool concepts inside the browser: the web page itself acts as an in-page tool provider, exposing client-side logic and DOM interaction rather than a backend API. A page with WebMCP tools can be thought of as an in-page MCP server.

Which browsers support WebMCP?

Chrome runs a WebMCP origin trial starting in Chrome 149, and it is available behind the chrome://flags/#enable-webmcp-testing flag for local development. The ChatGPT desktop app’s built-in browser also supports WebMCP tools. The standard is incubated in the W3C Web Machine Learning Community Group, with the goal that any agentic browser can implement it.

Do I need a backend server to use WebMCP?

No. WebMCP is entirely client-side. Tools are registered from the page’s own JavaScript with document.modelContext.registerTool(), or synthesized automatically from HTML forms annotated with toolname and tooldescription attributes. Your existing application logic handles the actual work.

How do I try WebMCP today?

Start with the Chrome WebMCP support check and flag setup guide, then open a page that registers tools. The Model Context Tool Inspector extension can show registered tools, call them manually, and help diagnose schemas and results.

What is the WebMCP Challenge?

The WebMCP Challenge is a hackathon run by OpenAI with Google Chrome, Cloudflare, Shopify, Vercel, Render, and Netlify (August 25 – September 3, 2026). Participants build agent-native web apps using WebMCP, and the top 10 submissions each win $3,000 plus additional prizes.

Is WebMCP a finished standard?

Not yet. WebMCP is an experimental proposal under active discussion in the W3C Web Machine Learning Community Group, with an origin trial in Chrome. API details can still change, so treat it as a progressive enhancement rather than a hard dependency.

How is WebMCP different from browser automation?

Browser automation has an agent actuate your UI from the outside — reading the DOM, guessing what buttons do, and clicking through multi-step flows. WebMCP inverts this: the page declares its capabilities as typed tools with JSON Schemas, so the agent calls one well-defined function instead of interpreting pixels and markup. It is faster, more reliable, and keeps your human-facing design intact.

Official references

Use the explainer and specification draft for implementation details and the latest API shape.