Directories
¶
| Path | Synopsis |
|---|---|
|
agent
|
|
|
client
Package client implements the desktop agent's WebSocket connection to rc-mcp-server: dialing with exponential backoff, the hello/hello_ack re-authentication handshake on reconnect, and a keepalive heartbeat.
|
Package client implements the desktop agent's WebSocket connection to rc-mcp-server: dialing with exponential backoff, the hello/hello_ack re-authentication handshake on reconnect, and a keepalive heartbeat. |
|
executor
This file implements the fs_read/fs_write/fs_list/fs_delete/fs_stat executors.
|
This file implements the fs_read/fs_write/fs_list/fs_delete/fs_stat executors. |
|
updater
Package updater implements the agent's opt-in auto-update mechanism (docs/specs/backend.md Section 19, phase-3-post-mvp Risks "unsigned binary replacement"): on connect, if the server advertises a different version than the running binary and AGENT_AUTO_UPDATE=true, download the new binary from the release pipeline's endpoint (docs/operations/ agent-releases.md), verify it against its published checksum, and only on success replace the running binary and restart.
|
Package updater implements the agent's opt-in auto-update mechanism (docs/specs/backend.md Section 19, phase-3-post-mvp Risks "unsigned binary replacement"): on connect, if the server advertises a different version than the running binary and AGENT_AUTO_UPDATE=true, download the new binary from the release pipeline's endpoint (docs/operations/ agent-releases.md), verify it against its published checksum, and only on success replace the running binary and restart. |
|
cmd
|
|
|
agent
command
Command rc-mcp-agent is the desktop agent entry point: it loads (or obtains via first-run pairing) a persistent device token, then runs the dial/connect/pair/reconnect lifecycle against rc-mcp-server.
|
Command rc-mcp-agent is the desktop agent entry point: it loads (or obtains via first-run pairing) a persistent device token, then runs the dial/connect/pair/reconnect lifecycle against rc-mcp-server. |
|
server
command
Command rc-mcp-server is the relay-hub server entry point: it starts the agent WebSocket / health HTTP listener, the localhost-only admin API, wires the device registry through both, and handles graceful shutdown.
|
Command rc-mcp-server is the relay-hub server entry point: it starts the agent WebSocket / health HTTP listener, the localhost-only admin API, wires the device registry through both, and handles graceful shutdown. |
|
internal
|
|
|
admin
Package admin implements the localhost-only admin API used to approve or reject agent pairing codes.
|
Package admin implements the localhost-only admin API used to approve or reject agent pairing codes. |
|
agent
Package agent implements the server side of the desktop-agent WebSocket connection lifecycle: accepting upgrades on GET /agent/ws, running the hello/pairing handshake, and tracking online/offline devices.
|
Package agent implements the server side of the desktop-agent WebSocket connection lifecycle: accepting upgrades on GET /agent/ws, running the hello/pairing handshake, and tracking online/offline devices. |
|
audit
Package audit implements the server-side, append-only audit log: the authoritative, tamper-resistant record of every tool invocation.
|
Package audit implements the server-side, append-only audit log: the authoritative, tamper-resistant record of every tool invocation. |
|
auth
Package auth provides constant-time bearer token comparison primitives shared by every auth boundary in rc-mcp-server.
|
Package auth provides constant-time bearer token comparison primitives shared by every auth boundary in rc-mcp-server. |
|
devices
Package devices implements the device registry: the durable record of every paired desktop agent, plus the pairing-code lifecycle used to enroll new devices.
|
Package devices implements the device registry: the durable record of every paired desktop agent, plus the pairing-code lifecycle used to enroll new devices. |
|
fsroot
Package fsroot implements the server-side global filesystem root policy (RC_GLOBAL_FS_ALLOWED_ROOTS, docs/specs/backend.md Section 12.6): a coarse, server-side check applied before dispatch, in addition to (not instead of) each agent's own AGENT_FS_ALLOWED_ROOTS.
|
Package fsroot implements the server-side global filesystem root policy (RC_GLOBAL_FS_ALLOWED_ROOTS, docs/specs/backend.md Section 12.6): a coarse, server-side check applied before dispatch, in addition to (not instead of) each agent's own AGENT_FS_ALLOWED_ROOTS. |
|
jobs
Package jobs implements the server-side job store for long-running dispatch pattern (a) operations (e.g.
|
Package jobs implements the server-side job store for long-running dispatch pattern (a) operations (e.g. |
|
mcp/completions
Package completions implements the "completions" MCP capability from docs/specs/backend.md Section 2: argument auto-completion for tool inputs, most usefully clientId (sourced from the device registry) and filesystem paths (dispatched to the target agent's fs_list).
|
Package completions implements the "completions" MCP capability from docs/specs/backend.md Section 2: argument auto-completion for tool inputs, most usefully clientId (sourced from the device registry) and filesystem paths (dispatched to the target agent's fs_list). |
|
mcp/prompts
Package prompts implements the three operator-defined prompt templates from docs/specs/backend.md Section 5: diagnose_system, safe_cleanup, and shell_workflow.
|
Package prompts implements the three operator-defined prompt templates from docs/specs/backend.md Section 5: diagnose_system, safe_cleanup, and shell_workflow. |
|
mcp/resources
Package resources implements the five MCP resources from docs/specs/backend.md Section 4: clients://list, job://{id}, sysinfo://{clientId}/overview, audit://log, and shell://sessions — read-only status surfaces with per-session subscriptions and pushed notifications/resources/updated events.
|
Package resources implements the five MCP resources from docs/specs/backend.md Section 4: clients://list, job://{id}, sysinfo://{clientId}/overview, audit://log, and shell://sessions — read-only status surfaces with per-session subscriptions and pushed notifications/resources/updated events. |
|
mcp/schema
Package schema implements the subset of JSON Schema the tool input schemas in internal/mcp/tools use, so tools/call arguments can be validated in one shared path before any handler runs (Section 12.6, Section 13 "Invalid params").
|
Package schema implements the subset of JSON Schema the tool input schemas in internal/mcp/tools use, so tools/call arguments can be validated in one shared path before any handler runs (Section 12.6, Section 13 "Invalid params"). |
|
mcp/tools
This file implements the input_key, input_mouse_click, input_mouse_move, and input_type tools: the `input` capability area (docs/specs/backend.md Section 19).
|
This file implements the input_key, input_mouse_click, input_mouse_move, and input_type tools: the `input` capability area (docs/specs/backend.md Section 19). |
|
mcp/types
Package types holds the MCP tool input/output types shared by the server's tool handlers and (for the fields the agent-side executors also need) the desktop agent.
|
Package types holds the MCP tool input/output types shared by the server's tool handlers and (for the fields the agent-side executors also need) the desktop agent. |
|
protocol
Package protocol defines the wire protocol shared between rc-mcp-server and rc-mcp-agent: the JSON envelope, binary frame header, and protocol version negotiation.
|
Package protocol defines the wire protocol shared between rc-mcp-server and rc-mcp-agent: the JSON envelope, binary frame header, and protocol version negotiation. |
|
redisclient
Package redisclient provides the minimal key/value operation set the Redis-backed SessionStore (internal/session) and DeviceRegistry (internal/devices) implementations need, isolating the go-redis dependency to this one package.
|
Package redisclient provides the minimal key/value operation set the Redis-backed SessionStore (internal/session) and DeviceRegistry (internal/devices) implementations need, isolating the go-redis dependency to this one package. |
|
session
Package session implements MCP session state: the per-Mcp-Session-Id record of negotiated capabilities, the SSE fan-in event channel and replay buffer, active shell session mappings, and pending server-initiated request/response correlation (elicitation).
|
Package session implements MCP session state: the per-Mcp-Session-Id record of negotiated capabilities, the SSE fan-in event channel and replay buffer, active shell session mappings, and pending server-initiated request/response correlation (elicitation). |
|
shellpolicy
Package shellpolicy implements operator-configurable shell command allowlist/denylist enforcement, evaluated server-side before any dispatch to an agent (docs/specs/backend.md Section 19, phase-3-post-mvp Risks "ReDoS").
|
Package shellpolicy implements operator-configurable shell command allowlist/denylist enforcement, evaluated server-side before any dispatch to an agent (docs/specs/backend.md Section 19, phase-3-post-mvp Risks "ReDoS"). |
|
transport
Package transport implements the MCP-facing Streamable HTTP transport: the single /mcp endpoint (POST/GET/DELETE), its SSE stream, and the bearer-auth / origin-allowlist middleware that gate every request.
|
Package transport implements the MCP-facing Streamable HTTP transport: the single /mcp endpoint (POST/GET/DELETE), its SSE stream, and the bearer-auth / origin-allowlist middleware that gate every request. |
Click to show internal directories.
Click to hide internal directories.