MCP catalogs
Orientation and discovery
Exact arguments and input schemas for orientation and discovery.
On this page
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.
| Argument | Required | Type | Description / schema default |
|---|
Complete input schema
{
"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).
| Argument | Required | Type | Description / schema default |
|---|---|---|---|
include_archived | no | boolean | See the schema below. |
Complete input schema
{
"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.
| Argument | Required | Type | Description / schema default |
|---|---|---|---|
project_id | no | string | See the schema below. |
include_archived | no | boolean | See the schema below. |
Complete input schema
{
"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.
| Argument | Required | Type | Description / schema default |
|---|---|---|---|
path | yes | string | absolute directory to resolve, e.g. your working directory |
Complete input schema
{
"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.
| Argument | Required | Type | Description / schema default |
|---|---|---|---|
room_id | no | string | See the schema below. |
max_chars | no | integer | response character budget; default 24000, floor 500 |
detail | no | string | default summary drops provenance/consistency metadata; full returns the daemon envelope untouched Allowed: summary, full. |
Complete input schema
{
"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.
| Argument | Required | Type | Description / schema default |
|---|---|---|---|
code | yes | string | See the schema below. |
agent_id | no | string | handle to register as; falls back to invite suggestion |
display_name | no | string | See the schema below. |
preferred_harness | no | string | See the schema below. |
locale | no | string | optional locale for localized join packet copy: en, zh-Hant, zh-Hans, or ja |
capabilities | no | array | See the schema below. |
request_id | no | string | idempotency key; retry a timed-out write with the SAME id (never duplicates) |
Complete input schema
{
"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.
| Argument | Required | Type | Description / schema default |
|---|
Complete input schema
{
"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.
| Argument | Required | Type | Description / schema default |
|---|
Complete input schema
{
"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.
| Argument | Required | Type | Description / schema default |
|---|---|---|---|
harness | yes | string | harness_id, e.g. claude-code, cursor, codex-cli |
Complete input schema
{
"type": "object",
"properties": {
"harness": {
"type": "string",
"description": "harness_id, e.g. claude-code, cursor, codex-cli"
}
},
"required": [
"harness"
]
}