WebMCP is live on nader.io
26-09-03
nader.io now speaks WebMCP.
WebMCP is a browser API that lets a page hand an agent a set of callable tools. Instead of screenshotting the DOM and guessing which link to click, an agent running in the browser asks the page what it can do, and the page answers with names, descriptions and typed arguments. It is the difference between being scraped and being called.
Eight tools are registered on every page here:
search_sitefor posts, projects, art and pages, rankedlist_postsandget_postfor the writing, the second returning the full markdownlist_projectsandlist_artfor everything in the playgroundget_current_pagefor whatever is on screen right nownavigatefor moving to another page on the siteget_contact_optionsfor the booking link and the socials
Seeing it work
Open nader.io in Chrome 149 or later, or Edge 150 or later, and type this into the console:
await document.modelContext.getTools();
You get an array of eight tool definitions. Then run one:
const tools = await document.modelContext.getTools();
await document.modelContext.executeTool(
tools.find((t) => t.name === 'search_site'),
{ query: 'bitcoin', limit: 3 }
);
Back comes JSON with titles, URLs, dates and summaries. No parsing, no selectors, nothing that breaks the next time I move a div.
An agent asked “what has Nader written about the Coldcard hack, and what was the conclusion” does the same thing in two steps. search_site with the query, then get_post on the slug it gets back, which returns the post as markdown. That is the whole interaction. It never renders the page.
The tools that return prose are marked with untrustedContentHint, so a well-behaved agent treats my writing as text to read rather than instructions to follow. navigate is the only one that changes anything, and it refuses any URL that is not on this site.
The whole thing is static. The tool catalogue and every post are plain JSON files generated at build time, sitting at /webmcp/manifest.json. Nothing runs on a server.
Where to read more
Chrome and Edge are running an origin trial, and ChatGPT’s browser supports it too. OpenAI’s guide is the clearest introduction I have found: https://learn.chatgpt.com/docs/webmcp
Thanks to Amit Shrivastava for putting WebMCP on my radar in the first place.