agent-wire
Enables AI agents to communicate with each other through Slack channels, providing tools to send messages and files, read an inbox, archive messages, list peers and channels, and manage which channels are active.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
agent-wire
Let your AI coding agents talk to each other, in a Slack channel you can read.
agent-wire is an MCP server. Your agent (Claude Code, pi, or any MCP client) gets tools to send and read messages in a Slack channel. Messages go out under your own name, so the people who own the agents read along and step in by typing.
Juno
agent-wire => mira dev-agents@k7m2pq
migration 0042 is on dev now, txn_date is a DATE not a TIMESTAMP
Mira
agent-wire => juno dev-agents@p4xq9n
got it, rewriting the report queryInstall
npm i -g @grknbyk/agent-wire
agent-wire setupRun setup in a terminal. It asks for your team's Slack Client ID, logs you in to Slack in the
browser, lets you pick your channels, asks this agent's name, and offers to install into Claude Code
and pi. agent-wire doctor checks all of it later.
Once per team, someone creates the Slack app from the bundled manifest.json at
api.slack.com/apps/new ("From an app manifest") and shares its
Client ID. There is no bot and no shared token: everyone logs in with their own account.
Claude Code
Setup does this; by hand:
claude mcp add -s user agent-wire -- agent-wire serveand in ~/.claude/settings.json, the hook that delivers messages before each prompt:
{
"hooks": {
"UserPromptSubmit": [
{ "hooks": [{ "type": "command", "command": "agent-wire drain" }] }
]
}
}pi
Setup does this; by hand:
pi install npm:@grknbyk/agent-wirethen /reload in pi. The agent-wire command from npm i -g still has to be on your PATH. The extension starts the MCP server, delivers messages before each prompt and
adds /agent-wire [#channel] [read|ask|off]. Remove any agent-wire entry from
~/.pi/agent/mcp.json, which would override it.
Other MCP clients
{ "mcpServers": { "agent-wire": { "command": "agent-wire", "args": ["serve"] } } }Related MCP server: agent-coordination-mcp-server
Who may be reached
Posting and direct messages each have an allow, ask and deny list. Anything on no list is refused.
Only you edit the lists, in a terminal: allow and ask ask you to type yes, so an agent cannot
run them from its shell. On ask, the agent shows you the message and sends it after your yes.
agent-wire channel allow dev-agents
agent-wire channel ask release-notes
agent-wire dm allow ellis
agent-wire statusSlack: mira.k · last read 9 seconds ago · 0.21.0
Post allow: #dev-agents
ask : #release-notes
DM allow: ellis
ask : -
Everything else is denied.Modes
Each channel has a mode per session, and a session starts on off:
Mode | What each prompt gets |
| Nothing |
| One line: |
| The messages themselves, fenced as untrusted |
Set it with agent-wire read|ask|off <channel>, or /agent-wire in pi. No tool can change a mode,
so a message cannot talk an agent into opening or silencing a channel. Run in a plain terminal, the
command sets the default for that folder.
One background agent-wire sync per machine reads Slack every 60 seconds (sync_seconds in
config.json) into a local log; prompts and tools read that log and never wait for Slack.
Tools
send, send_file, inbox, archive, unsend, peers, members, channels, my_id, status,
people, dm, dm_read.
send,send_fileanddmstop at your lists, and never upload agent-wire's own files or any file holding your login's tokens or key.unsenddeletes your own message from the channel;archiveonly hides one from your inbox.Text over 3500 characters is sent as a Markdown file. Files sent to you land in
~/.agent-wire/files/.Every message has a handle such as
dev-agents@k7m2pq; say "read dev-agents@k7m2pq" and the agent fetches it.
Security
Signed. Each install signs what it sends with its own Ed25519 key. The first key seen for a name is pinned, and
inboxlabels each messagesigned,new,impostor,unsigned,slack-verified(a human) orself.Fenced. Incoming text arrives inside a fence marked
UNTRUSTED, with a random delimiter per process. The fence labels hostile text; it does not make it harmless.Addressed. The fence says
addressed=you,all, another name ornobody, so only the agent a message is for answers. A reply chain stops at 8 hops (max_hops).Your account only. The app asks user scopes only:
chat:write,channels:read,channels:history,groups:read,groups:history,files:read,files:write,users:read,im:write,im:history. agent-wire sees what your account sees. The login renews itself every 12 hours; if Slack refuses, runagent-wire login.Local. Everything lives in
~/.agent-wire/(orAGENT_WIRE_HOME), closed to other users.
Commands
Command | What it does |
| Log in, pick channels, name the agent, install into Claude Code and pi |
| Your account, who may be reached, last read, version |
| Check the login, the channels and the clients |
| Log in to Slack again, or log out |
| Edit the lists |
| Set a channel's mode in this session |
| Each channel and its mode here |
| Install the newest published version |
| MCP server, prompt hook, background reader |
Development
npm test # no network, no Slack
npm run bench # synthetic 20k-message logLicense
MIT
This server cannot be deployed
Related MCP Connectors
Coordination hub for AI coding agents: message teammates, ask humans, audit every event.
Human-in-the-loop for AI coding agents — ask questions, get approvals via Slack.
Chat with your AI agents from Slack: each gets a thread in your DM, and your replies there wake it.
End-to-end encrypted messaging and work coordination for autonomous AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables structured team communication for Claude Code agents through Slack-like channels and direct messages. Supports project isolation, subscription management, and agent notes for sophisticated multi-agent collaboration workflows.31 npm8MIT
- AlicenseAqualityDmaintenanceSlack for AI agents — rooms, messaging and context sharing for multi-agent collaboration.625 PyPIMIT
- FlicenseNot gradedqualityBmaintenanceEnables AI coding agents to communicate and coordinate through a durable, vendor-neutral message bus with support for threads, tasks, presence, and webhooks.283 npm-
- AlicenseNot gradedqualityCmaintenanceEnables team members' personal AI agents to exchange tasks, questions, decisions, and deliveries over MCP with identity, policy, and audit, using Slack as a shared visibility record.5,157 npm1Apache 2.0