OctriDev

@octri/mcp

Community OctriDev
Updated

Model Context Protocol server for Octri API documentation.

@octri/mcp

An MCP server that turns your API documentation into tools an AI assistant cancall. Claude, Cursor, VS Code Copilot, and any other MCP client can search yourendpoints, open a guide, pull a ready-to-use SDK snippet in any supportedlanguage, and check the changelog for breaking changes, all from the sameOpenAPI spec your docs are built from.

Octri turns an OpenAPI spec into a documentation site, client SDKs for tenlanguages, an MCP server your AI assistant can call, and monitoring for theAPI behind them. This package is the MCP server. Seeoctri.dev/mcp.

Node 20 or newer. Runs over stdio for a local client, or Streamable HTTP whenyou host it.

Install

npx -y @octri/mcp

Most clients are configured with that command, so a global install is optional.The Installation section below has the exact config block for each one.

Or install it in one click. VS Code asks for your project ID; Cursor writesYOUR_PROJECT_ID into its mcp.json for you to replace.

Add to CursorInstall in VS Code

Listed in the official MCP Registry as dev.octri/mcp.

Tools

Tool Description
search_docs Search the API documentation for an endpoint or concept
get_endpoint Get full documentation for a specific API endpoint
list_endpoints List all available API endpoints, optionally filtered by section
get_changelog Get recent API changes and breaking changes
list_sdks List the available SDK client libraries (languages, versions, download links)
get_guide Get the full content of a written guide by its slug
get_sdk_methods Get ready-to-use SDK code snippets for each endpoint in every supported language

Installation

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "my-api-docs": {
      "command": "npx",
      "args": ["@octri/mcp", "--project-id", "YOUR_PROJECT_ID"]
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json globally):

{
  "mcpServers": {
    "my-api-docs": {
      "command": "npx",
      "args": ["@octri/mcp"],
      "env": {
        "OCTRI_PROJECT_ID": "YOUR_PROJECT_ID"
      }
    }
  }
}

VS Code (Copilot / MCP extension)

Add to .vscode/mcp.json:

{
  "servers": {
    "my-api-docs": {
      "type": "stdio",
      "command": "npx",
      "args": ["@octri/mcp", "--project-id", "YOUR_PROJECT_ID"]
    }
  }
}

Environment variables

Variable Required Default Description
OCTRI_PROJECT_ID Yes* None The project to connect to. Can also be set via --project-id CLI flag.
OCTRI_API_URL No https://api.octri.dev/api/v1 Override the API base URL (useful for self-hosted deployments).
MCP_TRANSPORT No stdio http for remote hosting (Streamable HTTP), or sse for the legacy transport.
PORT No 3000 HTTP port for the http and sse transports.
MCP_HOST No 127.0.0.1 Interface to bind. Widening it requires MCP_AUTH_TOKEN.
MCP_ALLOWED_ORIGINS No None Comma-separated browser origins allowed to reach an HTTP transport.
MCP_AUTH_TOKEN When MCP_HOST is not loopback None Bearer token every HTTP request must send as Authorization: Bearer <token>.

* Required unless every tool call passes projectId explicitly.

Credentials for the API being called

Operation tools call your real API, and these supply its credentials:

Variable Description
OCTRI_API_BASE_URL Target API base for operation calls (falls back to the studio's Base URL).
OCTRI_API_TOKEN Bearer / OAuth2 token.
OCTRI_API_KEY (+ OCTRI_API_KEY_HEADER) API-key value, and the header it goes in (default X-API-Key).
OCTRI_API_USERNAME / OCTRI_API_PASSWORD Basic-auth credentials.

All of these are sent as HTTP headers. An API that takes its credentials inthe request body instead (Plaid's client_id and secret, for example) isnot served by them: those are ordinary body fields, so they appear as toolarguments and the agent passes them like any other field. SettingOCTRI_API_KEY for such an API adds a header it ignores.

Remote hosting

Use Streamable HTTP (MCP_TRANSPORT=http), the transport the MCP spec hasdefined for remote servers since revision 2025-03-26 and the one a currentclient tries first:

docker build -t octri-mcp .

docker run -p 3000:3000 \
  -e MCP_TRANSPORT=http \
  -e OCTRI_PROJECT_ID=YOUR_PROJECT_ID \
  octri-mcp

It serves a single endpoint, POST /mcp, and runs statelessly, so requestscarry no session and any number of replicas can sit behind a load balancer.Point a remote MCP client at http://your-host:3000/mcp.

Legacy HTTP+SSE transport

MCP_TRANSPORT=sse serves the older 2024-11-05 design, kept so existingdeployments keep working. It exposes GET /sse to open a connection andPOST /messages?sessionId=<id> to relay client messages. Prefer http foranything new.

Binding and origins

Both HTTP transports bind 127.0.0.1 by default and refuse any request whoseOrigin is not listed in MCP_ALLOWED_ORIGINS, or whose Host is notloopback. This server holds your API credentials, and any page the browservisits can reach a loopback port.

Widening MCP_HOST puts those credentials on the network, so the server thenrefuses to start without MCP_AUTH_TOKEN, and every request must sendAuthorization: Bearer <token>. Configure the same header in your MCP client,and list browser origins explicitly.

Local development

# Build
pnpm build

# Run in stdio mode
OCTRI_PROJECT_ID=my-project node dist/index.js

# Run in Streamable HTTP mode (POST /mcp)
MCP_TRANSPORT=http OCTRI_PROJECT_ID=my-project node dist/index.js

# Run in the legacy SSE mode
MCP_TRANSPORT=sse OCTRI_PROJECT_ID=my-project node dist/index.js

Publishing

pnpm build
npm publish --access public

Requires an npm account with access to the @octri scope.

The rest of Octri

Product What it does
API Studio Your OpenAPI spec becomes a hosted documentation site with a live request playground, editable page by page.
SDK Studio The same spec becomes client libraries for ten languages, versioned and released together.
MCP Your endpoints and docs become tools an AI assistant can call, generated from the same spec.
Monitoring Errors, traces, uptime and releases for the API, joined to the SDK calls that reached it.

Monitoring runtimes

Node ·Python ·Go ·Ruby ·Rust ·PHP ·Java ·Kotlin ·Swift ·Dart

Documentation ·Pricing ·Changelog

MIT licensed.

MCP Server · Populars

MCP Server · New