> This page is also available as Markdown: append .md to its URL. The full index of Sikaru docs is at https://docs.sikaru.ai/llms.txt. Code examples use only operations from the public API reference at https://docs.sikaru.ai/api-reference.

# Use Sikaru with AI agents

Every page on this site is also published as plain Markdown, indexed for agents, and searchable over MCP. Point your coding agent at these sources instead of pasting pages into chat.

## What agents can read

| Source          | URL                                                                                      | Use it for                                                                   |
| --------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Docs index      | `https://docs.sikaru.ai/llms.txt`                                                        | Discovering every guide and API endpoint, each with a one-line summary       |
| Page Markdown   | Append `.md` to any page URL, such as `https://docs.sikaru.ai/get-started/quickstart.md` | Reading one page without HTML, navigation, or scripts                        |
| Section index   | Append `/llms.txt` to a section URL, such as `https://docs.sikaru.ai/run/llms.txt`       | Loading only one area of the docs                                            |
| OpenAPI schema  | `https://docs.sikaru.ai/openapi.json`                                                    | Exact request and response fields for every public operation                 |
| Docs MCP server | `https://docs.sikaru.ai/_mcp/server`                                                     | Searching the docs from inside an MCP client                                 |
| Authoring skill | `https://sikaru.ai/skills/author-sikaru-agent/SKILL.md`                                  | Writing, validating, publishing, and invoking an agent document with the CLI |

`llms.txt` accepts `?lang=python` or `?lang=typescript` to keep only one SDK language in code examples.

## Connect the docs MCP server

#### Claude Code

```sh
claude mcp add --transport http sikaru-docs https://docs.sikaru.ai/_mcp/server
```

#### Cursor

Add this to `.cursor/mcp.json` in your project, or to `~/.cursor/mcp.json` for every project:

```json
{
  "mcpServers": {
    "sikaru-docs": { "url": "https://docs.sikaru.ai/_mcp/server" }
  }
}
```

#### Other clients

Register `https://docs.sikaru.ai/_mcp/server` as a remote MCP server using the Streamable HTTP transport. It needs no credentials and only reads public documentation.

## Install the authoring skill

The skill teaches a coding agent how to write one Markdown agent document and publish it with the Sikaru CLI. For a project-local installation:

```sh
mkdir -p .agents/skills/author-sikaru-agent
curl --fail --output .agents/skills/author-sikaru-agent/SKILL.md \
  https://sikaru.ai/skills/author-sikaru-agent/SKILL.md
```

Put it wherever your agent loads skills from. See [Author and publish](/build/agents-and-releases) for the document format it follows.

## Hand the setup to your agent

Paste this into your coding agent to get started:

```text
Read https://docs.sikaru.ai/llms.txt, then https://docs.sikaru.ai/get-started/quickstart.md.
Integrate Sikaru into this project using the official SDK for its language.
Read the API key from the SIKARU_API_KEY environment variable on the server only.
Use only operations listed in https://docs.sikaru.ai/openapi.json.
Show me the plan before changing files.
```

## Rules for agents writing Sikaru code

> **Warning**
>
> These rules prevent the most common integration mistakes. Put them in your project's `AGENTS.md` or `CLAUDE.md`.

* Keep project API keys on the backend. Never put a key in browser code, a committed file, an agent document, or chat output.
* An accepted request is not a completed run. Read run status and events until the run reaches `completed`, `failed`, or `cancelled`.
* Reuse the same idempotency key when retrying the same submission. A new key means new work.
* Derive `tenant_id` and `user_id` from your authenticated user, never from unchecked client input.
* Naming a tool in instructions does not grant it. Tools need a connection or product-owned tool and an explicit grant.
* Do not regenerate or hand-edit SDK code. Install the published SDK or CLI and use the operations it exposes.