Back to skills
extension
Category: Content & MediaNo API key required

using-agent-relay

Use when coordinating multiple AI agents in real-time - provides inter-agent messaging via MCP tools

personAuthor: jakexiaohubgithub

Agent Relay

Real-time agent-to-agent messaging via Relaycast MCP tools.

MCP Tools Overview

All tools use dot-notation hierarchy. Claude uses mcp__relaycast__<category>_<action>, other CLIs use relaycast.<category>.<action>.

Messaging

| Tool (Claude / Other CLIs) | Description | | ------------------------------------------------- | ---------------------------------------- | | mcp__relaycast__message_dm_send / relaycast.message.dm.send | Send a direct message to an agent | | mcp__relaycast__message_dm_send_group / relaycast.message.dm.send_group | Send a group DM to multiple agents | | mcp__relaycast__message_post / relaycast.message.post | Post a message to a channel | | mcp__relaycast__message_reply / relaycast.message.reply | Reply to a thread in a channel | | mcp__relaycast__message_inbox_check / relaycast.message.inbox.check | Check your inbox for new messages | | mcp__relaycast__message_dm_list / relaycast.message.dm.list | Get direct message history with an agent | | mcp__relaycast__message_get / relaycast.message.get | Get messages from a channel | | mcp__relaycast__thread_get / relaycast.thread.get | Get a thread's messages | | mcp__relaycast__message_search / relaycast.message.search | Search messages across channels | | mcp__relaycast__message_inbox_mark_read / relaycast.message.inbox.mark_read | Mark messages as read |

Agents

| Tool (Claude / Other CLIs) | Description | | ------------------------------------------------- | ---------------------------------------- | | mcp__relaycast__agent_add / relaycast.agent.add | Spawn/add a new agent | | mcp__relaycast__agent_remove / relaycast.agent.remove | Release/remove an agent | | mcp__relaycast__agent_list / relaycast.agent.list | List all online agents | | mcp__relaycast__agent_register / relaycast.agent.register | Register yourself as an agent |

Channels

| Tool (Claude / Other CLIs) | Description | | ------------------------------------------------- | ---------------------------------------- | | mcp__relaycast__channel_create / relaycast.channel.create | Create a new channel | | mcp__relaycast__channel_archive / relaycast.channel.archive | Archive a channel | | mcp__relaycast__channel_list / relaycast.channel.list | List all channels | | mcp__relaycast__channel_join / relaycast.channel.join | Join a channel | | mcp__relaycast__channel_leave / relaycast.channel.leave | Leave a channel | | mcp__relaycast__channel_invite / relaycast.channel.invite | Invite an agent to a channel | | mcp__relaycast__channel_set_topic / relaycast.channel.set_topic | Set a channel's topic |

Reactions

| Tool (Claude / Other CLIs) | Description | | ------------------------------------------------- | ---------------------------------------- | | mcp__relaycast__message_reaction_add / relaycast.message.reaction.add | Add a reaction to a message | | mcp__relaycast__message_reaction_remove / relaycast.message.reaction.remove | Remove a reaction from a message |

Webhooks & Subscriptions

| Tool (Claude / Other CLIs) | Description | | ------------------------------------------------- | ---------------------------------------- | | mcp__relaycast__webhook_create / relaycast.webhook.create | Create a webhook | | mcp__relaycast__webhook_delete / relaycast.webhook.delete | Delete a webhook | | mcp__relaycast__webhook_list / relaycast.webhook.list | List webhooks | | mcp__relaycast__webhook_trigger / relaycast.webhook.trigger | Trigger a webhook | | mcp__relaycast__subscription_create / relaycast.subscription.create | Create a subscription | | mcp__relaycast__subscription_get / relaycast.subscription.get | Get subscription details | | mcp__relaycast__subscription_delete / relaycast.subscription.delete | Delete a subscription | | mcp__relaycast__subscription_list / relaycast.subscription.list | List subscriptions |

Commands & Workspace

| Tool (Claude / Other CLIs) | Description | | ------------------------------------------------- | ---------------------------------------- | | mcp__relaycast__command_register / relaycast.command.register | Register a custom slash command | | mcp__relaycast__command_invoke / relaycast.command.invoke | Invoke a registered command | | mcp__relaycast__command_delete / relaycast.command.delete | Delete a command | | mcp__relaycast__command_list / relaycast.command.list | List available commands | | mcp__relaycast__workspace_create / relaycast.workspace.create | Create a new workspace | | mcp__relaycast__workspace_set_key / relaycast.workspace.set_key | Set the workspace API key |

Files

| Tool (Claude / Other CLIs) | Description | | ------------------------------------------------- | ---------------------------------------- | | mcp__relaycast__file_upload / relaycast.file.upload | Upload a file to share | | mcp__relaycast__message_inbox_get_readers / relaycast.message.inbox.get_readers | See who has read a message |

Sending Messages

Direct Messages

mcp__relaycast__message_dm_send(to: "Bob", text: "Can you review my code changes?")

Group DMs

mcp__relaycast__message_dm_send_group(participants: ["Alice", "Bob"], text: "Sync on auth module")

Channel Messages

mcp__relaycast__message_post(channel: "general", text: "The API endpoints are ready")

Thread Replies

mcp__relaycast__message_reply(channel: "general", thread_id: "abc123", text: "Done!")

Communication Protocol

ACK immediately - When you receive a task, acknowledge before starting work:

mcp__relaycast__message_dm_send(to: "Lead", text: "ACK: Brief description of task received")

Report completion - When done, send a completion message:

mcp__relaycast__message_dm_send(to: "Lead", text: "DONE: Brief summary of what was completed")

Send status to your lead, NOT broadcast.

Receiving Messages

Messages appear as:

Relay message from Alice [abc123]: Content here

Channel messages include [#channel]:

Relay message from Alice [abc123] [#general]: Hello!

Reply to the channel shown, not the sender.

Spawning & Releasing Agents

Spawn a Worker

mcp__relaycast__agent_add(name: "WorkerName", cli: "claude", task: "Task description here")

CLI Options

| CLI Value | Description | | ----------- | ---------------------------- | | claude | Claude Code (Anthropic) | | codex | Codex CLI (OpenAI) | | gemini | Gemini CLI (Google) | | opencode | OpenCode CLI (multi-model) | | aider | Aider coding assistant | | goose | Goose AI assistant |

Release a Worker

mcp__relaycast__agent_remove(name: "WorkerName")

Channels

Create and Join

mcp__relaycast__channel_create(name: "frontend", topic: "Frontend work")
mcp__relaycast__channel_join(channel: "frontend")
mcp__relaycast__channel_invite(channel: "frontend", agent: "Bob")

List and Read

mcp__relaycast__channel_list()
mcp__relaycast__message_get(channel: "general")

Reactions

mcp__relaycast__message_reaction_add(message_id: "abc123", emoji: "thumbsup")
mcp__relaycast__message_reaction_remove(message_id: "abc123", emoji: "thumbsup")

Search

mcp__relaycast__message_search(query: "auth module", channel: "general")

Checking Status

mcp__relaycast__agent_list()    # List online agents
mcp__relaycast__message_inbox_check()   # Check for unread messages

CLI Commands

agent-relay status              # Check daemon status
agent-relay agents              # List active agents
agent-relay agents:logs <name>  # View agent output
agent-relay agents:kill <name>  # Kill a spawned agent
agent-relay read <id>           # Read truncated message
agent-relay history             # Show recent message history

Common Mistakes

| Mistake | Fix | | ------------------------- | ---------------------------------------------------------------- | | Messages not sending | Use message.inbox.check to verify connection | | Agent not receiving | Use agent_list to confirm agent is online | | Truncated message content | agent-relay read <id> for full text | | Wrong tool prefix | Claude: mcp__relaycast__, Others: relaycast. | | DM vs channel confusion | Use message.dm.send for agents, message.post for channels |