Native WebMCP on a live MCP registry AgentShare added native WebMCP support to its live MCP registry at agentshare.dev/registry, registering a single read-only search_listings tool whenever Chrome exposes document.modelContext, while keeping the same directory reachable by non-browser agents through remote MCP at agentshare.dev/mcp. The tool is clamped to 1–5 results, returns schema agentshare.catalog.v1 with a server-generated catalog_as_of timestamp, and is dropped on pagehide when the tab closes; the company's Agent Readiness 0.6.0 extension also detects native tools on the active tab and flags missing untrustedContentHint as a warning. https://agentshare.dev/registry registers one native WebMCP tool, search listings , when Chrome exposes document.modelContext . The same directory stays available to agents that never open a browser, through remote MCP at https://agentshare.dev/mcp . WebMCP is the browser API. A page calls document.modelContext.registerTool . An agent in that Chrome tab calls the tool and gets JSON back. The tool lives only while the tab is open. Closing the tab drops it. | | Remote MCP | Native WebMCP | |---|---|---| | Where | https://agentshare.dev/mcp | https://agentshare.dev/registry , tab open | | Call style | Streamable HTTP. API key or x402 | document.modelContext in Chrome | | Lifetime | The server stays up | Ends when the tab closes | | Payload | The MCP tool list, including paid Objective Trust | search listings only. Public fields. At most 5 matches | Remote MCP is the path for an agent that is not sitting on the page. WebMCP is the path for an agent that already has the registry tab open in Chrome and can call getTools / executeTool . The script is https://agentshare.dev/static/js/webmcp-registry.js . It returns immediately when document.modelContext.registerTool is missing. It does not install a polyfill. The tool is read-only. readOnlyHint is true. untrustedContentHint is true because listing descriptions are written by the people who submitted them. The hint tells the agent to treat that text as data. execute calls GET /api/v1/registry/entries on the same origin. limit is clamped to 1–5. sort is new or popular . Featured rows still sort first. Featured does not change health status and is not a trust rank. The page aborts the registration on pagehide . Every successful call returns schema set to agentshare.catalog.v1 . { "schema": "agentshare.catalog.v1", "catalog as of": "2026-10-30T03:15:00Z", "listed": 147, "sort": "featured then newest", "sort note": "Featured listings sort first. Featured does not change health status and is not a trust rank.", "returned": 1, "matches": { "id": 0, "name": "Example listing", "description excerpt": "Short public description, clipped to 160 characters.", "health status": "responding", "reviewed": true, "category": "agent tools", "opens": 0, "featured": false, "mcp url": "https://example.com/mcp" } , "next": "For a rank that ignores featured and sponsored, call Objective Trust at https://agentshare.dev/mcp/objective-trust" } catalog as of and listed in that sample are the shape, not a frozen snapshot. On a live call, catalog as of is generated at from that entries response: the server clock when the catalog was built for the tool call. It is not Date.now in the browser. listed is total listed on the same response, the count of publicly listed MCPs at that moment. reviewed: true means the row status is verified . health status is the stored probe label, such as responding , needs sign in , unreachable , not remote , or unknown . description excerpt is clipped. The Objective Trust score is not in this object. The next field points at the paid ranker, which ignores featured and sponsored. A model that quotes this payload can cite three stable facts: the schema name agentshare.catalog.v1 , the page https://agentshare.dev/registry , and a server timestamp for that response. AgentShare Agent Readiness https://chromewebstore.google.com/detail/agentshare-agent-readiness/nimndnhajfkicbnipbfdkmgencjejjed 0.6.0 reads native document.modelContext on the active tab when you open the popup. It lists each tool name and whether the tool is read-only, consequential, or marked untrusted content. The score gains 4 points when the tab has at least one native tool. No native API means no point change. A missing untrustedContentHint is a warning, not a penalty. A polyfill that only sets document.modelContext inside the page is invisible to the extension. The reference score for agentshare.dev stays 92. The scan stays in the browser. Tool names are not uploaded.