MCP & agent install
Login-first install for the Claude Code plugin, Cursor, Codex, Pi/Hermes, skills.sh, hosted MCP, and CI.
OriginAI offers three ways to connect an agent: a hosted MCP server, a Claude Code plugin (a local MCP bridge plus the skill), and CLI skill files for every major coding agent. All of them go through the same access-token API, with the same behavior — reads default to the latest release, and writes are guarded after your first publish.
Read this first: the auth model
| Who | How they authenticate |
|---|---|
| Humans (default) | npx originai login → ~/.origin/settings.json |
| The Claude Code plugin | Local stdio MCP via npx originai mcp (reads your login store) |
| Skill / CLI agents (Codex, Pi, Hermes, OpenCode, skills.sh) | The same login; agents call npx originai … |
| CI / remote-only MCP hosts | ORIGIN_TOKEN=oat_… (from Settings → Access tokens) |
Don't treat "create an access token and export ORIGIN_TOKEN" as the default onboarding path — that's for CI and advanced setups. Create tokens only when you need them (see Access tokens), and never commit an oat_ value.
The public remote endpoint (advanced)
https://mcp.getoriginai.com- Transport: Streamable HTTP (MCP
2025-03-26). - Auth:
Authorization: Bearer oat_…. - The hostname is a Cloudflare reverse proxy, so clients never need to reach
*.supabase.co.
The available tools
| Tool | Purpose |
|---|---|
whoami | The token owner and project count. |
list_projects | Your projects and their latest release hash. |
create_project | A new empty project (plan limits apply). |
list_documents | The file tree (default: the latest release). |
get_document | One file, with its content. |
get_diff | A unified diff between release hashes, optionally with full bodies. |
grep_documents / find_documents | Search content or file names. |
write_document / delete_document / delete_documents | Workspace writes; after a release these create or extend a Change Request (suggested: true + proposal_id). There is no create_change_request tool. Pass proposal_id / new_proposal to continue or open a CR. Optional require_suggest refuses direct writes with 409. |
list_proposals / get_proposal / get_proposal_diff / describe_proposal / submit_proposal / commit_proposal | Change-request loop. list_proposals includes decided_items[] with dismiss_reason and behind_latest when the CR is older than the latest release. describe_proposal records purpose + design rationale. Use get_proposal_diff when implementing a bound change request. |
comment_proposal / list_proposal_comments / list_proposal_reviews | Discuss a change request; read Ready / Not ready (agents never conclude). |
sync_origin_json | Compute the .origin.json pointer to write after implementing a published release. Write origin_json into the file — the tool does not touch the filesystem. |
list_webhooks / create_webhook / delete_webhook | Outbound release.published / proposal.decided / proposal.commented events. |
validate | Validate RPML (by source and/or file_id). |
search_shots / get_shot / list_shot_facets | Layout-shot standards (IA + optional RPML). Call before generating a new screen. |
Create a Change Request
Kernel names stay *_proposal. After a release:
list_proposalswithstatus: "all".validate, thenwrite_document(first staged write creates the CR).describe_proposal— Issue (title,note) + Decisions/Changelog (rationale).submit_proposal. Never apply, dismiss, or record Ready / Not ready.
Prefer get_proposal_diff when implementing a change request, get_diff when implementing a published release. After implementing a published release, call sync_origin_json and write origin_json into .origin.json, or run npx originai sync. sync / sync_origin_json clears .origin.json proposal_id only after a new release hash exists.
Install by agent
Claude Code — the plugin (recommended)
npx originai login/plugin marketplace add 21stware/originai-context
/plugin install origin@origin-claude-marketplaceFor development inside the monorepo:
claude --plugin-dir /path/to/origin/packages/claude-pluginThen link and verify:
npx originai link --project <project-id>
npx originai doctorThe plugin's .mcp.json runs a local MCP server:
{
"mcpServers": {
"origin": {
"command": "npx",
"args": ["-y", "originai", "mcp"]
}
}
}There's no day-to-day export ORIGIN_TOKEN needed for Claude Code.
Cursor
npx originai login
npx originai link --project <project-id> --cursor --skill
npx originai mcp config --cursorPaste the printed JSON into Cursor's MCP settings — the stdio bridge uses your login. A remote HTTP MCP with ORIGIN_TOKEN is optional, for automation.
OpenAI Codex
npx originai login
npx originai link --project <project-id> --codex --skillCodex agents use the CLI via AGENTS.md and the skill. MCP is optional if your Codex host supports it.
Pi / Hermes / OpenCode (Agent Skills)
npx originai login
npx originai link --project <project-id> --skillThis writes .agents/skills/origin-product-spec-management/. Tools default to the CLI, with MCP optional.
skills.sh / Agent Skills / well-known
From GitHub (works with npx skills add):
npx skills add 21stware/originai-context
# the skill path in the repo is: skills/origin-product-spec-management/From the site's well-known endpoint:
- https://getoriginai.com/.well-known/agent-skills/index.json
npx skills add https://getoriginai.com
After installing the skill, agents still need to:
npx originai loginnpx originai link --project <id>in the product repo.
The skill documents the MCP-first, CLI-fallback approach, and it embeds no tokens.
Claude Code — CLAUDE.md only (no plugin)
npx originai login
npx originai link --project <project-id> --claude-code --skill
# optional: npx originai mcp config --claudeRemote HTTP MCP (any client) — advanced
export ORIGIN_TOKEN=oat_…{
"mcpServers": {
"origin": {
"type": "http",
"url": "https://mcp.getoriginai.com",
"headers": {
"Authorization": "Bearer ${ORIGIN_TOKEN}"
}
}
}
}npx originai link --project <project-id>All instruction files at once
npx originai login
npx originai link --project <project-id> --allCI
export ORIGIN_TOKEN=oat_…
npx originai get-diff
npx originai syncHandy CLI helpers
npx originai login
npx originai doctor # login + link + skill files + API
npx originai mcp # stdio MCP server (the plugin default)
npx originai mcp config --cursor
npx originai install-help # the full matrixCLI vs MCP at a glance
| OriginAI CLI | Local originai mcp | Remote HTTP MCP | |
|---|---|---|---|
| Best for | Codex / Pi / Hermes / CI | The Claude Code plugin, Cursor stdio | Remote-only hosts |
| Auth | login or ORIGIN_TOKEN | Same as the CLI (login) | Bearer ORIGIN_TOKEN |
| Sync pointer | sync updates release_hash | sync_origin_json or CLI sync | sync_origin_json or CLI sync |
| Skill / methodology | link --skill | The plugin bundles the skill | Optional skill files |
For maintainers (monorepo)
bun run --cwd packages/skills sync-assets
bun run claude-plugin:sync
bun run --cwd packages/claude-marketplace syncThe snippets' source of truth is packages/skills/src/install-snippets.ts, and the frontend tabs come from frontend/src/lib/agent-install.ts.