---
title: "API docs"
description: "How agents read this site by machine: the `/api/v1` HTTP API with its OpenAPI file, Markdown twins of every page and a read-only MCP server."
canonical: https://harnesscontextprotocol.io/docs/reference/http-api
---

# API docs

> How agents read this site by machine: the `/api/v1` HTTP API with its OpenAPI file, Markdown twins of every page and a read-only MCP server.

These interfaces serve the documentation and the pack catalog, and they are
separate from any pack runtime. They are read-only and need no key, so an agent
that has to read the docs should start here.

## HTTP (`/api/v1`)

| Operation | Method | What it returns |
|-----------|--------|-----------------|
| `/api/v1/search?query=` | GET | Full-text hits over docs |
| `/api/v1/pages/{slug}` | GET | Markdown for one docs page |
| `/api/v1/packs?query=` | GET | Community pack catalog search (`class`, `tag`, `status` filters) |
| `/api/v1/packs/{id}` | GET | One catalog entry |

The current major version is v1, and breaking changes will go to `/api/v2`.
The older aliases `/api/search` and `/api/md` send `Deprecation` and `Sunset`
headers.

Errors come as RFC 9457 `application/problem+json` with a stable `code`, a
`detail` and a `hint`. The rate limit is 120 requests per 60 seconds, reported
in the `RateLimit` and `RateLimit-Policy` headers, with `Retry-After` on a 429.
[OpenAPI](/openapi.json) describes the whole API.

## Markdown twins

Every docs URL has a Markdown version: send `Accept: text/markdown` or append
`.md`. The docs hub is [`/docs.md`](/docs.md).

## JSON Schemas

The seven schemas live under `/schemas/` at their `$id` URLs, for example
`/schemas/1/surface.json`, served as `application/schema+json` to any origin.
[Schemas](/docs/reference/schemas) lists them all.

## MCP

The MCP server speaks Streamable HTTP at [`/mcp`](/mcp) and offers the tools
`list_pages`, `search` and `get_page`, and its server card is at
[`/mcp/server-card`](/mcp/server-card). The pack catalog stays on HTTP at
[`/api/v1/packs`](/api/v1/packs).

## Authentication

None of these interfaces takes an API key. Agents should use the HTTP and MCP
interfaces documented here whenever they can reach the origin.

## Sitemap

- [Documentation](https://harnesscontextprotocol.io/docs)
- [Packs](https://harnesscontextprotocol.io/packs)
- [Glossary](https://harnesscontextprotocol.io/docs/reference/glossary)
- [llms.txt](https://harnesscontextprotocol.io/llms.txt)
- [llms-full.txt](https://harnesscontextprotocol.io/llms-full.txt)
- [OpenAPI](https://harnesscontextprotocol.io/openapi.json)
- [MCP](https://harnesscontextprotocol.io/mcp)
