mcp-handler now has experimental support for WebMCP, the proposed web standard for exposing tools to in-browser agents. Add a single script tag to your site, and your existing MCP tools become available there too.
Opt tools in by adding them to the experimental_webMcp object:
import { createMcpHandler } from "mcp-handler";
const handler = createMcpHandler(
server.registerTool("roll_dice", /* ... */);
export { handler as GET, handler as POST };
Then load the script from your MCP endpoint with the ?webmcp-script parameter:
<script src="/api/mcp?webmcp-script"></script>
The script registers those tools with the page and proxies each call back to your MCP server as the signed-in user, so authenticated tools work without a browser-side OAuth flow.
Upgrade to [email protected] and read the documentation to get started.