Agent-Readiness Grade

Agent-Readiness Grade / esrs.gov

F

esrs.gov

4/12 · 33% (scaled from 5 measurable areas)

Graded 2026-09-30 16:26 UTC in 0.3s · JSON · re-grade now

Top fixes

  1. Machine-readable surfaces (+2 points): Publish /llms.txt (a short Markdown guide to your key pages); /sitemap.xml; one agent surface: /openapi.json, /.well-known/agent-card.json, or /.well-known/x402 if you sell to agents. How to fix
  2. Structured data (+2 points): add a JSON-LD block (Organization or WebSite, plus Product, FAQPage or Article where relevant); add og:title and og:description so answer engines describe you accurately. How to fix
  3. MCP census entry (+2 points): Expose a Streamable HTTP MCP endpoint at /mcp (or a paid x402 route) so agents can call you, not just read you. How to fix

Ordered by points recoverable. Each area: 2/2 pass, 1/2 warn, 0/2 fail.

esrs.gov is graded F. The $49 AI Visibility Full Report turns the 2 failing checks above (machine-readable surfaces, structured data) into a prioritized, specific fix list for esrs.gov, and tests 8 real buyer questions across ChatGPT-class models to show what AI answers say about you today.

Get the full report — $49 Stripe checkout asks for your brand name and category; the report is ready about 60 seconds after payment. Legal notices and the MCP census entry are not in this report (free: Compliance Desk check, census claim).

Crawler access (robots.txt)

2/2 · pass

Robots.txt is an HTML page (treated as absent): every crawler is allowed by default

  • GET /robots.txt -> HTTP 200 after 1 redirect(s), HTML body
  • Unmentioned (allowed by default): GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot, Google-Extended, Amazonbot, CCBot, Bytespider

Fix: Optional: publish a robots.txt that names the AI crawlers you allow and points to your sitemap; without one your policy is implicit.

Machine-readable surfaces

0/2 · fail

None of the 7 machine-readable surfaces is published

  • /llms.txt: HTTP 200 but an HTML page (catch-all route, not a real file)
  • /sitemap.xml: HTTP 200 but an HTML page (catch-all route, not a real file)
  • /.well-known/x402: HTTP 200 but an HTML page (catch-all route, not a real file)
  • /.well-known/agent-card.json: HTTP 200 but an HTML page (catch-all route, not a real file)
  • /.well-known/mcp-registry-auth: HTTP 200 but an HTML page (catch-all route, not a real file)
  • /openapi.json: HTTP 200 but an HTML page (catch-all route, not a real file)
  • /ai.txt: HTTP 200 but an HTML page (catch-all route, not a real file)

Fix: Publish /llms.txt (a short Markdown guide to your key pages); /sitemap.xml; one agent surface: /openapi.json, /.well-known/agent-card.json, or /.well-known/x402 if you sell to agents.

Readable without JavaScript

1/2 · warn

Home page is partly JS-dependent

  • GET https://esrs.gov/ -> HTTP 200 after 1 redirect (final: https://sam.gov/esrs), text/html, 38 KB
  • 7,982 characters of visible text with scripts, styles and tags removed; <title>: "Subcontracting Plan Reporting in SAM.gov | SAM.gov"
  • 7 external scripts, 2 inline; <noscript> present
  • empty root container found (<app-root assetsurl="/modules/custom/samgov_header/assets/img/trademark-logo-sam): the page is assembled by JavaScript
  • first words: "Skip to main content Subcontracting Plan Reporting in SAM The Electronic Subcontracting Reporting System (eSRS.gov) retired in February 2026..."

Fix: Move the essentials (what you do, prices, contact, key pages) into server-rendered HTML instead of loading them with JavaScript.

Structured data

0/2 · fail

No JSON-LD, Open Graph incomplete

  • 0 JSON-LD blocks
  • Open Graph: no og:title; no og:description
  • meta description: absent

Fix: add a JSON-LD block (Organization or WebSite, plus Product, FAQPage or Article where relevant); add og:title and og:description so answer engines describe you accurately.

MCP census entry (index.agentexchange.work)

0/2 · fail

Not selling to agents: no census entry, no /mcp endpoint

  • census unavailable (refused index.agentexchange.work: hosts on agentexchange.work cannot be graded from inside the same Cloudflare zone; every check would time )
  • GET /mcp -> HTTP 200 HTML page (catch-all route, not an MCP endpoint)

Fix: Expose a Streamable HTTP MCP endpoint at /mcp (or a paid x402 route) so agents can call you, not just read you.

Share this result

Permanent link; it re-grades the site live when opened:

https://grade.agentexchange.work/grade?url=esrs.gov

Public profile with grade history and an embeddable badge: https://grade.agentexchange.work/site/esrs.gov (badge: https://grade.agentexchange.work/badge/esrs.gov.svg).

$49 AI Visibility Full Report

This grade is free and automated. The paid next step is the $49 AI Visibility Full Report (which brands a representative AI model, standing in for ChatGPT-class assistants, names when buyers ask about your category, with a prioritized fix list) from aivisibility.agentexchange.work, run for esrs.gov. It includes:

Get the Full Report — $49 Stripe checkout asks for your brand name and category; the report is ready about 60 seconds after payment. Legal notices and the MCP census entry are not in this report (free: Compliance Desk check, census claim).

Grade another site