# Octri API Docs

Wires your Octri API documentation into an AI assistant so it can search endpoints, pull SDK snippets and run real calls.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 3
- Author: OctriDev
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/OctriDev/octri-mcp
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/mcp/octri-api-docs

## What it does

This server reads the OpenAPI spec behind your Octri docs site and exposes it as a set of tools. The assistant searches the docs, opens a single endpoint, lists everything available, reads a guide by slug, checks the SDK list and looks at recent breaking changes. It also hands back ready-made code samples for each endpoint in the supported languages.

Run it over stdio for a local client, or as Streamable HTTP when you host it yourself. Node 20 or newer is required, plus an Octri project ID passed through `OCTRI_PROJECT_ID` or the `--project-id` flag. Skip both and every tool call has to carry `projectId` on its own. Calls against your live API take credentials from `OCTRI_API_TOKEN`, `OCTRI_API_KEY` with `OCTRI_API_KEY_HEADER`, or a `OCTRI_API_USERNAME` / `OCTRI_API_PASSWORD` pair. They all travel as HTTP headers, so an API that expects its keys in the request body — Plaid with `client_id` and `secret`, say — will not see them; the agent passes those as ordinary tool arguments instead.

The project owner decides what each operation tool may do: run on its own, ask first, or stay off. Reads run by default, everything else asks. An approval prompt appears through MCP elicitation (Claude 2.1.76+ and VS Code), and the call only leaves after you accept. A client that cannot prompt is refused. Flags like `--read-only`, `--deny-tools` and `--allow-tools` narrow what the owner already permitted; none of them re-enable a tool that was switched off.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OCTRI_PROJECT_ID`, `OCTRI_API_BASE_URL`, `OCTRI_API_TOKEN`, `OCTRI_API_KEY`, `OCTRI_API_KEY_HEADER`, `OCTRI_API_USERNAME`, `OCTRI_API_PASSWORD` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OCTRI_PROJECT_ID=<OCTRI_PROJECT_ID> --env OCTRI_API_BASE_URL=<OCTRI_API_BASE_URL> --env OCTRI_API_TOKEN=<OCTRI_API_TOKEN> --env OCTRI_API_KEY=<OCTRI_API_KEY> --env OCTRI_API_KEY_HEADER=<OCTRI_API_KEY_HEADER> --transport stdio octri-api-docs -- npx -y @octri/mcp
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add octri-api-docs --env OCTRI_PROJECT_ID=<OCTRI_PROJECT_ID> --env OCTRI_API_BASE_URL=<OCTRI_API_BASE_URL> --env OCTRI_API_TOKEN=<OCTRI_API_TOKEN> --env OCTRI_API_KEY=<OCTRI_API_KEY> --env OCTRI_API_KEY_HEADER=<OCTRI_API_KEY_HEADER> -- npx -y @octri/mcp
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "octri-api-docs": {
            "command": "npx",
            "args": [
                "-y",
                "@octri/mcp"
            ],
            "env": {
                "OCTRI_PROJECT_ID": "<OCTRI_PROJECT_ID>",
                "OCTRI_API_BASE_URL": "<OCTRI_API_BASE_URL>",
                "OCTRI_API_TOKEN": "<OCTRI_API_TOKEN>",
                "OCTRI_API_KEY": "<OCTRI_API_KEY>",
                "OCTRI_API_KEY_HEADER": "<OCTRI_API_KEY_HEADER>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "octri-api-docs": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@octri/mcp"
            ],
            "env": {
                "OCTRI_PROJECT_ID": "<OCTRI_PROJECT_ID>",
                "OCTRI_API_BASE_URL": "<OCTRI_API_BASE_URL>",
                "OCTRI_API_TOKEN": "<OCTRI_API_TOKEN>",
                "OCTRI_API_KEY": "<OCTRI_API_KEY>",
                "OCTRI_API_KEY_HEADER": "<OCTRI_API_KEY_HEADER>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OCTRI_PROJECT_ID=<OCTRI_PROJECT_ID> -e OCTRI_API_BASE_URL=<OCTRI_API_BASE_URL> -e OCTRI_API_TOKEN=<OCTRI_API_TOKEN> -e OCTRI_API_KEY=<OCTRI_API_KEY> -e OCTRI_API_KEY_HEADER=<OCTRI_API_KEY_HEADER> octri-api-docs npx -y @octri/mcp
```
Replace <…> with your own values. 2 more environment variables are in the server README

## When to use it
- find the right endpoint by description instead of guessing
- grab a working SDK snippet for one method
- check whether an API update breaks existing code
- call an endpoint from the assistant with real credentials
- read a full integration guide inside the chat

## Example prompts
- Search the docs for the endpoint that creates a payment
- Give me the SDK snippet for that method in Python
- Show the latest breaking changes in the API

## Similar
- [api-docs-generator](https://affpapa.org/en/nevibecode/skills/api-docs-generator.md) — skill · 396 installs
- [api-recon-and-docs](https://affpapa.org/en/nevibecode/skills/api-recon-and-docs.md) — skill · 3800 installs
- [api-docs](https://affpapa.org/en/nevibecode/skills/api-docs.md) — skill · 891 installs
- [adding-api-docs](https://affpapa.org/en/nevibecode/skills/adding-api-docs.md) — skill · 413 installs
- [api-testing-observability-api-documenter](https://affpapa.org/en/nevibecode/agents/api-testing-observability-api-documenter.md) — subagent · ★ 41823
- [sdk-portfolio-strategy](https://affpapa.org/en/nevibecode/skills/sdk-portfolio-strategy.md) — skill · 8000 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
