Skip to content

WebMCP Is Live in ChatGPT and Codex: What Changed in August 2026

10 min read
Bart Waardenburg

Bart Waardenburg

AI Agent Readiness Expert & Founder

On 12 August we updated our scanner so that navigator.modelContext counts as a legacy signal and document.modelContext as the current one, because the W3C draft had moved the getter back in May. A week earlier, on 5 August, Shopify had switched WebMCP on for every Liquid storefront, in a developer changelog entry rather than a launch post. Two weeks later OpenAI turned it on in the ChatGPT desktop browser and Codex. In one month WebMCP went from origin trial to something an agent on your customer's laptop will actually call.

But look at any of those pages from outside a WebMCP-capable browser and you will find no trace of the tools. The HTML holds a small loader waiting for a browser that supports the API, and that is all. That gap is the more interesting half of this story.

What OpenAI actually turned on

On 25 August OpenAI's developer account posted that WebMCP support was coming to "the ChatGPT desktop app's built-in browser and ChatGPT Sites", with the line that matters for site owners: "When you visit a compatible website, ChatGPT or Codex can automatically use it to complete your task." The documentation calls the feature "site tools" and describes it as ChatGPT's implementation of the proposed WebMCP standard. In other words, OpenAI is the first mainstream agent that consumes WebMCP tools in production, ahead of Gemini in Chrome, which Google has only promised.

The rollout is narrower than the tweet suggests. Site tools work in the built-in browser of the desktop app, for ChatGPT Work and Codex, and only with the GPT-5.6 Sol and Terra models (Luna has it disabled). Enterprise and Edu workspaces are excluded for now. When a page registers tools, a "Site tools" entry appears in the address bar where users can inspect each tool definition and review a log of what was called. Every invocation gets a safety review before it runs, and the usual confirmation rules for purchases, messages, deletions and permission changes still apply.

Two details stand out. First, the docs state plainly that "website-provided tool definitions and results are untrusted content", which is the right posture and one I hope every other agent vendor copies. Second, OpenAI eats its own cooking: learn.chatgpt.com registers five tools of its own, including search_openai_docs and lookup_page, so Codex can search the documentation without scraping it.

There is a bit of history in the word "built-in browser", too. ChatGPT Atlas, the standalone browser OpenAI launched for macOS in October 2025, stopped working on 9 August. The browser now lives inside the desktop app next to Codex, which is exactly where WebMCP landed sixteen days later. Alongside the launch OpenAI opened a ten-day WebMCP Challenge with Google Chrome, Cloudflare, Shopify, Vercel, Render and Netlify as partners, submissions closing 3 September and winners on 23 September.

The month before: platforms moved first

OpenAI's announcement got the attention, but the bigger adoption event happened three weeks earlier, and Shopify gave it a changelog entry instead of a launch post. On 5 August Shopify's developer changelog noted that WebMCP tools are live on every Liquid storefront and on the Hydrogen developer preview, with "nothing to install or configure". Ten tools, from search_catalog and get_product through update_cart to proceed_to_checkout, all running in the shopper's own signed-in session. Every merchant on a stock Shopify theme became agent-callable overnight, and most of them will never know.

A day later Cloudflare published "Give any website a WebMCP interface" : a developer preview where a dashboard toggle makes Cloudflare's edge inject a bridge script into your HTML, and that bridge registers tool packs on document.modelContext without touching your origin. Whether generic, edge-generated tools are useful to an agent is a fair question. As a distribution mechanism it is hard to beat.

The spec kept pace. The pull request that moved the modelContext getter from Navigator to Document merged on 27 May, getTools() was specced in July, executeTool() and AbortSignal support followed in mid August, and on 12 August the repository gained an implementation-status page . As of this week that page lists Chrome (origin trial from Chrome 149), Edge (origin trial in Edge 150), Brave (experimental support in Leo) and, added on 26 August, ChatGPT Desktop. Firefox and Safari have open standards-position issues and no implementation.

SHOPIFY SWITCHED ON WEBMCP
5 Aug
CLOUDFLARE EDGE BRIDGE PREVIEW
6 Aug
OPENAI SITE TOOLS IN CHATGPT AND CODEX
25 Aug

My March post got the order wrong. Its timeline ran through the browsers: Chrome maybe enabling WebMCP by default late this year, Safari around the same time, Firefox in 2027. Nothing in it anticipated a platform with millions of storefronts and an agent vendor with hundreds of millions of users deciding that an origin trial was good enough. Neither of them needed the browsers to agree first.

What this changes for shoppers and shops

Strip the protocol away and the shopper's side is simple. Someone on ChatGPT Work or Codex opens your store in the desktop app and asks for "this jacket in a medium under 150 euros, in my basket". On a Shopify Liquid store the assistant searches the catalog, picks the variant and updates the basket through Shopify's tools, inside that shopper's own logged-in session, with their account and their existing basket. It can also answer questions from your shipping and returns policy, because search_shop_policies_and_faqs is one of the ten tools. Paying still ends in a confirmation prompt, because OpenAI treats purchases as consequential actions regardless of what the site declares.

For the shop, the gain is an assistant that completes the task instead of guessing its way through menus and filters, and that learns what your shop can do from short tool descriptions rather than from whatever it can parse off the homepage. That is a better experience for the customer and a more predictable one for you, since the tools only do what you exposed.

It also moves three things onto your watch list. The tool descriptions are what the assistant believes about your shop, so read them; on Shopify they were written by Shopify, and order management is among the tools switched on for you. Every tool runs in the customer's session with the customer's cookies, so a tool that skips a check your buttons enforce is a hole in your shop, whoever wrote it. And being callable does not bring the assistant to your door: it only finds your tools once it is on your page, which means search visibility and citations still decide who gets visited. Shops that are not on Shopify or Cloudflare get none of this yet, and to an assistant they remain a set of buttons to guess through while a competitor on a stock Shopify theme gets called directly.

The code you should write today

If you registered tools on navigator.modelContext after my March post, you are on the deprecated path. Chrome 150 deprecates the old location but keeps it as an alias, and OpenAI's browser exposes document.modelContext. OpenAI's documentation example fits in a dozen lines. Here it is in the same shape, with a real search tool filled in:

Registering a WebMCP tool in the shape OpenAI documents javascript
if (typeof document.modelContext?.registerTool === "function") {
  await document.modelContext.registerTool({
    name: "search_products",
    description: "Search the catalog by keyword. Returns up to 10 matches.",
    inputSchema: {
      type: "object",
      properties: {
        query: { type: "string", description: "Free-text search query" },
      },
      required: ["query"],
      additionalProperties: false,
    },
    annotations: { readOnlyHint: true },
    execute: async ({ query }) => {
      const res = await fetch(`/api/search?q=${encodeURIComponent(query)}`);
      return { results: await res.json() };
    },
  });
}

The feature check at the top is mandatory, because in every browser except a handful of trials document.modelContext is undefined and the call throws. The readOnlyHint annotation tells the agent the tool changes nothing, so it belongs only on tools where that is true; consequential actions go through confirmation regardless of what you annotate. Then there is execute, which runs with the user's cookies, in the user's tab, so it should call the same endpoints with the same authorization your buttons already use. WebMCP is a second front door to logic you already have, and it should never become a side entrance around it.

Shopify's adapter is a nice example of how careful production code looks. The inline loader checks typeof (document.modelContext || navigator?.modelContext)?.registerTool === "function" and only then fetches a 65 KB module from cdn.shopify.com/storefront/webmcp/webmcp-0.1.1.js. Browsers without WebMCP never download it. That is the right trade-off for a script that runs on millions of pages.

What the tools look like from the outside

Open the page source of a stock Shopify Liquid store, say tonyschocolonely.com, patta.nl or mudjeans.eu, or of learn.chatgpt.com itself. All of them register tools, and the HTML shows almost nothing of it. Shopify's loader from the previous section is the entire footprint: a feature check and a CDN URL, with the ten tool definitions arriving only after a capable browser passes the check. On learn.chatgpt.com the registration sits in a minified Astro module, the tenth of eleven script tags, written as document?.modelContext ?? navigator?.modelContext. Where Cloudflare's bridge is switched on, the tools are whatever the edge decides at runtime.

None of these sites publish a /.well-known/webmcp.json, because the spec still has no site-level discovery mechanism. Our scanner has recognised the Shopify adapter and the feature-detect pattern since this week, but that is fingerprinting deployments we already know, and it says nothing about a site we have not seen before.

Call it the invisible tool problem: WebMCP tools exist only inside a browser that already supports the API, after your scripts have run. Nothing outside that running page can see them, and that includes an agent that has never opened your site, which therefore cannot plan around your tools or decide to visit you because of them. Fingerprinting known adapters, which is what we do now, scales exactly as far as the list of adapters someone maintains by hand. The Model Context Tool Inspector extension can list the tools on the page you are looking at, and that is currently the state of the art in discovery.

This is why I think the Cloudflare approach deserves more credit than "generic tools" suggests. The tools it generates may be crude, but Cloudflare sits in front of the page before it loads and could, in principle, answer the discovery question at the edge. Whether they do that is a product decision I cannot predict. Whoever solves discovery will shape which sites agents choose to visit, and right now nobody has.

What this means for you

If you run a stock Shopify Liquid theme, you already have WebMCP. Open your store in the ChatGPT desktop browser (on ChatGPT Work or Codex) and click "Site tools" in the address bar to see what an agent sees. The tool descriptions Shopify wrote are what ChatGPT reads to decide whether to search your catalog. Cloudflare customers get something similar with one toggle in the developer preview, which is a cheap way to find out whether agents even try to use tools on your site before you spend engineering time on proper ones.

Everyone else can register two or three tools on document.modelContext, behind the feature check, as thin wrappers around endpoints you already trust. Search and "get details for X" are the obvious first candidates because they are read-only. Test in the ChatGPT desktop app, or in Chrome with chrome://flags/#enable-webmcp-testing and the Model Context Tool Inspector extension. Then treat every call as untrusted input, the way you would treat a form post from a browser you do not control, because that is what it is.

Nobody can promise you that WebMCP is the standard that sticks. The spec is still a Community Group draft that neither Firefox nor Safari has committed to. Its API surface also changed under early adopters once already this year. What August did settle is that agents from OpenAI will call these tools on real pages starting now, and that a large slice of e-commerce already answers. That part is on the vendors. What your tools say when an agent calls them is still on you.

Sources

Ready to check?

Scan your website

Get your AI agent readiness score with actionable recommendations across 5 categories.

  • Free instant scan with letter grade
  • 5 categories, 75 checkpoints
  • Code examples for every recommendation

Related articles

Continue reading about AI agent readiness and web optimization.

What Is agents.json? Advertising AI Agent Capabilities on Your Website
10 min read

What Is agents.json? Advertising AI Agent Capabilities on Your Website

agents.json is the emerging complement to robots.txt - a machine-readable file that tells AI agents what your website can do. We cover the Wildcard specification, compare it to A2A, MCP, and OpenAPI, and show you how to implement it step by step.

ai-agents web-standards agent-protocols
What Is MCP? The Model Context Protocol for AI Agents
10 min read

What Is MCP? The Model Context Protocol for AI Agents

Anthropic's Model Context Protocol (MCP) connects AI assistants to external tools and data. We cover the architecture, discovery via /.well-known/mcp.json, current adoption, and how to implement it.

ai-agents web-standards agent-protocols
What Is Google's A2A Protocol? Agent-to-Agent Communication Explained
10 min read

What Is Google's A2A Protocol? Agent-to-Agent Communication Explained

Google's Agent-to-Agent (A2A) protocol lets AI agents discover and work with each other. We cover the Agent Card, task lifecycle, A2A vs MCP, the partner ecosystem, and step-by-step implementation.

ai-agents web-standards agent-protocols

Explore more

Most websites score below average. Find out where you stand.

Rankings
SEE HOW OTHERS SCORE

Rankings

Browse AI readiness scores for scanned websites.
Compare
HEAD TO HEAD

Compare

Compare two websites side-by-side across all 5 weighted categories.
About
HOW WE MEASURE

About

Learn about our 5-category scoring methodology.