agent-relay
Allows mirroring task and exchange activity into Slack threads for shared team visibility, using Slack as the communication window and shared record.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agent-relayask Bob's agent to summarize the incident postmortem"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent Relay
Stop being your team's message bus.
Agent Relay is a small, self-hosted control plane for work that travels between people. Questions, decisions and deliveries land in an inbox — and get handled by the recipient's own AI agent, inside the session they already have open, under a standing auditable policy.
This is not agent-to-agent RPC. The unit is a person's attention, not a service call: everyone keeps their own CLI, their own credentials, their own trust boundary. Works with Claude Code, Codex, Gemini CLI, Grok CLI and Antigravity over standard MCP — but the point isn't which model you run, it's that the work stops queueing behind a human refreshing Slack.
Why
Modern teams run one AI agent per person, and each agent is an island. Cross-person work still means: watch Slack for mentions, keep context across ticket systems, and copy-paste between your agent and someone else's. Humans became the message bus.
Agent Relay flips the stack:
Humans talk only to their own agent. "Ask Bob: what does the audience field mean?"
Agents exchange the rest through the relay — fetch, answer, deliver — while their humans keep working.
Slack stays a window, never a gate. Every task and exchange mirrors into a thread for shared visibility; nothing blocks on someone reading a channel.
Related MCP server: nomos-slack-mcp
Two lanes
Lane | Unit | Executed by |
Execution | Task (read-only analysis against a repo/dir) | A central runner host, via a hardened headless CLI call |
Exchange | Question / decision / delivery addressed to a human | The addressee's own agent, inside their normal working session |
The exchange lane is where the attention savings live: routine questions are answered by the addressee's agent under a standing, auditable auto-respond policy; anything outside policy escalates to the human — one sentence, inside the session they already have open. Who answered (human vs. agent-under-policy) is always recorded.
Join from any MCP-capable CLI
The relay speaks standard MCP (streamable HTTP + bearer auth). One line each:
# Claude Code
claude mcp add --scope user --transport http relay https://relay.example.com/relay-mcp --header "Authorization: Bearer $TOKEN"
# Gemini CLI
gemini mcp add -s user -t http -H "Authorization: Bearer $TOKEN" relay https://relay.example.com/relay-mcp
# Grok CLI
grok mcp add -s user -t http -H "Authorization: Bearer $TOKEN" relay https://relay.example.com/relay-mcp
# Codex CLI (token via env var — nice touch, Codex)
codex mcp add relay --url https://relay.example.com/relay-mcp --bearer-token-env-var RELAY_TOKEN
# Antigravity
agy mcp add -H "Authorization: Bearer $TOKEN" relay https://relay.example.com/relay-mcpThen just talk to your agent: "list relay tasks", "ask Bob to pick option A or B", "did my analysis task finish?".
Tools exposed
relay_list_tasks · relay_get_task · relay_create_task (read-only tasks) ·
relay_send_exchange · relay_inbox · relay_respond · relay_sent_exchanges
An optional prompt-submit hook tells your agent "N items waiting (IDs …)" on every turn — count and opaque IDs only, never untrusted content, so it can't become a prompt-injection amplifier.
Security model (short version)
Server-side, fail-closed authorization. Membership, project scope, agent capability and read-only action policy are enforced by the relay, never by prompts.
Read-only by design. Runners refuse
edit / commit / push / deploybefore any agent process starts; headless CLIs run in plan/sandbox modes with tool allowlists and sanitized environments.Revocable credentials. Per-human client tokens and per-runner service tokens are stored only as SHA-256 hashes; constant-time comparison; revocation by registry edit.
Append-only journals. Tasks and exchanges live in tamper-evident JSONL journals (replay validation checks digests, immutable fields, actor identity and transitions).
Provenance everywhere. Every agent declares
context_ownerandruntime_operator; every exchange response records human vs. agent-under-policy.Untrusted by default. Task goals, exchange bodies and agent outputs are data, never instructions.
Getting started
See docs/GETTING-STARTED.md for the server setup (Slack app, registries, tokens, systemd + reverse proxy) and client onboarding.
Status
Early but real: built and dogfooded as an internal pilot (three humans, five CLI vendors verified against the same live relay). The task lane and exchange lane are both exercised end-to-end with adversarial code review on every merge. Expect sharp edges; expect honest ones.
Roadmap highlights: self-serve relay_join with invite codes, Slack-optional identity
(the relay is the identity root; Slack demotes to a pluggable window), multi-agent
identities per human (alice-grok vs alice-claude with per-agent policy), and
additional inbox sources (Slack mentions, ticket systems) feeding the same inbox.
License
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
Let AI agents query data and act across all your business apps via MCP.
- OctopadOAuthapp.octopad
The back-office workspace for your team's AIs: tasks, knowledge and context shared over MCP.
shared AI-context layer for teams — persistent memory your agents search and update over MCP
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables bidirectional communication between MCP clients and Slack, allowing users to receive task notifications and respond to AI inquiries directly within Slack threads. It supports various urgency levels, message threading, and interactive question-and-answer workflows.3MIT
- AlicenseAqualityCmaintenanceAn MCP server that enables AI agents to read and write Slack messages as the user, not as a bot, using Slack user tokens for authentic actions across multiple workspaces.101MIT
- AlicenseNot gradedqualityBmaintenanceEnables building AI apps in Slack using the Slack MCP server and OpenAI models.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Slack that enables AI agents to interact with Slack workspaces, including listing channels, reading and posting messages, searching, managing users, reactions, and user groups.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MakiDevelop/agent-relay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server