# Docs for agents

These docs are written for agents as much as for people. An agent can reach them in four
ways, and each gives the same pages. None needs a sign-in or a key.

## The MCP server

The address is `https://docs.theorem.sa/mcp`, over streamable HTTP. It has three tools,
and all of them only read:

| Tool | Takes | Answers |
|---|---|---|
| `list_docs` | nothing | Every page by section, each with its path, title and summary. |
| `search_docs` | `query` | The pages that match, each with the heading it was found under and a snippet. |
| `read_doc` | `path`, such as `/teams/roles` | The page's Markdown. |

Start with `list_docs` or `search_docs`, then read the pages you need with `read_doc`.

The assistant in Theorem has these docs already, as its connection **Theorem docs**.

## Adding it to your own agent

Add `https://docs.theorem.sa/mcp` to your agent as a remote MCP server over streamable
HTTP, with no authorization. For example:

- **Claude Code:** `claude mcp add --transport http theorem-docs https://docs.theorem.sa/mcp`.
  Add `--scope project` to keep it in the project's `.mcp.json`.
- **A client that reads a JSON file of servers,** such as `.mcp.json`:

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

The name `theorem-docs` is yours to choose.

## Plain text

| Address | What it is |
|---|---|
| `https://docs.theorem.sa/llms.txt` | Every page, with its summary and address. |
| `https://docs.theorem.sa/llms-full.txt` | All the pages in one file. |
| Any page with `.md` added | That page's Markdown, with its examples in place: `https://docs.theorem.sa/teams/roles.md`. |

## Limits

One address may ask 120 times a minute. Past that, it is answered 429. A request's body may be up to 64,000 bytes.
