OpenRig

MCP tools

Generated from OpenRig 0.5.14 (cc75efdd), commit cc75efdd17fb967bde7cff6c5805791986af78d8.

Discovered through MCP tools/list; no tools were invoked. Required inputs are marked below. JSON schemas are retained in full for nested constraints.

rig_up

Bootstrap a rig from a spec or bundle

Input Type Required Description
sourceRef "string" yes Path to .yaml rig spec or .rigbundle
plan "boolean" no Plan mode — preview without executing
autoApprove "boolean" no Auto-approve trusted actions
targetRoot "string" no Target root directory for package installation
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "sourceRef": {
      "type": "string",
      "description": "Path to .yaml rig spec or .rigbundle"
    },
    "plan": {
      "description": "Plan mode — preview without executing",
      "type": "boolean"
    },
    "autoApprove": {
      "description": "Auto-approve trusted actions",
      "type": "boolean"
    },
    "targetRoot": {
      "description": "Target root directory for package installation",
      "type": "string"
    }
  },
  "required": [
    "sourceRef"
  ]
}

rig_down

Tear down a rig

Input Type Required Description
rigId "string" yes Rig identifier to tear down
delete "boolean" no Delete rig record after stopping
force "boolean" no Kill sessions immediately
snapshot "boolean" no Take snapshot before teardown
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigId": {
      "type": "string",
      "description": "Rig identifier to tear down"
    },
    "delete": {
      "description": "Delete rig record after stopping",
      "type": "boolean"
    },
    "force": {
      "description": "Kill sessions immediately",
      "type": "boolean"
    },
    "snapshot": {
      "description": "Take snapshot before teardown",
      "type": "boolean"
    }
  },
  "required": [
    "rigId"
  ]
}

rig_ps

List rigs and their status

Input Type Required Description
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}

rig_status

Check daemon health

Input Type Required Description
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}

rig_snapshot_create

Create a snapshot for a rig

Input Type Required Description
rigId "string" yes Rig identifier
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigId": {
      "type": "string",
      "description": "Rig identifier"
    }
  },
  "required": [
    "rigId"
  ]
}

rig_snapshot_list

List snapshots for a rig

Input Type Required Description
rigId "string" yes Rig identifier
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigId": {
      "type": "string",
      "description": "Rig identifier"
    }
  },
  "required": [
    "rigId"
  ]
}

rig_restore

Restore a rig from a snapshot

Input Type Required Description
rigId "string" yes Rig identifier
snapshotId "string" yes Snapshot identifier
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigId": {
      "type": "string",
      "description": "Rig identifier"
    },
    "snapshotId": {
      "type": "string",
      "description": "Snapshot identifier"
    }
  },
  "required": [
    "rigId",
    "snapshotId"
  ]
}

rig_discover

Scan for tmux sessions to discover

Input Type Required Description
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}

rig_bind

Bind a discovered session to an existing node or create a new node in a pod

Input Type Required Description
discoveryId "string" yes Discovery session identifier
rigId "string" yes Target rig identifier
logicalId "string" no Existing node logical ID (mode: bind to existing)
podNamespace "string" no Pod namespace to create node in (mode: create in pod)
memberName "string" no Member name for new node (required with podNamespace)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "discoveryId": {
      "type": "string",
      "description": "Discovery session identifier"
    },
    "rigId": {
      "type": "string",
      "description": "Target rig identifier"
    },
    "logicalId": {
      "description": "Existing node logical ID (mode: bind to existing)",
      "type": "string"
    },
    "podNamespace": {
      "description": "Pod namespace to create node in (mode: create in pod)",
      "type": "string"
    },
    "memberName": {
      "description": "Member name for new node (required with podNamespace)",
      "type": "string"
    }
  },
  "required": [
    "discoveryId",
    "rigId"
  ]
}

rig_bundle_inspect

Inspect a .rigbundle file

Input Type Required Description
bundlePath "string" yes Path to .rigbundle file
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "bundlePath": {
      "type": "string",
      "description": "Path to .rigbundle file"
    }
  },
  "required": [
    "bundlePath"
  ]
}

rig_agent_validate

Validate an AgentSpec (agent.yaml) from YAML text

Input Type Required Description
yaml "string" yes YAML text of the agent spec
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "yaml": {
      "type": "string",
      "description": "YAML text of the agent spec"
    }
  },
  "required": [
    "yaml"
  ]
}

rig_rig_validate

Validate a RigSpec (rig.yaml) from YAML text

Input Type Required Description
yaml "string" yes YAML text of the rig spec
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "yaml": {
      "type": "string",
      "description": "YAML text of the rig spec"
    }
  },
  "required": [
    "yaml"
  ]
}

rig_rig_nodes

Get node inventory for a rig — session names, status, attach commands, resume commands

Input Type Required Description
rigId "string" yes Rig identifier
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigId": {
      "type": "string",
      "description": "Rig identifier"
    }
  },
  "required": [
    "rigId"
  ]
}

rig_send

Send a message to an agent's terminal using reliable two-step send

Input Type Required Description
session "string" yes Target session name (e.g. example-seat@example)
text "string" yes Message text to send
verify "boolean" no Verify delivery by checking pane content
force "boolean" no Send even if target appears mid-task
waitForIdleSeconds "number" no Wait until explicit idle evidence before sending
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "session": {
      "type": "string",
      "description": "Target session name (e.g. example-seat@example)"
    },
    "text": {
      "type": "string",
      "description": "Message text to send"
    },
    "verify": {
      "description": "Verify delivery by checking pane content",
      "type": "boolean"
    },
    "force": {
      "description": "Send even if target appears mid-task",
      "type": "boolean"
    },
    "waitForIdleSeconds": {
      "description": "Wait until explicit idle evidence before sending",
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "session",
    "text"
  ]
}

rig_capture

Capture terminal output from an agent session

Input Type Required Description
session "string" no Session name (omit for multi-target with rig/pod)
rig "string" no Capture all sessions in a rig
pod "string" no Capture all sessions in a pod
lines "number" no Number of lines to capture (default: 20)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "session": {
      "description": "Session name (omit for multi-target with rig/pod)",
      "type": "string"
    },
    "rig": {
      "description": "Capture all sessions in a rig",
      "type": "string"
    },
    "pod": {
      "description": "Capture all sessions in a pod",
      "type": "string"
    },
    "lines": {
      "description": "Number of lines to capture (default: 20)",
      "type": "number"
    }
  }
}

rig_chatroom_send

Send a message to a rig's chatroom

Input Type Required Description
rigName "string" yes Rig name to send message to
body "string" yes Message body
sender "string" no (deprecated, ignored) the sender is derived from the seat env (X-OpenRig-Session, stamped by the MCP server's DaemonClient); the chat route derives it from the transport header
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigName": {
      "type": "string",
      "description": "Rig name to send message to"
    },
    "body": {
      "type": "string",
      "description": "Message body"
    },
    "sender": {
      "description": "(deprecated, ignored) the sender is derived from the seat env (X-OpenRig-Session, stamped by the MCP server's DaemonClient); the chat route derives it from the transport header",
      "type": "string"
    }
  },
  "required": [
    "rigName",
    "body"
  ]
}

rig_chatroom_watch

Get recent chatroom messages for a rig (MCP returns history, not streaming)

Input Type Required Description
rigName "string" yes Rig name
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigName": {
      "type": "string",
      "description": "Rig name"
    }
  },
  "required": [
    "rigName"
  ]
}

rig_add

Add a single member to an existing pod in a running rig (the add_member converge op). Identity-migration-free: mints a fresh seat, nothing existing re-keys.

Input Type Required Description
rigId "string" yes Target rig identifier
podNamespace "string" yes Namespace of the existing pod to add the member to
member "object" yes Member fragment with spec snake_case fields: id, runtime, agent_ref, profile, cwd (and optional model, codex_config_profile, restore_policy, label)
edges "array" no Optional pod-local edges (from/to are member ids within the pod; resolved against the new member + existing pod-mates)
rigRoot "string" no Root directory for agent resolution
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rigId": {
      "type": "string",
      "description": "Target rig identifier"
    },
    "podNamespace": {
      "type": "string",
      "description": "Namespace of the existing pod to add the member to"
    },
    "member": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Member fragment with spec snake_case fields: id, runtime, agent_ref, profile, cwd (and optional model, codex_config_profile, restore_policy, label)"
    },
    "edges": {
      "description": "Optional pod-local edges (from/to are member ids within the pod; resolved against the new member + existing pod-mates)",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "kind"
        ]
      }
    },
    "rigRoot": {
      "description": "Root directory for agent resolution",
      "type": "string"
    }
  },
  "required": [
    "rigId",
    "podNamespace",
    "member"
  ]
}