---
title: "Read the Trove docs as an agent"
description: "Use when an agent must fetch these docs as Markdown: the llms.txt index, the full-docs file, the .md twin of every page, and Accept-header negotiation."
url: https://docs.heytrove.ai/reference/for-agents
updated: 2026-10-01
---

# Read the Trove docs as an agent

> Load this page when: you are an agent (or building one) that needs Trove docs as plain Markdown, or you got HTML when you expected Markdown

## For agents

- Start at https://docs.heytrove.ai/llms.txt and pick pages by their description.
- Add .md to any docs URL, or send Accept: text/markdown, to get Markdown.
- Load only the pages your task needs; use https://docs.heytrove.ai/llms-full.txt only to ingest everything.

Every Trove docs page is available as plain Markdown. Start at the index, pick the pages you need, and load only those.

## Quick reference

| Need | Fetch | Returns |
|---|---|---|
| List of every page | `https://docs.heytrove.ai/llms.txt` | text/plain |
| One page | Add `.md`, as in `https://docs.heytrove.ai/quickstart.md` | text/markdown |
| Docs home | `https://docs.heytrove.ai/index.md` | text/markdown |
| Same URL, with a header | Any docs URL plus `Accept: text/markdown` | text/markdown |
| All pages | `https://docs.heytrove.ai/llms-full.txt` | text/plain |
| Whole site | `https://heytrove.ai/llms.txt` | text/plain |

## What a Markdown page contains

Each Markdown page has the same shape. Links inside the page point to absolute `.md` URLs, so you can follow them directly.

1. Frontmatter with `title`, `description`, `url` and `updated`.
2. The `# title` heading.
3. A "Load this page when" line.
4. The For agents bullets, a short summary of the page.
5. The page body.

## Ask for Markdown with the Accept header

Trove serves Markdown when `text/markdown` has a q value at least as high as `text/html`. Browsers send `text/html`, so they get HTML.

```terminal
curl -H 'Accept: text/markdown' https://docs.heytrove.ai/quickstart
```

## Load the smallest set of pages

Fetch `llms.txt` first. Pick one to three pages by their descriptions, then follow the links inside them. Use `llms-full.txt` only when you are asked to read everything, because it fills your context.

## Response headers

| Header | Purpose |
|---|---|
| `Content-Type: text/markdown; charset=utf-8` | Marks the body as Markdown. |
| `Link: <html url>; rel="canonical"` | Points to the HTML page for the same content. |
| `X-Robots-Tag: noindex` | Keeps the Markdown twin out of search indexes. |
| `Vary: Accept` | Tells caches that the response depends on the Accept header. |

## Reach Trove itself

- The `trove` CLI: [Install](https://docs.heytrove.ai/install.md) and [CLI reference](https://docs.heytrove.ai/reference/cli.md).
- The MCP server at `https://heytrove.ai/api/v1/mcp`: [MCP reference](https://docs.heytrove.ai/reference/mcp.md).
- The REST API: [API reference](https://docs.heytrove.ai/reference/api.md).

## Errors

| What you see | Fix |
|---|---|
| `404` with "Page not found" | The page does not exist or is not published. Fetch `https://docs.heytrove.ai/llms.txt`. |
| HTML instead of Markdown | Add `.md` to the URL, or send `Accept: text/markdown` without a higher `text/html` q. |
| A redirect from the old domain | Follow redirects with `curl -L`. |
