Octri CLI
dev.octriPublished by octri.devv1.0.6Updated Oct 24, 2026
Push OpenAPI specs, build SDKs in ten languages, publish API docs, and triage production SDK errors.
Overview
Octri CLI over MCP: lets an assistant push OpenAPI specs, build SDKs, publish API docs and triage production SDK errors.
- What you can do
- Push and manage OpenAPI specs, convert or import them, and check pipeline status
- Build, audit, preview, download and publish SDKs in ten languages, and inspect builds and artifacts
- Draft and publish documentation pages, guides, nav, redirects, endpoints, versions and custom domains
- Read and triage monitoring issues, logs, traces, performance, releases and alerts, and upload source maps
- Manage projects, organizations, API keys, GitHub sync and webhooks
- When to use it
- Useful when the assistant should work inside an Octri project: shipping a spec change, generating or auditing client libraries, updating hosted API docs, or investigating production errors reported by generated SDKs.
- Requirements
- Local process run with npx (Node 20 or newer) or a global install. Sign in first with octri auth login, or set OCTRI_API_KEY; an API key only reaches public routes. Optional OCTRI_PROFILE, OCTRI_PROJECT_ID, HTTPS_PROXY and NO_PROXY must be set in the MCP client's env block, since clients rarely pass the shell environment through.
Installation
In SourceWeft
- Open Octri CLI in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@octri/cli
octri is the command line for your Octri project. It does what the dashboard
does: push a spec, build SDKs, publish docs, and work through the errors those
SDKs report from production.
Octri takes an OpenAPI spec and gives you a documentation site, client libraries in ten languages, an MCP server, and monitoring for the API behind all of it. See octri.dev.
Node 20 or newer.
Install
Start here
auth login prompts for your email and password, and for your authenticator
code if you have two-factor on. projects use with no argument opens a picker.
specs push waits for the pipeline, not the upload. Your spec parses in about a
second, then the doc pages, search index and changelog get written behind it.
The spinner names the stage it is on.
Build an SDK
In a terminal, sdk build draws a lane per language and repaints it through
generating, verifying, packaging, installing, ready. Piped or under
CI it prints append-only lines instead, and exits non-zero if any language
fails, so it works as a build step with no extra flags.
sdk audit scores the spec and marks which findings the generator can fix on
its own. octri sdk audit apply <key> writes one in.
For a look at real generator output without spending a build:
Publish docs
docs domain prints the CNAME and TXT records to create, then docs domain verify checks them.
The site's structure is drafted like it is in the API Studio. Redirects, the home page and draft endpoints wait for a publish; nav buttons apply on save:
A component file holds the markup alone: one root element, HTML attribute
names (class, not className), and props written as {name}.
The sidebar itself round-trips through a file, and is drafted like the rest:
Appearance, SEO, social links, page feedback, the API playground and custom
code have no draft: each set is live when it returns. Keys are spelled as in
the API, @file reads a value from a file, and an empty value clears a link:
In Git Bash on Windows, a lone argument starting with / is rewritten into a
Windows path before the CLI sees it. Set MSYS_NO_PATHCONV=1, or use
PowerShell, for commands that take docs paths.
Monitoring
Reads and triage run on your session, so they need nothing but a login:
monitoring issue prints the stack and marks which frames resolved against
uploaded source maps. When none of them did, the release those errors came from
has no symbols, and the CLI says so.
The two upload commands work differently. They talk to the monitoring service directly with an ingest token, because a CI job has one secret and no way to log in:
Run octri monitoring config for the three values to store as CI secrets. The
release you upload under has to equal the release your SDK reports at runtime,
or the service has nothing to pair a trace with.
Commands
Run octri <group> --help for one group on its own.
Global flags: --project <id>, --profile <name>, --api-url <url>, --json,
--quiet, --plain, --no-color.
Output
--json is the one to script against:
NO_COLOR and FORCE_COLOR are both honoured.
Configuration
State lives in ~/.octri/config.json, mode 0600, since it holds session
tokens. OCTRI_CONFIG_DIR moves it.
Profiles keep environments side by side:
Every value resolves flag first, then environment, then the stored profile.
Behind a proxy
The CLI and octri mcp serve read the standard proxy variables, in upper or
lower case, with no extra Node flag. https:// requests use HTTPS_PROXY, or
HTTP_PROXY when that is the only one set. Hosts listed in NO_PROXY, and
their subdomains, connect directly; * turns the proxy off.
If the proxy inspects TLS with its own certificate authority, point Node at
that CA with NODE_EXTRA_CA_CERTS=/path/to/ca.pem.
MCP clients usually start servers with a minimal environment, so set these in
the server's env block rather than relying on your shell.
MCP server
This speaks MCP over stdio and offers the same commands as typed tools. An assistant can push a spec, wait for the build, read the generated Go, and then read the production error that build caused.
To add it to Cursor or VS Code in one click, through npx so no global install
is needed:
[Add to Cursor] [Install in VS Code]
The server uses the profile from octri auth login, so sign in first, or set
OCTRI_API_KEY in its environment. An API key reaches the public routes only:
the docs, webhook and MCP-management tools need the signed-in profile. Listed
in the official MCP Registry as dev.octri/cli.
Credentials come from your stored profile and the assistant never sees them. Reads are open. The operations you cannot take back are refused unless you start the server with the flag for them:
Tool failures come back as tool results rather than protocol errors, so an assistant can read the message and correct itself.
Notes
- Build progress is polled, not streamed. The
/ws/sdksocket authenticates from a header or cookie, which Node's built-inWebSocketcannot set, and a WebSocket dependency would buy about a second of latency on a build that takes minutes. - Artifact archives are extracted by hand-rolled
tarandzipreaders, so neither binary needs to be installed. Both refuse entries that would write outside the destination directory. @modelcontextprotocol/sdkis the only runtime dependency. Colour, spinners, progress bars, tables and prompts are all local.
The rest of Octri
Monitoring runtimes
Node · Python · Go · Ruby · Rust · PHP · Java · Kotlin · Swift · Dart
Documentation · Pricing · Changelog
MIT licensed.
Source: README.md at commit 90b81fc
Tools
0Version history
3- v1.0.6LatestOct 12, 2026
- v1.0.4Sep 27, 2026
- v1.0.3Sep 25, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts