{"slug": "webmcp-making-your-website-callable-not-just-crawlable", "title": "WebMCP: Making Your Website Callable, Not Just Crawlable", "summary": "WebMCP is a new standard that extends the Model Context Protocol to the open web, allowing websites to expose callable actions for AI agents via a discovery document at `/.well-known/webmcp`. This enables agents to perform tasks like booking appointments or placing orders through a stable, typed interface rather than brittle scraping. The approach is still emerging but positions sites for the agentic web.", "body_md": "*Part of the Agent Readiness course. Measure any page with the Core Agent Vitals analyzer. This is the most emerging standard in the course — a look at where the agentic web is heading.*\n\n## What it is\n\nThe [Model Context Protocol](https://modelcontextprotocol.io) (MCP) is a standard way for agents to discover and call tools: an agent connects to an MCP server, asks \"what can you do?\", gets back a typed list of tools, and invokes them uniformly. **WebMCP** brings that to the open web — you expose an MCP-style endpoint (commonly at `/.well-known/webmcp`\n\nor `/webmcp.json`\n\n) that advertises your site's actions as callable tools.\n\n## Why agents need it\n\nEverything earlier in this course makes your site **readable** — an agent can find and understand your content. WebMCP makes it **operable** — the agent can *act*: book the appointment, run the search, place the order, query the data, through a defined interface instead of by driving your UI or scraping your DOM.\n\nScraping is brittle: it breaks when your markup changes, it can't handle multi-step flows reliably, and it can't authenticate cleanly. A WebMCP endpoint gives the agent a stable, typed contract — discover the tools at runtime, call them with validated arguments, get structured results. That's the difference between an agent that *guesses* how to use your site and one that *operates* it correctly.\n\nThis is early and moving fast. Don't build it before the foundations are in place — but understanding it now is how you stay ahead of the agentic web.\n\n## How to implement\n\nExpose a discovery document that lists your tools; back each with an operation you already have (often an OpenAPI endpoint):\n\n```\n{\n  \"webmcp\": \"0.1\",\n  \"name\": \"Acme\",\n  \"tools\": [\n    {\n      \"name\": \"search_products\",\n      \"description\": \"Search the catalog by keyword.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": { \"query\": { \"type\": \"string\" } },\n        \"required\": [\"query\"]\n      },\n      \"endpoint\": \"https://api.acme.com/products/search\"\n    }\n  ]\n}\n```\n\nServe it at `/.well-known/webmcp`\n\n, keep the `inputSchema`\n\nstrict (so agents send valid arguments), and enforce auth + rate limits on the underlying endpoints — you're now accepting agent-initiated actions.\n\n## Validate\n\n```\ncurl -s https://your-site.com/.well-known/webmcp | head\n```\n\nConfirm valid JSON with a `tools`\n\narray and real input schemas. The [Core Agent Vitals analyzer](https://agentvitals.dev/analyze) checks `/.well-known/webmcp`\n\n, `/webmcp.json`\n\n, and `/.well-known/mcp`\n\n, and marks the endpoint present — scored as emerging/optional.\n\n## Common mistakes\n\n**Exposing actions without guardrails.** A callable`delete_account`\n\ntool with weak auth is a liability, not a feature. Gate irreversible actions hard.**Loose input schemas.**`\"type\": \"object\"`\n\nwith no properties invites malformed calls. Constrain inputs so the agent can only send valid arguments.**Building it first.** WebMCP on a site with no llms.txt, no structured data, and a blocked robots.txt is a roof with no walls. Do the foundations first.**No rate limiting.** Agent traffic is programmatic and bursty. Protect the endpoints behind your tools.\n\n*That's the course. You now have the full agent-readiness stack — from \"can an agent read this?\" (robots, sitemap, JSON-LD, llms.txt) to \"can an agent use this?\" (OpenAPI, agents.json, WebMCP). Run your site through the Core Agent Vitals analyzer to see where you stand on every one.*", "url": "https://wpnews.pro/news/webmcp-making-your-website-callable-not-just-crawlable", "canonical_source": "https://blog.r-lopes.com/posts/agent-readiness-webmcp", "published_at": "2026-07-02 14:00:00+00:00", "updated_at": "2026-07-03 21:15:49.991886+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-infrastructure", "large-language-models", "developer-tools"], "entities": ["Model Context Protocol", "WebMCP", "Core Agent Vitals analyzer", "OpenAPI", "Acme"], "alternates": {"html": "https://wpnews.pro/news/webmcp-making-your-website-callable-not-just-crawlable", "markdown": "https://wpnews.pro/news/webmcp-making-your-website-callable-not-just-crawlable.md", "text": "https://wpnews.pro/news/webmcp-making-your-website-callable-not-just-crawlable.txt", "jsonld": "https://wpnews.pro/news/webmcp-making-your-website-callable-not-just-crawlable.jsonld"}}