This site speaks WebMCP

If you browse with an AI agent, this website hands it real tools — no scraping, no guessing. That is WebMCP, and it is live on this page right now.

What is WebMCP?

WebMCP is a draft web standard (W3C Web Machine Learning Community Group) that lets a page register typed tools — a name, a description, a JSON schema, and a function — with the browser via document.modelContext. An agent in your browser (a built-in assistant or an extension) discovers and calls them the same way MCP clients call MCP servers.

Tools this site registers

Try it right now — on any device

Most browsers cannot speak WebMCP yet (Safari and every iPhone browser among them), so this page carries a simulator: the buttons below execute the very same tool code this site registers for agents, and show exactly what an agent would receive. Everything runs in your browser; nothing is sent anywhere.

// Tap a tool above to see what an agent gets.

Who can call these tools today?

As of August 2026, WebMCP lives in Chromium:

The API surface is still settling, too: early builds exposed navigator.modelContext, current Chrome uses document.modelContext — this site supports both.

Try it with a real agent

Visit this page (or the homepage) in a WebMCP-capable browser and the tools above are already registered. Then just ask, for example: “What is DevPartners building?” Your agent can answer by calling get_products:

{
  "products": {
    "status": "A couple of products are in the works - not yet
               publicly named or launched. Stay tuned.",
    "follow": "Announcements will appear at https://devpartners.com
               and on X (@devpartnershq)."
  },
  "credentials": [
    "Two CISSP holders on the team",
    "Building on Microsoft Azure"
  ]
}

Or try “Draft an email to DevPartners about early access”draft_inquiry_email returns the draft and a mailto: link; sending stays entirely up to you.

Under the hood

Registration is a few lines per tool in webmcp.js — a small, build-free file you can view directly:

document.modelContext.registerTool({
   name: 'get_products',
   title: 'What we are building',
   description: 'Use this to find out what DevPartners is
      building or selling. ...',
   inputSchema: { type: 'object', properties: {} },
   annotations: { readOnlyHint: true },
   async execute() {
      return { content: [{ type: 'text', text: /* JSON above */ }] };
   }
});

The script feature-detects and no-ops in browsers without WebMCP, so human visitors never notice it. Not browsing at all? Agents fetching over plain HTTP get the same story from llms.txt.