# LLM Integration

> Connect Claude Code, Cursor, VS Code with GitHub Copilot and other AI assistants to the Nauthera docs MCP server, or read the docs as Markdown through llms.txt.

Nauthera publishes its documentation in machine-readable formats so that AI coding assistants can discover and reference it directly. This page explains how to set up your AI tools to use Nauthera docs as context.

## How It Works

Nauthera exposes these endpoints, following the [llms.txt](https://llmstxt.org/) proposal:

| Endpoint | Description |
|---|---|
| `/llms.txt` | Plain-text index: what Nauthera is and its release status, the product pages, the solution, comparison and integration pages, the articles, the FAQ, the docs in sidebar order, the API reference, this MCP server and guidance for assistants |
| `/llms-full.txt` | The same overview, the FAQ and every page of the docs sidebar as one Markdown file |
| `/docs/{version}/{slug}.md` | Raw markdown for any individual doc page, with its description under the title; the `Link` header names the HTML page as canonical |
| `/docs/{version}/api/{endpoint}.md` | Raw markdown for one endpoint's page in the API reference, generated from the OpenAPI document |
| `/docs/{version}/api/openapi.json` | The bundled OpenAPI document the API reference is generated from |

For example:

- `https://www.nauthera.io/llms.txt` — full doc index
- `https://www.nauthera.io/docs/v1/installation.md` — raw Installation Guide
- `https://www.nauthera.io/docs/v1/index.md` — raw Introduction page

These endpoints return plain text (not HTML), making them ideal for LLM consumption.

## MCP Server

Nauthera provides a [Model Context Protocol](https://modelcontextprotocol.io/) (MCP)
server at `https://www.nauthera.io/mcp`. It speaks streamable HTTP and needs no sign-in, API
key or local install, so any assistant that supports remote MCP servers can connect to
it directly.

| Tool | Description |
|---|---|
| `list-docs` | List all available doc pages with titles and descriptions, including one API reference page per endpoint (slugs starting with `api/`) |
| `get-doc` | Get the raw markdown content of a specific doc page, or of the FAQ (`faq`) |
| `search-docs` | Search docs by keyword with fuzzy matching |
| `list-prompts` | List the ready-made task prompts from [AI Prompts](https://www.nauthera.io/docs/v1/ai-prompts), with when to use each |
| `get-prompt` | Get one of those prompts by name, as instructions to follow |

The same prompts are also served as **MCP prompts**. Assistants that support them, such
as Claude Code, offer them as slash commands: type `/` and pick one. In any other
assistant, ask for one by name, for example: *Use the nauthera-docs get-prompt tool to run
add-sign-in-to-a-web-app.*

## Connect your assistant

Every setup below adds the same server under the name `nauthera-docs`. After adding it,
check that the assistant lists the server as connected, then ask it something like
*Search the Nauthera docs for how to register a client.*

### Claude Code

```bash
claude mcp add nauthera-docs --transport http https://www.nauthera.io/mcp
```

Add `--scope project` to write it to `.mcp.json` in the repository and share it with your
team, or `--scope user` to have it in every project. Run `/mcp` to check the connection.

### Claude Desktop and claude.ai

Remote servers are added as connectors, not in `claude_desktop_config.json`:

1. Open **Settings → Connectors** and choose **Add custom connector**.
2. Enter the name `Nauthera Docs` and the URL `https://www.nauthera.io/mcp`.
3. Choose **Add**, then enable the connector for a conversation from its tools menu.

Connectors you add on claude.ai are available in Claude Desktop too. On Team and
Enterprise plans, an owner may have to allow custom connectors first.

### Cursor

Create or edit `.cursor/mcp.json` in your project root, or `~/.cursor/mcp.json` for every
project:

```json
{
  "mcpServers": {
    "nauthera-docs": {
      "url": "https://www.nauthera.io/mcp"
    }
  }
}
```

Check **Cursor Settings → MCP** shows the server with its tools enabled. Cursor's agent
calls `list-prompts` and `get-prompt` when you ask for a Nauthera prompt.

### VS Code with GitHub Copilot

Create or edit `.vscode/mcp.json` in your workspace. VS Code uses `servers`, not
`mcpServers`:

```json
{
  "servers": {
    "nauthera-docs": {
      "type": "http",
      "url": "https://www.nauthera.io/mcp"
    }
  }
}
```

Choose **Start** above the entry, then open Copilot Chat in **Agent** mode: the tools
appear in its tools picker. For every workspace, run **MCP: Open User Configuration**
from the command palette and add the same entry there. MCP prompts appear in chat as
`/mcp.nauthera-docs.<prompt>`.

### Windsurf

Open **Windsurf Settings → Cascade → MCP Servers → View raw config**, which edits
`~/.codeium/windsurf/mcp_config.json`, and add:

```json
{
  "mcpServers": {
    "nauthera-docs": {
      "serverUrl": "https://www.nauthera.io/mcp"
    }
  }
}
```

Refresh the server list in Cascade. On Teams and Enterprise plans, an admin may have to
allow remote MCP servers first.

### OpenAI Codex

Codex CLI and the Codex IDE extension share `~/.codex/config.toml`. Add:

```toml
[mcp_servers.nauthera-docs]
url = "https://www.nauthera.io/mcp"
```

or run:

```bash
codex mcp add nauthera-docs --url https://www.nauthera.io/mcp
```

Run `/mcp` in a Codex session to check the connection.

### Gemini CLI

```bash
gemini mcp add --transport http nauthera-docs https://www.nauthera.io/mcp
```

or add it to `~/.gemini/settings.json` (or `.gemini/settings.json` in a project) yourself.
`httpUrl` is the streamable HTTP endpoint; `url` would mean the older SSE transport:

```json
{
  "mcpServers": {
    "nauthera-docs": {
      "httpUrl": "https://www.nauthera.io/mcp"
    }
  }
}
```

Run `/mcp` in a Gemini CLI session to check the connection. MCP prompts appear as slash
commands.

### Zed

Add the server under **Settings → AI → MCP Servers**, or in your `settings.json`:

```json
{
  "context_servers": {
    "nauthera-docs": {
      "url": "https://www.nauthera.io/mcp"
    }
  }
}
```

### Cline

Open the **MCP Servers** view in Cline, choose **Configure MCP Servers**, and add to
`cline_mcp_settings.json`. Without `type`, Cline assumes a local server:

```json
{
  "mcpServers": {
    "nauthera-docs": {
      "type": "streamableHttp",
      "url": "https://www.nauthera.io/mcp"
    }
  }
}
```

### Other assistants

Any MCP client that supports remote servers can connect with:

| Setting | Value |
|---|---|
| URL | `https://www.nauthera.io/mcp` |
| Transport | Streamable HTTP (often `http` or `streamable-http` in config files) |
| Authentication | None |

A client that supports only local (stdio) servers can reach it through a bridge such as
[`mcp-remote`](https://www.npmjs.com/package/mcp-remote): run
`npx -y mcp-remote https://www.nauthera.io/mcp` as the server's command.

Chat assistants without MCP, such as ChatGPT without developer mode, can still use the
docs: paste a prompt from [AI Prompts](https://www.nauthera.io/docs/v1/ai-prompts), and the assistant reads
`https://www.nauthera.io/llms.txt` and the pages it lists with its web browsing.

## Direct URL Access

You can also fetch docs directly without MCP, in any assistant that can browse or fetch
URLs:

```
Fetch https://www.nauthera.io/llms.txt and summarize the available docs.
```

For persistent access, add doc URLs to the instructions file your assistant reads on
start: `CLAUDE.md` for Claude Code, `AGENTS.md` for Codex, Cursor, Copilot and others,
`GEMINI.md` for Gemini CLI, `.cursor/rules/` for Cursor, or
`.github/copilot-instructions.md` for GitHub Copilot:

```markdown
## Nauthera Docs

- Doc index: https://www.nauthera.io/llms.txt
- Endpoints: https://www.nauthera.io/docs/v1/endpoints.md
- Configuration: https://www.nauthera.io/docs/v1/configuration.md
```

[Project rules for your assistant](https://www.nauthera.io/docs/v1/ai-prompts#project-rules-for-your-assistant)
has a fuller snippet, with the rules for integrating your application.

## Available Docs

You can find the full list of available documentation pages at:

```
https://www.nauthera.io/llms.txt
```

Each entry includes the page title, URL, and a short description. All URLs ending in `.md` return raw markdown content.

## Next Steps

- [AI Prompts](https://www.nauthera.io/docs/v1/ai-prompts): copy-ready prompts for getting started, adding
  sign-in, protecting an API and more. The MCP server serves them as MCP prompts too.
- [Quick Start](https://www.nauthera.io/docs/v1/quick-start): run the published Helm chart on a local kind cluster.
- [Architecture](https://www.nauthera.io/docs/v1/architecture): the three listeners, storage, email and the control plane.
