Documentation

MCP

Configure an MCP client, authorize account access and permissions, and use RC tools.

Endpoint

https://rc.ohrats.party/mcp

All users connect to the same endpoint and authenticate with OAuth. The MCP server name and configuration identifier are RC and rc.

Codex

$codex mcp add rc --url https://rc.ohrats.party/mcp --oauth-resource https://rc.ohrats.party/mcp
$codex mcp login --scopes mcp:observe,mcp:terminal rc

Request only the scopes the agent needs. Omit mcp:terminal for read-only access.

Claude Code

$claude mcp add --scope user --transport http rc https://rc.ohrats.party/mcp
$claude mcp login rc

Use /mcp inside Claude Code to inspect configured servers and authentication state.

Cursor

Add the server to ~/.cursor/mcp.json for all projects or .cursor/mcp.json for one project.

{
  "mcpServers": {
    "rc": { "url": "https://rc.ohrats.party/mcp" }
  }
}
$cursor-agent mcp login rc

Visual Studio Code

Add the server to the user MCP configuration or .vscode/mcp.json in a workspace.

{
  "servers": {
    "rc": { "type": "http", "url": "https://rc.ohrats.party/mcp" }
  }
}

Start the server from MCP: List Servers or use it from Agent mode. VS Code opens browser authentication for remote MCP servers.

Antigravity CLI (agy)

Add the server to ~/.gemini/config/mcp_config.json, or use .agents/mcp_config.json for one workspace.

{
  "mcpServers": {
    "rc": { "serverUrl": "https://rc.ohrats.party/mcp" }
  }
}

Start agy and use /mcp to inspect configured servers and authenticate when required.

Authorize RC

The MCP client opens RC in the browser. RC shows the client name and callback URI and asks you to choose permissions and grant lifetime for current and future machines in your account.

Terminal is not selected by default. Execution-capable grants require an Owner and a fresh passkey ceremony.

The default grant lifetime is until revoked. Finite choices are 1 hour, 1 day, 7 days, 30 days, 90 days, 180 days, and 1 year.

Scopes and tools

ScopeToolsMeaning
mcp:observemachines_list, process_statusRead granted machine metadata and status/output for MCP processes created by the same grant.
mcp:terminalprocess_runRun an arbitrary shell command on an explicitly granted machine.

OAuth and Node verification

RC publishes Protected Resource Metadata and authorization-server metadata. Clients use PKCE S256 and resource-bound access tokens. Access tokens are short-lived; refresh tokens rotate and cannot outlive the durable grant.

The browser control identity signs the exact MCP grant. RC synchronizes its hash into RC Lock.

Before execution, the Node verifies the grant signature, current Owner signer, versioned account or legacy device scope, required permission, grant presence in RC Lock, and expiry.

Long-running processes

process_run waits up to the requested timeout and returns output plus process status. If the process is still running, call process_status with the process ID and returned nextOffset.

process_status returns only bytes after the requested offset and can wait up to 60 seconds for new output or exit.

Terminal data handling

MCP Terminal command/output plaintext passes through bounded RC server memory because standard remote MCP does not use RC's browser/CLI end-to-end transport.

The buffer is capped at 256 KiB and is not persisted to SQLite. Completed buffers expire after five minutes; inactive running buffers expire after thirty minutes.