# Elide Developer Resources

> Read the Elide documentation from code and AI agents: llms.txt, Markdown pages, a search API with OpenAPI, and an MCP server.

Every surface on this page is public, read-only and needs no API key. Responses allow any origin.

| Resource | URL |
| --- | --- |
| Documentation index for LLMs | [/llms.txt](https://elide.help/llms.txt) |
| Every page in one file | [/llms-full.txt](https://elide.help/llms-full.txt) |
| Docs API (OpenAPI 3.1) | [/openapi.json](https://elide.help/openapi.json) |
| API catalog (RFC 9727) | [/.well-known/api-catalog](https://elide.help/.well-known/api-catalog) |
| MCP server (Streamable HTTP) | `https://elide.help/mcp` |
| MCP server card | [/mcp/server-card](https://elide.help/mcp/server-card) |
| AI catalog | [/.well-known/ai-catalog.json](https://elide.help/.well-known/ai-catalog.json) |
| Sitemap | [/sitemap-index.xml](https://elide.help/sitemap-index.xml) |

## Markdown pages

Append `.md` to any page URL, or request the page with `Accept: text/markdown`:

```bash
curl https://elide.help/docs/installation.md
curl -H 'Accept: text/markdown' https://elide.help/docs/installation
```

HTML pages link to their Markdown version with `<link rel="alternate" type="text/markdown">` and a `Link` response
header. A missing page requested as Markdown returns a Markdown 404 that links to `/llms.txt`.

## Docs API

Base URL `https://elide.help`. Every operation is a `GET`.

| Operation | Request | Returns |
| --- | --- | --- |
| `getApiIndex` | `/api/v1` | Version, status, every operation, the rate limit and the versioning policy |
| `listPages` | `/api/v1/pages?section=toolchain` | Every page (or one section) with slug, URLs, title and description |
| `getPage` | `/api/v1/pages/{slug}` | One page with its headings and Markdown |
| `searchDocs` | `/api/v1/search?q=…&limit=…` | Ranked pages with a snippet and the best-matching heading |

```bash
curl 'https://elide.help/api/v1/search?q=kotlin%20compiler&limit=3'
curl https://elide.help/api/v1/pages/installation
curl 'https://elide.help/api/v1/pages?section=api'
```

### Errors

Errors use `application/problem+json` (RFC 9457). Each has a stable `code` and a `resolution` that says what to
change.

| Status | `code` | When |
| --- | --- | --- |
| 400 | <span id="error-invalid-parameter">`invalid_parameter`</span> | `q` is missing or too long, `limit` is out of range, or `section` is unknown |
| 404 | <span id="error-page-not-found">`page_not_found`</span> | No page has the requested slug |
| 404 | <span id="error-api-route-not-found">`api_route_not_found`</span> | No operation exists at the path |
| 405 | <span id="error-method-not-allowed">`method_not_allowed`</span> | The method is not `GET` or `HEAD`; see the `Allow` header |
| 429 | <span id="error-rate-limited">`rate_limited`</span> | More than 120 requests in 60 seconds; wait for `Retry-After` |

```json
{
  "type": "https://elide.help/developers#error-page-not-found",
  "title": "Page not found",
  "status": 404,
  "detail": "No documentation page has the slug \"instalation\".",
  "instance": "https://elide.help/api/v1/pages/instalation",
  "code": "page_not_found",
  "resolution": "List slugs with GET /api/v1/pages, or find a page with GET /api/v1/search?q=<terms>.",
  "documentation_url": "https://elide.help/developers#errors"
}
```

### Rate limits

The API and the MCP server allow 120 requests per 60 seconds per client IP. Every response carries
`RateLimit-Policy: "docs";q=120;w=60`. Over the limit, the response is a `429` with `Retry-After` and
`RateLimit: "docs";r=0;t=60`. For bulk reads, fetch [/llms-full.txt](https://elide.help/llms-full.txt) once.

### Versioning

The version is in the path: `/api/v1`. Changes within `v1` only add fields and operations. A breaking change ships as
`/api/v2`; `v1` then sends `Deprecation` and `Sunset` headers (RFC 9745, RFC 8594) for at least 180 days before it is
removed.

## MCP server

`https://elide.help/mcp` serves the docs over the Model Context Protocol with the Streamable HTTP transport. It is
stateless and needs no authentication. Supported protocol versions: `2026-07-28`, `2025-11-25`, `2025-06-18` and
`2025-03-26`.

| Tool | Does |
| --- | --- |
| `search_docs` | Search the docs; returns ranked pages with slugs and snippets. |
| `get_page` | Return one page as Markdown, by slug, path or URL. |
| `list_pages` | List pages with slugs and descriptions, optionally for one section. |

Every page is also a resource with a `text/markdown` body. Client config:

```json
{
  "mcpServers": {
    "elide-docs": { "type": "http", "url": "https://elide.help/mcp" }
  }
}
```

Claude Code:

```bash
claude mcp add --transport http elide-docs https://elide.help/mcp
```

This server answers questions about Elide. To give an agent Elide's build and run tools inside a project, run
`elide mcp`; see [MCP Server](https://elide.help/docs/mcp).

## Elide in agents and scripts

Install the CLI:

```bash
curl -sSL --tlsv1.2 elide.sh | bash -s -     # Linux and macOS
brew install elide-dev/elide/elide           # Homebrew
```

[Installation](https://elide.help/docs/installation) covers Windows, packages and containers.

- [Elide for AI Agents](https://elide.help/docs/agents): non-interactive flags, commands that need a terminal, and exit codes.
- `elide help <topic> --format=markdown` prints any page of these docs from an installed `elide`.
- [CLI Reference](https://elide.help/docs/cli-references) lists every command.

Report problems on [GitHub issues](https://github.com/elide-dev/elide/issues).
