Skip to content
ARC / Agent documentation
Agent index ↗Back to Arc ↗

MCP catalogs

Seat conversation control

Exact arguments and input schemas for seat conversation control.

On this page

MCP reference index

arc_seat_context

Read exactly what a managed seat's next turn will replay: the exchanges inside its replay window (newest 12 non-excluded entries), the older ones beyond it, excluded ones, the next to fall out, and history_revision — the CAS token the seat-context verbs take as expected_history_revision. Tool calls, tool results and images are never replayed. run_id is required.

ArgumentRequiredTypeDescription / schema default
run_idyesstringSee the schema below.
membership_idnostringSee the schema below.
agent_idnostringSee the schema below.
max_charsnointegercharacter budget (default 24000); older entries past it are clipped to a stand-in with head + sha256

Complete input schema

json
{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string"
    },
    "membership_id": {
      "type": "string"
    },
    "agent_id": {
      "type": "string"
    },
    "max_chars": {
      "type": "integer",
      "description": "character budget (default 24000); older entries past it are clipped to a stand-in with head + sha256"
    }
  },
  "required": [
    "run_id"
  ]
}

arc_seat_retry

Drop a managed seat's last exchange and re-run it with the same or an edited prompt (message); superseded rows stay in the room for audit as stubs. dry_run=true returns the plan and the side effects that STAY (files, tasks, claims, artifacts, decisions). Refused while the seat is busy; queued turns block unless drop_queued=true. Conversation only — never an undo of files, tasks, or decisions.

ArgumentRequiredTypeDescription / schema default
run_idyesstringSee the schema below.
membership_idnostringSee the schema below.
agent_idnostringSee the schema below.
turn_idyesstringthe seat's last committed turn (from arc_seat_context or arc_seat_status)
messagenostringedited prompt; omit to retry the original prompt
dry_runnobooleanreturn the supersede plan and side effects without acting
drop_queuednobooleandrop the seat's queued turns first instead of refusing
expected_history_revisionnointegerCAS token from arc_seat_context; a mismatch is refused
supersede_requestnobooleanalso stub the operator's request row on a same-prompt retry
source_message_idnointegerroom message that carries the new prompt, if you posted one
max_stepsnointegercheckpoint interval for the replacement turn, 1..500
origin_idnostringoptional stable delivery key for the replacement turn
request_idnostringidempotency key; retry a timed-out write with the SAME id (never duplicates)

Complete input schema

json
{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string"
    },
    "membership_id": {
      "type": "string"
    },
    "agent_id": {
      "type": "string"
    },
    "turn_id": {
      "type": "string",
      "description": "the seat's last committed turn (from arc_seat_context or arc_seat_status)"
    },
    "message": {
      "type": "string",
      "description": "edited prompt; omit to retry the original prompt"
    },
    "dry_run": {
      "type": "boolean",
      "description": "return the supersede plan and side effects without acting"
    },
    "drop_queued": {
      "type": "boolean",
      "description": "drop the seat's queued turns first instead of refusing"
    },
    "expected_history_revision": {
      "type": "integer",
      "description": "CAS token from arc_seat_context; a mismatch is refused"
    },
    "supersede_request": {
      "type": "boolean",
      "description": "also stub the operator's request row on a same-prompt retry"
    },
    "source_message_id": {
      "type": "integer",
      "description": "room message that carries the new prompt, if you posted one"
    },
    "max_steps": {
      "type": "integer",
      "description": "checkpoint interval for the replacement turn, 1..500"
    },
    "origin_id": {
      "type": "string",
      "description": "optional stable delivery key for the replacement turn"
    },
    "request_id": {
      "type": "string",
      "description": "idempotency key; retry a timed-out write with the SAME id (never duplicates)"
    }
  },
  "required": [
    "run_id",
    "turn_id"
  ]
}

arc_seat_rewind

Forget one exchange and everything after it in a managed seat's memory. Pass message to continue from that point; omit it to leave the seat ready (at the last exchange this is simply Discard reply). The forgotten replies and requests are superseded in the room — stubbed for every reader, kept for audit. dry_run=true previews the plan and the side effects that stay. Refused while the seat is busy; queued turns block unless drop_queued=true.

ArgumentRequiredTypeDescription / schema default
run_idyesstringSee the schema below.
membership_idnostringSee the schema below.
agent_idnostringSee the schema below.
turn_idyesstringthe first committed turn to forget; every later exchange goes with it
messagenostringoptional prompt to continue with from the rewind point
dry_runnobooleanSee the schema below.
drop_queuednobooleanSee the schema below.
expected_history_revisionnointegerSee the schema below.
source_message_idnointegerSee the schema below.
max_stepsnointegerSee the schema below.
origin_idnostringSee the schema below.
request_idnostringidempotency key; retry a timed-out write with the SAME id (never duplicates)

Complete input schema

json
{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string"
    },
    "membership_id": {
      "type": "string"
    },
    "agent_id": {
      "type": "string"
    },
    "turn_id": {
      "type": "string",
      "description": "the first committed turn to forget; every later exchange goes with it"
    },
    "message": {
      "type": "string",
      "description": "optional prompt to continue with from the rewind point"
    },
    "dry_run": {
      "type": "boolean"
    },
    "drop_queued": {
      "type": "boolean"
    },
    "expected_history_revision": {
      "type": "integer"
    },
    "source_message_id": {
      "type": "integer"
    },
    "max_steps": {
      "type": "integer"
    },
    "origin_id": {
      "type": "string"
    },
    "request_id": {
      "type": "string",
      "description": "idempotency key; retry a timed-out write with the SAME id (never duplicates)"
    }
  },
  "required": [
    "run_id",
    "turn_id"
  ]
}

arc_seat_edit_reply

Rewrite the reply a managed seat will remember for one committed exchange. The seat's old reply row is superseded and the edited text is posted BY YOU (metadata arc_event=seat_reply_edited names the seat and turn) — never as the seat — and the seat is told on its next turn that the edited text is authoritative.

ArgumentRequiredTypeDescription / schema default
run_idyesstringSee the schema below.
membership_idnostringSee the schema below.
agent_idnostringSee the schema below.
turn_idyesstringSee the schema below.
contentyesstringthe reply the seat should remember having given
expected_history_revisionnointegerSee the schema below.
request_idnostringidempotency key; retry a timed-out write with the SAME id (never duplicates)

Complete input schema

json
{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string"
    },
    "membership_id": {
      "type": "string"
    },
    "agent_id": {
      "type": "string"
    },
    "turn_id": {
      "type": "string"
    },
    "content": {
      "type": "string",
      "description": "the reply the seat should remember having given"
    },
    "expected_history_revision": {
      "type": "integer"
    },
    "request_id": {
      "type": "string",
      "description": "idempotency key; retry a timed-out write with the SAME id (never duplicates)"
    }
  },
  "required": [
    "run_id",
    "turn_id",
    "content"
  ]
}

arc_seat_exclude_context

Exclude one committed exchange from (excluded=true, the default) or restore it to (excluded=false) a managed seat's replayed context without deleting it or touching the room. Excluding pulls an older exchange into the replay window.

ArgumentRequiredTypeDescription / schema default
run_idyesstringSee the schema below.
membership_idnostringSee the schema below.
agent_idnostringSee the schema below.
turn_idyesstringSee the schema below.
excludednobooleanSee the schema below.
expected_history_revisionnointegerSee the schema below.
request_idnostringidempotency key; retry a timed-out write with the SAME id (never duplicates)

Complete input schema

json
{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string"
    },
    "membership_id": {
      "type": "string"
    },
    "agent_id": {
      "type": "string"
    },
    "turn_id": {
      "type": "string"
    },
    "excluded": {
      "type": "boolean"
    },
    "expected_history_revision": {
      "type": "integer"
    },
    "request_id": {
      "type": "string",
      "description": "idempotency key; retry a timed-out write with the SAME id (never duplicates)"
    }
  },
  "required": [
    "run_id",
    "turn_id"
  ]
}