---
title: Docs for AI agents
description: Read these docs as Markdown, through llms.txt, the OpenAPI document and the discovery files, from a coding agent or an AI assistant.
---

Every page on this site has a Markdown version, and the site publishes the indexes agents look for. Point a coding agent at these instead of the HTML.

## Markdown

- **Any page:** add `.md` to its URL, such as [`/api/quickstart.md`](/api/quickstart.md). The home page is [`/index.md`](/index.md).
- **Content negotiation:** request a page with `Accept: text/markdown` and the site returns the Markdown version.
- **On a page:** **Copy as Markdown** copies the page, and **Open in chat** opens it in Claude, ChatGPT or Cursor.

```bash
curl -H "Accept: text/markdown" https://developers.qaf.ai/api/quickstart
```

The Markdown includes the content of every tab, so the setup steps for each app on [Connect an AI app](/mcp/connect) are all there.

## Indexes

| File | Contains |
| --- | --- |
| [`/llms.txt`](/llms.txt) | A short guide for agents, then every page with its summary. |
| [`/llms-full.txt`](/llms-full.txt) | Every page's Markdown in one file. |
| [`/skill.md`](/skill.md) | An agent skill that maps these docs. |
| [`/.well-known/agent-skills/index.json`](/.well-known/agent-skills/index.json) | The agent skills this site publishes. `qaf-api-and-mcp-server` teaches an agent to connect the MCP server, call the API, search and cite. |
| [`/sitemap.xml`](/sitemap.xml) | Every page, for crawlers. |
| [`/agent-readability.json`](/agent-readability.json) | Where each of these lives. |
| [`/.well-known/api-catalog`](/.well-known/api-catalog) | The Qaf API, with links to its OpenAPI document and docs, and the MCP server, with a link to its docs (RFC 9727). |
| [`/.well-known/ai-catalog.json`](/.well-known/ai-catalog.json) | The MCP server, the OpenAPI document, the agent skills and `llms.txt`, for agent registries. |

## The API's schema

The OpenAPI document is the exact schema of every endpoint:

```text
https://api.qaf.ai/v1/openapi.json
```

It needs no key. An agent writing code against the API can read fields, limits and error codes from it rather than from prose.

## Use Qaf from an agent

To let an agent search the library while it works, connect the [MCP server](/mcp) rather than giving it an API key. It signs in with your Qaf account, and its tools describe their own inputs.
