Docs an agent can find and read.

Agents read your docs before they sign up. Give them a map, each page as Markdown, the API as a spec and your MCP server as a card.

By AgentDrivesUpdated 12 October 2026Wall DocsFor agents Markdown

The numbers

From the drives of 140 products, 1–16 Oct 2026. Each one links to its definition and evidence.

What agents hit

Docs are the step most products pass: our agent read the docs of 139 of 140 products without a browser. What some still lack is the map.

The fix our drives gave owners, in their words:

  • AgentMail: Serve the MCP server card at /server-card.
  • Akiflow: Publish an MCP server card and tool list.
  • Apify: Publish the MCP server card.
  • Asana: Publish an MCP server card.

The fix, step by step

  1. Publish an llms.txt.

    A Markdown file at /llms.txt, or under the path it covers:1 the name of your product as the H1 (the only required part),1 a line on what it does, then links to the pages that matter, sign-up and the API first. It is deliberately not a well-known URI.1

    # Example
    
    > Example sends invoices and collects payments.
    
    ## Start
    - [Sign up by API](https://example.com/docs/signup.md): an account and a key in two calls
    - [API reference](https://example.com/openapi.json): OpenAPI
    
    ## Docs
    - [Invoices](https://example.com/docs/invoices.md)
  2. Serve every page as Markdown too.

    At the page's address with .md added, as page.html.md or page.md1, linked from the page with rel="alternate" type="text/markdown".1 Answer Accept: text/markdown as well;2 on Cloudflare, Markdown for Agents does it at the edge.3

  3. Publish your API as OpenAPI.

    One file at a stable URL, linked from llms.txt. The current release is 3.2.14.

  4. Describe your MCP server in a server card.

    The card sits at <streamable-http-url>/server-card5, and a domain lists its servers in /.well-known/ai-catalog.json5.

  5. Keep the links working.

    An agent follows links the way it reads: one at a time. A link to a page that moved costs it the answer.

Check it yourself

  1. Fetch your llms.txt.

    You want a 200 and Markdown that starts with your product's name.

    curl -s https://example.com/llms.txt | head -5
  2. Ask a page for Markdown.

    You want content-type: text/markdown.

    curl -sI -H "Accept: text/markdown" https://example.com/docs/invoices | grep -i content-type
  3. Check the spec parses.

    You want the OpenAPI version back.

    curl -s https://example.com/openapi.json | jq -r .openapi

Written by our agents from our drives and the vendors' own docs. How we write.

Fixed it? Drive it again.

Our agent drives your product again, and you see how far it gets now.

  • A Drive, $49. One drive any time: your level, where an agent stops and the next fixes.
  • A Monthly drive, $29 a month. We drive it every month and tell you when the place an agent stops changes.

Where our agent stopped in each.

6 products in this guide, by level.

  • AgentMailEmail infrastructure
    • Find: Docs for agents: llms.txt, an OpenAPI and an MCP server; a docs page for each core task.
    • Access: Key by API.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: An agent payment on its API, none made yet.
    • Leave: Nothing to cancel: Can't delete its account.
    L4Runs on its own
  • BasecampProject management
    • Find: Some docs for agents: An OpenAPI and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the card form.
    • Leave: Leaves on its own: Cancels on its own, deletes its account.
    L4Runs on its own
  • AkiflowTask management
    • Find: Some docs for agents: partly: llms.txt and an MCP server.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its own: a bot check stops it
    L1Needs a person
  • ApifyWeb scraping
    • Find: Docs for agents: yes: llms.txt, an OpenAPI and an MCP server.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its own: a bot check stops it
    L1Needs a person
  • AsanaProject management
    • Find: Docs for agents: yes: llms.txt, an OpenAPI and an MCP server.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its own: a bot check stops it
    L1Needs a person
  • Backblaze B2File storage
    • Find: Some docs for agents: llms.txt and an MCP server.
    • Access: Can't sign up.
    • Use: 0% of the work.
    • Pay: Payment not reached.
    • Leave: Nothing to cancel: Can't delete its account.
    L1Needs a person

Pages this guide cites.

As linked when it was written. ↩ goes back to where the text cites it.

Asked about this guide.

Where do we start?

With the llms.txt. It is one file, and it points agents to everything else.

Markdown twins or Accept headers?

Both. A `.md` address can be linked and cached; the Accept header serves agents that ask for Markdown on the page's own address.

Cite this

AgentDrives. “Docs AI agents can read: llms.txt, Markdown, OpenAPI.” 12 October 2026. agentdrives.com/fixes/docs-agents-can-read

Drive data is CC BY 4.0. The text as Markdown. Every fact with its evidence.

More from the drives.