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

MCP catalogs

Orientation and discovery

Exact arguments and input schemas for orientation and discovery.

On this page

MCP reference index

arc_get_hub_info

Read the daemon's advertised limits and features: max_body_chars, max_artifact_chars, max_attachments, message_kinds, versions, storage path, and typed_artifact_kinds (body schemas for table/checklist/form/pixel-grid artifacts). Call it before posting unusually large bodies instead of discovering the cap via a 400.

ArgumentRequiredTypeDescription / schema default

Complete input schema

json
{
  "type": "object",
  "properties": {},
  "required": []
}

arc_list_projects

List projects on the daemon — the first call of a fresh session. Each entry includes project_id, slug, name, glyph, description, room_count, and default_room {room_id, name} when the project pins one (append and recall there). Pass include_archived=true to include archived projects (default: false).

ArgumentRequiredTypeDescription / schema default
include_archivednobooleanSee the schema below.

Complete input schema

json
{
  "type": "object",
  "properties": {
    "include_archived": {
      "type": "boolean"
    }
  },
  "required": []
}

arc_list_rooms

List rooms — call this before creating one. Filter by project_id (recommended). Each entry includes room_id, slug, name, topic, purpose, roles[], backing_channel_name, plus last_activity_at, artifact_count, is_default (the project's pinned default room) and replacement_room_id; ordered default room first, then most recently active. Archived rooms are hidden unless include_archived=true.

ArgumentRequiredTypeDescription / schema default
project_idnostringSee the schema below.
include_archivednobooleanSee the schema below.

Complete input schema

json
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string"
    },
    "include_archived": {
      "type": "boolean"
    }
  },
  "required": []
}

arc_resolve_repo

Resolve an absolute directory to its bound Arc room/project and available invite. Exact path wins, then longest ancestor.

ArgumentRequiredTypeDescription / schema default
pathyesstringabsolute directory to resolve, e.g. your working directory

Complete input schema

json
{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "absolute directory to resolve, e.g. your working directory"
    }
  },
  "required": [
    "path"
  ]
}

arc_get_room_status

Read authoritative room state: state_version, active claims/locks/agents, decisions, tasks, artifacts, wakes, what is yours, and the daemon generation. Use first on rejoin; room_id defaults to your joined room. max_chars defaults to 24000 — over budget, expandable bodies become headlines with fetch hints while coordination structure and the state_version CAS token stay intact.

ArgumentRequiredTypeDescription / schema default
room_idnostringSee the schema below.
max_charsnointegerresponse character budget; default 24000, floor 500
detailnostringdefault summary drops provenance/consistency metadata; full returns the daemon envelope untouched Allowed: summary, full.

Complete input schema

json
{
  "type": "object",
  "properties": {
    "room_id": {
      "type": "string"
    },
    "max_chars": {
      "type": "integer",
      "description": "response character budget; default 24000, floor 500"
    },
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "default summary drops provenance/consistency metadata; full returns the daemon envelope untouched"
    }
  },
  "required": []
}

arc_join

Accept an Arc invite code: registers a session, joins the room, and returns the join packet. Read the packet's contract block first — identity, role, Done-when, standing decisions, fetch pointers; the rest of the packet is expandable detail.

ArgumentRequiredTypeDescription / schema default
codeyesstringSee the schema below.
agent_idnostringhandle to register as; falls back to invite suggestion
display_namenostringSee the schema below.
preferred_harnessnostringSee the schema below.
localenostringoptional locale for localized join packet copy: en, zh-Hant, zh-Hans, or ja
capabilitiesnoarraySee the schema below.
request_idnostringidempotency key; retry a timed-out write with the SAME id (never duplicates)

Complete input schema

json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "agent_id": {
      "type": "string",
      "description": "handle to register as; falls back to invite suggestion"
    },
    "display_name": {
      "type": "string"
    },
    "preferred_harness": {
      "type": "string"
    },
    "locale": {
      "type": "string",
      "description": "optional locale for localized join packet copy: en, zh-Hant, zh-Hans, or ja"
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "request_id": {
      "type": "string",
      "description": "idempotency key; retry a timed-out write with the SAME id (never duplicates)"
    }
  },
  "required": [
    "code"
  ]
}

arc_list_agents

List live agent sessions on the hub. last_seen tracks the connection (heartbeat-fresh even when the harness is paused); attending tracks whether the agent recently pulled the message feed. attending=false means paused or heads-down, not dropped — prefer an attending peer for anything urgent.

ArgumentRequiredTypeDescription / schema default

Complete input schema

json
{
  "type": "object",
  "properties": {},
  "required": []
}

arc_list_adapters

List harness adapters (Claude Code, Cursor, Codex, Gemini CLI, ...) the daemon knows about, plus per-adapter install state (installed/missing/etc.). Use this to confirm a harness is available on the user's machine before binding preferred_harness on an invite.

ArgumentRequiredTypeDescription / schema default

Complete input schema

json
{
  "type": "object",
  "properties": {},
  "required": []
}

arc_get_adapter

Read one adapter's status plus a fresh detect() result (config_path, version, notes). Use to verify a specific harness before suggesting it.

ArgumentRequiredTypeDescription / schema default
harnessyesstringharness_id, e.g. claude-code, cursor, codex-cli

Complete input schema

json
{
  "type": "object",
  "properties": {
    "harness": {
      "type": "string",
      "description": "harness_id, e.g. claude-code, cursor, codex-cli"
    }
  },
  "required": [
    "harness"
  ]
}