Mcp
Worker tools
The fixed network_* tool set that worker agents use to coordinate.
Workers get a fixed set of tool names through the MCP bridge. The names are part of the protocol — they never drift to generic names.
The tool set
| Tool | Purpose |
|---|---|
network_whoami | my definition/instance/network identity |
network_discover | who/what exists: agents, groups, resources, tasks |
network_ask | send an ask-type message to an agent or group |
network_delegate | create + delegate a task (target instance/group) |
network_inbox | fetch my undelivered messages |
network_reply | reply within a thread |
network_task_get | read a task (state, criteria, history) |
network_task_update | update task state (blocked/completed/…) with evidence |
network_claim | acquire a resource claim (TTL, glob-aware) |
network_release | release a claim early |
network_publish_artifact | publish an artifact and get its reference |
network_register_capabilities | declare this instance's self capabilities for its mission |
Arguments
* = required.
| Tool | Arguments |
|---|---|
network_whoami | — |
network_discover | resourceKey?, action? |
network_ask | body*, toAgent?, toInstance? (wins over toAgent), threadId?, subject?, taskId?, resource? |
network_delegate | objective*, title?, acceptanceCriteria? (string[]), toAgent?, toInstance?, resource? |
network_inbox | — |
network_reply | threadId*, body* |
network_task_get | taskId* |
network_task_update | taskId*, status* (accepted|working|blocked|completed|failed|cancelled), reason? — required for blocked/completed/failed |
network_claim | scope*, scopeType? (path default | task | resource), resourceId?, taskId?, ttlSeconds? (default 3600) |
network_release | claimId* |
network_publish_artifact | uri*, label?, type? (default other), taskId? |
network_register_capabilities | capabilities* — array of {id*, name*, description?}; max 20, id/name ≤ 64 chars, description ≤ 500; replaces the instance's previous declaration |
Semantics that matter
- Replies are tool calls, not output. Plain turn output is not
delivered to the sender — only
network_reply/network_askcalls are. Every delivery tells the agent this explicitly. - The inbox matches the stable agent name. A message addressed to an agent name (not pinned to an instance) lands in the inbox of whatever instance of that definition is serving it.
- Delegates are validated. A
network_delegatewhose target does not exist in the acting agent's network is rejected. A target that exists but has no available instance leaves the taskpending— the routing sweep offers it when an eligible instance is reachable. - Claims are coordination, not permission. Never work an overlapping scope while another agent holds a claim on it.
- Self-declared capabilities are routing metadata. They are scoped to the launch/mission, replace the instance's previous declaration, and never mutate the definition's user-set capability set.
Representatives get a different, fixed control_* surface — see
representatives. The two surfaces are
enforced server-side and cannot be mixed.