# Quivvo for agents

Everything Quivvo has for AI agents, in one place. To set up a coding agent, give it this:

```text
Set up Quivvo by following https://tryquivvo.com/setup.md, then report PASS or FAIL.
```

These are plain files and endpoints. We can't say which clients fetch them unprompted, so the sure way is to hand your agent the link.

New accounts wait in a queue for now, and the credit arrives with their turn. Each person who signs up with your invite link moves you up 10 places, and a paid plan skips it.

## Set up an agent

| Surface | What it does | Where |
| --- | --- | --- |
| Setup runbook | Installs the CLI, signs in without blocking, connects MCP, verifies with a real machine, reports PASS or FAIL | [`/setup.md`](https://tryquivvo.com/setup.md) |
| Skill | How to use Quivvo, as a file your agent keeps. `quivvo init` installs it | [`/skill.md`](https://tryquivvo.com/skill.md), also at [`/SKILL.md`](https://tryquivvo.com/SKILL.md) |
| One setup command | Shows a checklist, then installs the skill and MCP config for the tools it finds | `quivvo init` |
| Agent sign-up | How an agent with no browser gets a key once its owner approves | [Agent sign-up](https://tryquivvo.com/docs/agents) |

## Drive machines

| Surface | What it does | Where |
| --- | --- | --- |
| Hosted MCP server | 27 tools over Streamable HTTP, with OAuth sign-in or a bearer key | [`/api/mcp`](https://tryquivvo.com/docs/mcp), [server card](https://tryquivvo.com/api/mcp/server-card) |
| CLI | Every command takes `--json`, and exit codes mean one thing each | [CLI reference](https://tryquivvo.com/docs/cli), `quivvo help --json` |
| REST API | Everything the CLI does, over HTTPS | [Reference](https://tryquivvo.com/docs/api), [OpenAPI 3.1](https://tryquivvo.com/api/v1/openapi.json) |
| SDKs | TypeScript and Python clients for the REST API, with retries and idempotency keys built in | [SDKs](https://tryquivvo.com/docs/sdks) |
| What a key may do | Kind, scopes, workspace, plan limits, credit, place in the queue | `GET` [`/api/v1/whoami`](https://tryquivvo.com/docs/api#who-am-i), `quivvo whoami`, the `whoami` MCP tool |
| Catalog | Templates, sizes, regions, prices and exec limits, with no key | [`/api/v1/catalog`](https://tryquivvo.com/api/v1/catalog), `quivvo catalog` |
| Recipes | A one-shot command, a long job, a private repo, handing over to Claude Code or Codex | [Recipes](https://tryquivvo.com/docs/recipes) |

## Read the docs

| Surface | What it is | Where |
| --- | --- | --- |
| llms.txt | The agent path, the facts that matter and every link | [`/llms.txt`](https://tryquivvo.com/llms.txt) |
| All docs in one file | Every page, for reading at once | [`/llms-full.txt`](https://tryquivvo.com/llms-full.txt) |
| Markdown of any page | Add `.md` to the URL, or send `Accept: text/markdown` | [`/docs/errors.md`](https://tryquivvo.com/docs/errors.md), for example |
| Errors | Every error code, and what to do about it. API errors link here in `docs_url` | [Errors](https://tryquivvo.com/docs/errors) |

## Discovery files

| File | What it says | Where |
| --- | --- | --- |
| AI catalog | The MCP server, skill, OpenAPI document and llms.txt | [`/.well-known/ai-catalog.json`](https://tryquivvo.com/.well-known/ai-catalog.json) |
| Agent skills index | The skill, with a digest of its bytes. The format is a draft | [`/.well-known/agent-skills/index.json`](https://tryquivvo.com/.well-known/agent-skills/index.json) |
| API catalog (RFC 9727) | Where the API is described | [`/.well-known/api-catalog`](https://tryquivvo.com/.well-known/api-catalog) |
| MCP server card | How to connect to the MCP server | [`/api/mcp/server-card`](https://tryquivvo.com/api/mcp/server-card) |
| Crawl policy | What's open to crawlers and agents | [`/robots.txt`](https://tryquivvo.com/robots.txt), [`/sitemap.xml`](https://tryquivvo.com/sitemap.xml) |

Public pages point at these with `Link` headers: `rel="alternate"` for the Markdown, plus `rel="ai-catalog"`, `rel="api-catalog"` and `rel="llms-txt"`.

## Tell us what broke

Agents find things people don't. Each of these reaches the team. Include `request_id` if an error gave you one, and leave out secrets.

- CLI: `quivvo feedback "what happened"`
- MCP: the `report_problem` tool
- API: [`POST /api/v1/feedback`](https://tryquivvo.com/docs/api#feedback)
