AI-ready sites
What is an AI-ready site?
An AI-ready site is one an AI assistant can find, understand and use directly, by calling the site’s own tools instead of scraping its pages.
Every site built here ships the machine-readable parts by default: a description of itself at /llms.txt, a crawler policy that lets answer engines in, and structured data on every page. Agent access is the layer on top of that. It turns the site into a Model Context Protocol server, so an assistant working for a visitor can search, read, book or enquire through tools the site publishes.
This site, right now
https://showcase.q-code.ai/mcp
Agent access is switched on here, so this page is describing a server you can actually connect to, right now.
- get_site_inforead
- get_faqsread
- submit_enquirywrite
- list_enquiriesowner only
The standard
What an MCP server is, in plain terms.
A standard way for an AI assistant such as Claude or ChatGPT to call a site’s tools instead of scraping its pages.
Scraping is guesswork. The assistant fetches your HTML, tries to work out which numbers are prices and which paragraph is the opening hours, and gets it wrong in ways nobody sees until a customer is told something untrue.
The Model Context Protocolreplaces the guess with a conversation. The assistant asks the server what it can do, the server answers with a list of tools and the exact shape of their inputs, and the assistant calls the one it needs. Your site answers with data it already holds, rather than with a page somebody has to interpret.
Here that server is part of the site. It lives at /mcp, it speaks Streamable HTTP, and it is stateless: one request carries one message and gets one answer, so there is no session to expire and nothing to leave half open.
Connect
This site is itself an MCP server.
Any assistant that speaks MCP over HTTP can connect to it, and the public tools need no account and no key. Add it to Claude from the command line:
claude mcp add --transport http showcase https://showcase.q-code.ai/mcpOr write the same thing into an mcpServers block:
{
"mcpServers": {
"showcase": {
"type": "http",
"url": "https://showcase.q-code.ai/mcp"
}
}
}ChatGPT takes the same URL as a custom connector, with no authentication. Nothing here is a secret: the tools return what a visitor can already see, and the two that need the owner’s token say so and refuse without it.
Tools
The tools follow the modules.
A site offers exactly the tools its installed modules give it. There is no registry to maintain and nothing to remember: install booking and the next build exposes the booking tools; remove it and they are gone.
| Module | Tools | What they do |
|---|---|---|
| Every site | get_site_info | What the site is, who publishes it, its key pages, and which tools it offers. |
| Catalogue | search_listings, get_listing | Search the catalogue and read one item in full, with its price, attributes and page URL. |
| Booking | list_services, get_availability, book_slot | What can be booked, which times are free on a given day, and the booking itself. |
| FAQ | get_faqs | The published questions and answers, optionally filtered. |
| Blog | list_posts, get_post | Published posts newest first, and one post in full as Markdown. |
| Testimonials | get_reviews | Approved reviews, the owner’s public replies, and the average rating. |
| Contact form | submit_enquiry | A message to the owner’s inbox, sent on a named person’s behalf. |
| Owner only | list_enquiries, list_bookings | The inbox and the upcoming bookings. Both refuse without the owner’s token. |
On a site with everything installed that is 13 tools. This site has 3 public ones and 1 for the owner, because it has no catalogue, booking or blog module installed. That is the point rather than an omission: the tool list is a description of what the site actually does, so an assistant is never offered a door that leads nowhere.
get_site_info
What this site is, who publishes it, its key pages, and which tools it offers. Call this first.
get_faqs
The site's published questions and answers. Optionally filtered by words in the question or answer.
submit_enquiry
Send the site owner a message on a named person's behalf, with their email address for the reply. The person must have agreed to be contacted. Lands in the owner's inbox marked as sent through an agent.
list_enquiries
OWNER ONLY (needs the owner's token): the most recent messages in the site's inbox.
Limits
What an agent is allowed to do.
The tools are deliberately narrow. Reads show what a visitor sees, writes need a person behind them, and the whole surface is off until somebody turns it on.
Reads show public data only
Every read goes through the same public content route the site’s own pages fetch. Approved rows, published items, no drafts, no private tables, no query an agent composed itself.
Writes need consent
book_slot and submit_enquiry refuse unless the caller passes consent, they are rate-limited per email address at five an hour, and what they create is marked as having come through an agent.
Off by default
One switch in the Agent access panel turns the whole surface on, and it is the same switch that turns on agent-readiness scoring. Until then there is no /mcp and no card to find.
Discovery
How an agent finds any of this.
A server nobody can discover is a server nobody calls. While agent access is on, the site also publishes the cards the various discovery standards look for.
- /.well-known/mcp/server-card.json
- The MCP server card: where the endpoint is, what transport it speaks, and which tools it lists.
- /.well-known/agent-card.json
- An A2A agent card, for agents that discover each other through the Agent2Agent protocol rather than through MCP.
- /.well-known/api-catalog
- An RFC 9727 linkset naming the API, its OpenAPI description at /agent-api/openapi.json, and its status endpoint.
- /.well-known/ai-catalog.json
- An ARD manifest: the same capabilities as a catalogue an agent registry can index.
- /.well-known/agent-skills/
- A skills index and a generated SKILL.md, which is the site’s tools written as instructions an agent can follow.
- In the browser
- The same tools registered through WebMCP, so an agent running inside the page can call them without a network round trip to discover them.
The cards are generated from the same tool registry the server answers from, so they cannot describe a tool the site does not have. If you want the specifications themselves, the relevant ones are the Model Context Protocol, the A2A protocol and RFC 9727, which defines the API catalog.
Agent readiness
What it does to the score.
Agent readiness is one of the lenses in the visibility report, and unlike the others it is fetched rather than computed: it comes from a public agent-readiness scan of the published site. Turning agent access on is what makes the agentic checks count. Before that they are shown as opportunities rather than failures, because marking a brochure site down for not publishing an API catalogue would be scoring it against somebody else’s ambitions.
With it on, the site passes the MCP, A2A, API catalog, ARD, skills and WebMCP checks, and each of those is a check the scanner can see.
The last public scan of this showcase, on 6 September 2026, rated itLevel 3 of 5, agent-readable. It passed robots.txt, the sitemap, explicit AI crawler rules, Content Signals, Markdown for Agents, and DNS-AID discovery records validated with DNSSEC. It failed the Link response headers, which the build now writes, and the nine API, auth, MCP and A2A discovery checks, because agent access had not been published at the time. Agent access is on now, so those cards go out at the next publish and the scan is run again afterwards.
Where a module alone cannot reach
For most sites, the top tier of that scan needs things that live in the zone rather than in the site, and it is worth saying so plainly:
Markdown for Agents
A Cloudflare zone setting, available on the Pro plan and above. It serves a Markdown version of a page to agents that ask for one. Switched on here.
DNS-based agent discovery
Discovery records published in DNS, which needs DNSSEC on the zone that serves them. Switched on here.
OAuth discovery
Only meaningful for a site that has an authorisation server to point at. Most do not.
A site built here can pass every check a module delivers and still be labelled a middle level by the scanner, because the last tier sits with the zone rather than the site. That is a real ceiling for most projects, not a scoring quirk, and the report says which of the remaining items are yours to switch on and which are not worth it for the site you have. This showcase holds the zone settings that the last two rungs need, so what remains for it is the scan catching up with a publish.
Q&A
Questions about agent access
What is the Model Context Protocol?
MCP is an open standard for describing tools an AI assistant can call. The assistant asks the server what it offers, the server answers with a list of tools and the shape of their inputs, and the assistant calls the ones it needs. It is the difference between an assistant reading your pages and guessing, and asking your site a question and getting data back.
Is agent access on by default?
No. It is off until you switch it on in the Agent access panel, and while it is off the site publishes nothing: no /mcp, no discovery cards, no tools registered in the browser. The switch takes effect on the next build and publish rather than instantly, because the endpoints are compiled with the setting baked in.
Can an agent see anything a visitor cannot?
No. Every read goes through the same public content route the site’s own pages use, so it returns approved rows and published items only, with no drafts and no private tables. The two owner tools are the exception and they refuse to answer without the owner’s token, which is the same sign-in that opens the admin area and expires with it.
What stops an agent spamming the contact form?
Three things. A write only runs if the caller passes consent, meaning the person actually asked for it. Writes are rate-limited per email address, at five an hour. And everything created this way is marked as having come through an agent, so the owner can see what was human and what was not.
Which assistants can connect to it?
Anything that speaks MCP over HTTP. Claude takes the URL from the command line or from an mcpServers block in its configuration, and ChatGPT takes the same URL as a custom connector with no authentication. The transport is stateless, so there is no session to keep alive and nothing to resume.
Does this replace SEO?
No, it sits on top of it. A site still has to be crawlable, still has to answer its own question in the first paragraph, and still has to publish structured data. Agent access adds a second way in for software that would rather call a tool than parse a page.
An AI-native business, not merely an AI-friendly website.
Being readable by an answer engine is the floor. Being callable by one is the part almost nobody has done yet, and on a site built here it is a switch rather than a project.