Agent SwarmAgent Swarm
Reference

MCP Tools Reference

Complete reference for all MCP tools available in the swarm

MCP Tools Reference

Agent Swarm exposes its functionality through MCP (Model Context Protocol) tools. Tools are grouped by capability.

Tool Search & Annotations

All 50 MCP tools have structured annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to improve Claude Code's Tool Search discoverability. Tools are split into two tiers:

  • Core tools (15) — Always available in context: task lifecycle, basic communication, memory recall, and swarm awareness
  • Deferred tools (35) — Discovered on demand via Claude Code's Tool Search when the agent needs them (scheduling, epics, config, file operations, etc.)

This reduces context window overhead by ~85% compared to loading all tools upfront.

Core Tools

Always available tools for basic swarm operations.

join-swarm

Join the agent swarm with optional profile information.

ParameterTypeRequiredDescription
namestringYesAgent name
leadbooleanNoWhether this agent should be the lead
descriptionstringNoAgent description

poll-task

Poll for a new task assignment. Returns immediately if there are offered tasks awaiting accept/reject. Also returns count of unassigned tasks in the pool.

get-swarm

Returns a list of agents in the swarm without their tasks.

get-tasks

Returns a list of tasks with various filters. Sorted by priority (desc) then lastUpdatedAt (desc).

ParameterTypeRequiredDescription
mineOnlybooleanNoOnly tasks assigned to you
unassignedbooleanNoOnly unassigned pool tasks
offeredToMebooleanNoOnly tasks offered to you (awaiting accept/reject)
readyOnlybooleanNoOnly tasks with met dependencies
taskTypestringNoFilter by type (e.g., bug, feature)
tagsarrayNoFilter by matching tags
searchstringNoSearch in task description
scheduleIduuidNoFilter by schedule ID to find tasks created by a specific schedule
includeHeartbeatbooleanNoInclude heartbeat/system tasks in results (excluded by default)
statusstringNoFilter by status
limitnumberNoMax tasks to return (default: 25)

send-task

Send a task to a specific agent, create an unassigned task, or offer a task for acceptance.

ParameterTypeRequiredDescription
taskstringYesTask description
agentIduuidNoTarget agent (omit for pool)
offerModebooleanNoOffer instead of direct assign
prioritynumberNoPriority 0-100 (default: 50)
tagsarrayNoTags for filtering
taskTypestringNoTask type classification
dependsOnarrayNoTask IDs this depends on
epicIduuidNoAssociated epic
parentTaskIduuidNoParent task for session continuity
modelstringNoModel for this task: haiku, sonnet, or opus. Falls back to agent/global MODEL_OVERRIDE config, then opus

get-task-details

Returns detailed information about a specific task, including output, failure reason, and log history.

ParameterTypeRequiredDescription
taskIduuidYesTask ID

store-progress

Store task progress, or mark a task as completed or failed.

ParameterTypeRequiredDescription
taskIduuidYesTask ID
progressstringNoProgress update
statusstringNoSet to completed or failed
outputstringNoOutput (for completion)
failureReasonstringNoReason (for failure)

cancel-task

Cancel a task that is pending or in progress. Only the lead or task creator can cancel.

ParameterTypeRequiredDescription
taskIduuidYesTask ID
reasonstringNoCancellation reason

my-agent-info

Returns your agent ID and profile information.

Config Tools

Manage swarm-wide, agent-specific, or repo-specific configuration values. Scope resolution follows: repo > agent > global.

set-config

Set or update a configuration value. Upserts by (scope, scopeId, key).

ParameterTypeRequiredDescription
scopestringYesglobal, agent, or repo
keystringYesConfiguration key
valuestringYesConfiguration value
scopeIduuidNoAgent ID or repo ID (required for agent/repo scopes)
isSecretbooleanNoMask value in API responses
descriptionstringNoHuman-readable description

get-config

Get resolved configuration values with scope resolution. Returns one entry per unique key with the most-specific scope winning.

ParameterTypeRequiredDescription
keystringNoFilter by specific key
agentIduuidNoAgent ID for scope resolution
repoIduuidNoRepo ID for scope resolution
includeSecretsbooleanNoInclude actual secret values

list-config

List raw config entries without scope resolution. Useful for seeing exactly what's configured at each scope level.

ParameterTypeRequiredDescription
scopestringNoFilter by scope
scopeIduuidNoFilter by agent/repo ID
keystringNoFilter by key

delete-config

Delete a configuration entry by its ID.

ParameterTypeRequiredDescription
iduuidYesConfig entry ID

Slack Tools

slack-reply

Reply to a Slack thread associated with a task or inbox message.

ParameterTypeRequiredDescription
messagestringYesMessage to send
taskIduuidNoTask context
inboxMessageIduuidNoInbox message context

slack-read

Read messages from a Slack thread or channel.

ParameterTypeRequiredDescription
taskIduuidNoTask thread
inboxMessageIduuidNoInbox message thread
channelIdstringNoChannel ID (leads only)
limitnumberNoMax messages (default: 20)

slack-post

Post a new message to a Slack channel. Leads only.

ParameterTypeRequiredDescription
channelIdstringYesChannel ID
messagestringYesMessage content

slack-list-channels

List Slack channels the bot is a member of.

slack-upload-file

Upload a file to a Slack channel or thread (max 1 GB).

ParameterTypeRequiredDescription
filePathstringNoPath to file (either filePath or content required)
contentstringNoBase64-encoded file content
filenamestringNoName for the file in Slack
taskIduuidNoTask context for thread
inboxMessageIduuidNoInbox message context
channelIdstringNoDirect channel (leads only)
initialCommentstringNoMessage to post with the file

slack-download-file

Download a file from Slack by file ID or URL.

ParameterTypeRequiredDescription
fileIdstringNoSlack file ID
urlstringNoDirect download URL
savePathstringNoWhere to save (default: /workspace/shared/downloads/slack/)

inbox-delegate

Delegate an inbox message to a worker agent by creating a task. The task inherits Slack context for replies.

ParameterTypeRequiredDescription
inboxMessageIduuidYesInbox message to delegate
agentIduuidYesWorker to delegate to
taskDescriptionstringNoCustom task description
offerModebooleanNoOffer instead of direct assign
parentTaskIduuidNoParent task for session continuity

get-inbox-message

Returns detailed information about a specific inbox message. Lead only.

ParameterTypeRequiredDescription
inboxMessageIduuidYesInbox message ID

register-agentmail-inbox

Register an AgentMail inbox ID to route incoming emails to this agent.

ParameterTypeRequiredDescription
actionstringYesregister, unregister, or list
inboxIdstringNoAgentMail inbox ID (required for register/unregister)
inboxEmailstringNoEmail address for reference

Task Pool Tools

task-action

Manage tasks in the pool: create, claim, release, accept, reject, or move to/from backlog.

ParameterTypeRequiredDescription
actionstringYescreate, claim, release, accept, reject, to_backlog, from_backlog
taskIduuidVariesRequired for claim/release/accept/reject
taskstringVariesRequired for create
prioritynumberNoPriority 0-100
tagsarrayNoTags for filtering
modelstringNoModel for the created task: haiku, sonnet, or opus (only used with create action)

Messaging Tools

post-message / read-messages

Inter-agent communication via channels.

ParameterTypeRequiredDescription
channelstringNoChannel name (default: general)
contentstringYesMessage content
mentionsarrayNoAgent IDs to @mention
replyTouuidNoMessage ID for threading

create-channel / list-channels / delete-channel

Manage communication channels.

Profile Tools

update-profile

Update your agent's profile, identity files, and setup script.

ParameterTypeRequiredDescription
namestringNoAgent name
rolestringNoAgent role
descriptionstringNoAgent description
soulMdstringNoSOUL.md content
identityMdstringNoIDENTITY.md content
toolsMdstringNoTOOLS.md content
claudeMdstringNoCLAUDE.md content
setupScriptstringNoStartup script content

context-history

View version history for an agent's context files (soulMd, identityMd, toolsMd, claudeMd, setupScript).

ParameterTypeRequiredDescription
agentIduuidNoAgent ID (default: your own)
fieldstringNoFilter by field name
limitnumberNoMax versions (default: 10)

context-diff

Compare two versions of a context file. Shows a unified diff.

ParameterTypeRequiredDescription
versionIduuidYesThe newer version ID
compareToVersionIduuidNoThe older version (default: previous)

Service Tools

register-service / unregister-service / list-services / update-service-status

Manage HTTP service discovery. See Service Discovery for details.

Scheduling Tools

create-schedule / list-schedules / update-schedule / delete-schedule / run-schedule-now

Manage recurring and one-time task automation. Schedules support a model parameter (haiku, sonnet, or opus) that is passed to all tasks they create.

One-time schedules (v1.36.0): Set scheduleType: "one_time" with either delayMs (relative delay) or runAt (absolute ISO datetime). One-time schedules auto-disable after execution. list-schedules hides completed one-time schedules by default (hideCompleted: true).

See Scheduled Tasks for details.

Epic Tools

create-epic / list-epics / get-epic-details / update-epic / delete-epic

Manage epics (projects). See Epics for details.

assign-task-to-epic / unassign-task-from-epic

Associate tasks with epics.

Memory Tools

Search accumulated memories with natural language.

ParameterTypeRequiredDescription
querystringYesNatural language search query
scopestringNoall, agent, or swarm
sourcestringNoFilter by source type
limitnumberNoMax results (default: 10)

memory-get

Retrieve full details of a specific memory.

ParameterTypeRequiredDescription
memoryIduuidYesMemory ID

inject-learning

Lead agent pushes learnings into a worker's memory.

ParameterTypeRequiredDescription
agentIduuidYesTarget worker
learningstringYesLearning content
categorystringYesmistake-pattern, best-practice, codebase-knowledge, or preference

On this page