# Make this website agent-ready

You are improving a website so AI agents can discover, understand, use, and pay for it.
AgentReady (https://agentready-rho.vercel.app) scores agent readiness 0–100. Work through the sections below;
each maps to a scored check. After deploying fixes, verify with the API call at the end.

## 1. Can an agent discover and trust you?

### Sitemap present & fresh (`discovery.sitemap` — 4 pts)

Publish /sitemap.xml, reference it from robots.txt, and include <lastmod> dates so agents can tell what's current.

Spec: https://www.sitemaps.org/protocol.html

### Brand search discoverability (`discovery.brand-search` — 4 pts)

Strengthen brand pages, structured data, and third-party citations (docs portals, GitHub, directories) so search-grounded agents surface your domain.

### MCP registry listings (`discovery.mcp-registries` — 4 pts)

Publish your MCP server to the official MCP registry (registry.modelcontextprotocol.io) plus Smithery, Glama, and PulseMCP.

Spec: https://registry.modelcontextprotocol.io

## 2. Do you welcome agents?

### robots.txt present & parseable (`access.robots-txt` — 2 pts)

Serve a valid /robots.txt; without one, agent crawlers guess your policy.

Spec: https://www.rfc-editor.org/rfc/rfc9309

### AI crawler policy (`access.ai-crawlers` — 5 pts)

Add explicit User-agent groups allowing the AI agents you welcome; a blanket Disallow makes you invisible to them.

### Content Signals directives (`access.content-signals` — unscored, forward-looking)

Declare Content Signals in robots.txt (e.g. `Content-Signal: search=yes, ai-train=no`) to express AI usage preferences machine-readably.

Spec: https://contentsignals.org

### Agent user-agent parity (`access.agent-ua-parity` — 4 pts, beta)

Ensure your WAF/bot protection allowlists verified AI crawlers instead of UA-gating them into challenges.

### agents.md (`usability.agents-md` — 3 pts)

Add /agents.md: what agents may do on your site, key URLs, auth, rate limits, and who to contact.

Spec: https://agents.md

## 3. Does an agent understand who you are and what you do?

### Homepage states what you are (`discovery.homepage-clarity` — 3 pts)

Add a literal one-sentence description of what your product does near the top of your homepage.

### OpenGraph / social metadata (`discovery.opengraph` — 2 pts)

Add og:title, og:description, and og:image meta tags; agents and link unfurlers use them as your canonical summary.

Spec: https://ogp.me

### llms.txt (`access.llms-txt` — 4 pts)

Add /llms.txt: an H1 with your name, a one-line blockquote summary, and sections of curated links to docs, pricing, and API.

Spec: https://llmstxt.org

### llms-full.txt (`access.llms-full` — 2 pts, bonus)

Add /llms-full.txt with expanded inline docs content so agents can load everything in one fetch.

Spec: https://llmstxt.org

### JSON-LD structured data (`access.json-ld` — 4 pts)

Embed Organization + WebSite JSON-LD on your homepage (name, url, logo, sameAs) and Product/Offer JSON-LD on pricing.

Spec: https://schema.org

### Markdown content negotiation (`access.markdown-negotiation` — 3 pts)

Serve text/markdown when clients send Accept: text/markdown (or expose .md twins of key pages) — agents get far more signal per token.

## 4. Can an agent integrate with you?

### Developer resource discoverability (`discovery.dev-search` — 3 pts)

Create a crawlable /docs or developers.{domain} hub and link it from your homepage so agents searching for your API find it.

### OpenAPI spec discoverable (`usability.openapi-discovery` — 5 pts)

Publish your OpenAPI spec at /openapi.json and link it from docs — it's the single highest-leverage artifact for agent integration.

Spec: https://spec.openapis.org/oas/latest.html

### Docs discoverable (`usability.docs-discovery` — 4 pts)

Expose public docs at /docs or docs.{domain} and link them from your homepage nav.

### MCP server discovery (`usability.mcp-discovery` — 5 pts)

Publish /.well-known/mcp/server-card.json describing your MCP endpoint so agents can autodiscover it.

Spec: https://modelcontextprotocol.io

### npm SDK (`usability.sdk-npm` — 2 pts)

Publish an official npm SDK with your domain in package.json homepage so agents can verify it's official.

### PyPI SDK (`usability.sdk-pypi` — 2 pts)

Publish an official Python SDK with your domain in the project URLs so agents can verify it's official.

## 5. Is your integration well-built?

### OpenAPI validity & quality (`usability.openapi-quality` — 3 pts)

Agents generate calls directly from your spec — operation descriptions and securitySchemes are load-bearing; fill them in.

### Docs quality (`usability.docs-quality` — 3 pts)

Make docs self-contained with runnable examples: agents follow them literally and stall on gaps humans skim past.

### Quickstart / getting started (`usability.quickstart` — 2 pts)

Add a copy-pasteable quickstart (auth → first API call) — agents follow it literally.

### MCP tool quality (`usability.mcp-tool-quality` — 3 pts)

Give every MCP tool a real description and a typed input schema — agents choose tools by description text alone.

## 6. Can an agent use you reliably in production?

### TLS & redirect hygiene (`access.tls-redirects` — 2 pts)

Redirect http→https in one hop and keep redirect chains short; each hop costs agent latency and some clients give up.

### Response speed & weight (`access.response-hygiene` — 1 pts)

Enable compression and trim your homepage payload — agents run on strict timeouts.

### security.txt (`usability.security-txt` — 1 pts)

Publish RFC 9116 /.well-known/security.txt with a Contact and a future Expires.

Spec: https://www.rfc-editor.org/rfc/rfc9116

## 7. Can an agent authenticate to you?

### OAuth authorization server metadata (`usability.oauth-as-metadata` — 3 pts)

Serve RFC 8414 metadata with PKCE (S256) and a registration_endpoint so agents can self-onboard.

Spec: https://www.rfc-editor.org/rfc/rfc8414

### OAuth protected resource metadata (`usability.oauth-pr-metadata` — 2 pts)

Serve RFC 9728 protected-resource metadata naming your authorization servers so agents can discover how to authenticate.

Spec: https://www.rfc-editor.org/rfc/rfc9728

### Auth documentation (`usability.auth-docs` — 2 pts)

Document auth end-to-end (key creation → header format → example call), or ship /auth.md.

## 8. Can an agent transact with you?

### Pricing discoverable (`payments.pricing-page` — 5 pts)

Expose a crawlable /pricing page with literal numbers; 'Contact sales'-only means agents can't complete a purchase evaluation.

### Machine-readable pricing (`payments.pricing-machine` — 5 pts)

Add Offer JSON-LD per plan (name, price, priceCurrency, billing period) so pricing parses without inference.

Spec: https://schema.org/Offer

### x402 payment support (`payments.x402` — 2 pts, bonus)

Support x402 (HTTP 402 + payment requirements payload) to let agents pay per-call without accounts.

Spec: https://www.x402.org

### AP2 readiness (`payments.ap2` — unscored, forward-looking)

Adopt AP2 to accept delegated agent payments.

Spec: https://ap2-protocol.org

### Agentic Commerce Protocol (`payments.acp` — unscored, forward-looking)

Adopt the Agentic Commerce Protocol so agent checkouts can complete against your store.

Spec: https://developers.openai.com/commerce

### Other agent payment protocols (`payments.ucp` — unscored, forward-looking)

Track emerging agent payment protocols (UCP, MPP) and adopt the ones your buyers' agents use.

## 9. Can a user act through an agent?

### Agent skill published (`discovery.skills-listing` — unscored, forward-looking)

Publish a /skill.md playbook agents can paste into their context to integrate with you.

### MCP handshake & tools list (`usability.mcp-handshake` — 4 pts)

Support streamable HTTP with protocol version negotiation; if auth-gated, return RFC 9728 metadata in WWW-Authenticate.

Spec: https://modelcontextprotocol.io/specification

### Agent configs in public repo (`usability.agent-configs` — unscored, forward-looking)

Add AGENTS.md or .claude config to your main repo so coding agents onboard instantly.

## 10. Can an agent operate your website directly?

### NLWeb endpoint (`discovery.nlweb` — unscored, forward-looking)

Consider exposing an NLWeb /ask endpoint for conversational access to your content.

Spec: https://github.com/nlweb-ai/NLWeb

### Semantic HTML structure (`access.semantic-html` — 3 pts)

Use landmark elements (main/nav/header/footer) and a clean heading hierarchy; agents parse structure, not pixels.

### Content readable without JavaScript (`access.no-js-wall` — 2 pts)

Server-render or prerender key pages — most agent fetchers don't execute JavaScript, so an empty JS shell is invisible to them.

### Accessibility basics (`usability.accessibility` — 2 pts)

Fix basic accessibility (lang, alt text, labeled inputs, landmarks) — the accessibility tree is what browser-operating agents see.

### WebMCP (`usability.webmcp` — unscored, forward-looking)

Consider WebMCP to expose page actions as tools to browser agents.

Spec: https://github.com/webmachinelearning/webmcp

## Verify your fixes

Re-run exactly the checks you fixed (always live, never cached):

```
curl -X POST https://agentready-rho.vercel.app/api/scan/checks \
  -H 'content-type: application/json' \
  -d '{"url": "YOURDOMAIN", "checkIds": ["access.llms-txt", "discovery.sitemap"]}'
```

Then get the full score: `curl -X POST https://agentready-rho.vercel.app/api/scan -H 'content-type: application/json' -d '{"url": "YOURDOMAIN", "force": true}'`
