--- spec: two-tier/2.0.0 schemaVersion: "https://mahoneycontextprotocol.com/specs/two-tier/v2" date_modified: "2026-06-11" facts: name: Is It Agent Ready? email: "joe@joemahoney.io" portfolio: "https://mahoneycontextprotocol.com" description: Scores any website for AI-agent readiness on a 100-point navigability scale with a public leaderboard and remediation playbook intake: Static site with client-side JSON tools (scan_site, get_leaderboard); optional live backend when SCANNER_ENDPOINT is configured --- # Is It Agent Ready? Scores any website for AI-agent readiness on a 100-point navigability scale. Live scanner, public leaderboard, and a remediation playbook. By MahoneyContextProtocol. ## The web is being rebuilt for agents. Most sites are invisible to them. {#hero} Point our scanner at any URL. Get a 100-point agent-navigability score, a per-check breakdown, and exactly what to ship to fix it. Then see where you land on the public leaderboard. **Current stats** (from `/data/leaderboard.json`): - Sites scanned: 54 - Average score: 33/100 - Agent-ready (≥70): 1 - Forfeited agent-channel opportunity: $22.4M ## Three layers, one verdict {#layers} Agent-ready isn't one thing. A site has to be legible to machines, operable by agents, and still excellent for humans. The scanner checks all three. | Layer | Focus | What it checks | |---|---|---| | Machine-legible | The rubric | robots content-signals, llms.txt, JSON-LD, API catalog, OAuth discovery, MCP cards — the standards agents actually read | | Agent-operable | The pull model | Agent Skills, A2A cards, WebMCP tools, signed-bot auth — surfaces that let an agent *do* something, not just read | | Human craft | Still a site | The score rewards navigability and coherence: cross-references that resolve, handshakes that complete, digests that match | ## The leaderboard is the product {#leaderboard-preview} Seeded with an empirical 53-site benchmark of major platforms — none of them ready. One engine-built site holds the only live agent-ready row. Live scans write new rows. **Top 6** (from `/data/leaderboard.json`): 1. landscapingnear.me — 81 (Agent-Ready, live scan) 2. doit.com — 58 (Partial, benchmark) 3. monday.com — 58 (Partial, benchmark) 4. asana.com — 53 (Partial, benchmark) 5. cohere.com — 53 (Partial, benchmark) 6. freshworks.com — 53 (Partial, benchmark) Full leaderboard: [/leaderboard](/leaderboard) ## How it works The scanner runs a 100-point agent-navigability probe: - **Surface coverage (40 pts)**: robots.txt, llms.txt, JSON-LD, MCP card, A2A card, API catalog, agent skills, WebMCP, OAuth discovery, security.txt, humans.txt - **Edge resolution (30 pts)**: cross-references between surfaces resolve, digests verify, anchors land on stable ids - **Handshake depth (20 pts)**: OAuth flows complete, MCP tools validate as JSON Schema, A2A skills have input+output schemas - **Coherence (10 pts)**: facts byte-identical across JSON-LD + agent YAML + markdown twin frontmatter Every scan issues a sha256 provenance receipt that re-verifies at output time. ## Agent tools {#tools} Invokable via WebMCP (`navigator.modelContext`, registered by `/webmcp-init.js`) and listed as A2A skills in `/.well-known/agent.json`: - `scan_site({ url })` — Score a URL for AI-agent readiness (0-100) with a per-check breakdown, remediation guidance, and a sha256 provenance receipt. Static-fallback: reads `/data/proof.json` for baked scan results when no live backend is configured; optionally calls `SCANNER_ENDPOINT` if available. Returns `{domain, score, verdict, checks, remediation, receipt}`. - `get_leaderboard()` — Return the public agent-readiness leaderboard with stats, ranked rows, and the field's most common failures. Static-fallback: reads `/data/leaderboard.json`. Returns `{stats, rows, common_failures, generated_at}`. ## Agent surfaces {#surfaces} - llms.txt: /llms.txt - A2A card: /.well-known/agent-card.json - Agent card: /.well-known/agent.json - MCP card: /.well-known/mcp/server-card.json - API catalog: /.well-known/api-catalog - Agent skills: /.well-known/agent-skills/index.json - OpenAPI: /openapi.json - WebMCP: /webmcp-init.js - JSON-LD: in-page application/ld+json - Operating manual: /operate.txt (if present) - HTML page: https://itisagentready.com/ (human layer with HUMAN/AGENT toggle) - Markdown twin: /index.html.md (this file) Conformance: two-tier/2.0.0, conneg: static-fallback (static host; this twin plus llms.txt is the declared reader-surface delivery — the host additionally attempts header negotiation of this twin where Apache rewrite is honored). ## Contact - Email: joe@joemahoney.io (`mailto:joe@joemahoney.io`) - Part of the MahoneyContextProtocol portfolio: https://mahoneycontextprotocol.com - Scanner engine: 100-point agent-navigability probe (open-source reference implementation) ## The scoring model Surface coverage (40) + edge resolution (30) + handshake depth (20) + coherence (10). A high score means an agent can land on the homepage, discover every surface via Link headers, follow each cross-reference until it resolves, and have digests/anchors cross-validate. The engine is the agent-readiness navigability probe. ## Note itisagentready.com (IT-IS) is the MahoneyContextProtocol product. Not affiliated with any similarly named third-party scanner.