> ## Documentation Index
> Fetch the complete documentation index at: https://motherfuckingsideproject.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Response Headers

> HTTP headers returned by AgentXP on markdown responses.

# Response headers

> HTTP headers returned by AgentXP on markdown responses.

When AgentXP detects an AI agent and serves a markdown response, it sets a standard set of HTTP headers. These headers communicate content type, permissions, token count, and SDK metadata to the requesting agent.

## Headers

### `Content-Type`

Type: `string`

Always set to `text/markdown; charset=utf-8` on markdown responses. Signals to the agent that the body is markdown, not HTML.

### `Content-Signal`

Type: `string`

Communicates your content permissions to agents as a comma-separated list of key=value directives. See [Content-Signal values](#content-signal-values) below for the full list.

Default value: `ai-train=no, ai-input=yes, search=yes`

### `X-Markdown-Tokens`

Type: `number`

Estimated token count of the markdown response body, calculated as `Math.ceil(body.length / 4)`. Agents can use this to budget context window usage before reading the full response.

### `X-AgentXP-Version`

Type: `string`

The version of the AgentXP SDK that served this response. Current version: `0.1.0`.

### `X-AgentXP-Agent`

Type: `string`

The name of the detected agent (e.g., `"ClaudeBot"`, `"GPTBot"`). Set to `"unknown"` when the agent was detected via the `Accept: text/markdown` header but no matching User-Agent pattern was found.

### `/llms.txt` only

#### `Cache-Control`

Type: `string`

Set on `/llms.txt` responses only: `public, max-age=3600, s-maxage=86400`. Allows CDNs to cache the manifest for up to 24 hours.

## Example response

```http theme={null}
HTTP/2 200
content-type: text/markdown; charset=utf-8
content-signal: ai-train=no, ai-input=yes, search=yes
x-markdown-tokens: 847
x-agentxp-version: 0.1.0
x-agentxp-agent: ClaudeBot
```

## Content-Signal values

The `Content-Signal` header communicates your content permissions using three directives. Configure these values via the `permissions` key in your AgentXP config.

### `ai-train`

Type: `yes | no`

Whether you permit AI providers to use this content for model training. Defaults to `no`.

### `ai-input`

Type: `yes | no`

Whether you permit AI agents to use this content as inference input (e.g., for RAG, summarization, or question answering). Defaults to `yes`.

### `search`

Type: `yes | no`

Whether you permit search indexing of this content. Defaults to `yes`.

To change the defaults, set the `permissions` option in `withAgentXP`:

```typescript theme={null}
withAgentXP({
  permissions: {
    aiTrain: false,
    aiInput: true,
    search: true,
  }
})
```

For more details on permission configuration, see [Permissions](/docs/configuration/permissions).
