loading…
Search for a command to run...
loading…
A lightweight server that enables multi-agent orchestration by allowing agents to communicate through direct messages and named channels. It provides tools for
A lightweight server that enables multi-agent orchestration by allowing agents to communicate through direct messages and named channels. It provides tools for agents to discover each other, create communication channels, and exchange messages via a central broker.
A lightweight MCP channel server that lets agentic agents discover and communicate with each other through direct messages and named channels. Built for multi-agent orchestration.
┌─────────────┐ HTTP/SSE ┌────────────┐ HTTP/SSE ┌─────────────┐
│ Agent │◄────────────────►│ Broker │◄────────────────►│ Agent │
│ Session A │ (channel.ts) │ (broket.ts)│ (channel.ts) │ Session B │
└─────────────┘ └────────────┘ └─────────────┘
Each agent session spawns its own channel.ts MCP server as a subprocess. These servers connect to a shared broker.ts HTTP server that routes messages between them.
bun install
The broker must be running before any agent sessions connect:
bun run broker.ts
By default it listens on port 8900. Override with CHANNEL_BROKER_PORT=9000 bun run broker.ts.
In separate terminals, start agent sessions with different names. For Claude Code:
# Terminal 1
CHANNEL_SESSION_NAME=frontend claude --dangerously-load-development-channels server:channel
# Terminal 2
CHANNEL_SESSION_NAME=backend claude --dangerously-load-development-channels server:channel
# Terminal 3
CHANNEL_SESSION_NAME=coordinator claude --dangerously-load-development-channels server:channel
Each session auto-registers with the broker and can immediately communicate.
| Tool | Description |
|---|---|
send_message |
Send a direct message to a session (by name) or to a channel |
list_sessions |
List all registered sessions and their online status |
list_channels |
List available channels and their members |
create_channel |
Create a named channel for group communication |
join_channel |
Join an existing channel |
leave_channel |
Leave a channel |
Tell one agent session:
"Send a message to the backend session asking it to create the API endpoint for /users"
Tell the coordinator session:
"Create a channel called 'project' and invite the other sessions to coordinate on building the user dashboard"
| Environment Variable | Default | Description |
|---|---|---|
CHANNEL_SESSION_NAME |
session-<random> |
Human-readable name for this session |
CHANNEL_BROKER_URL |
http://127.0.0.1:8900 |
Broker server URL |
CHANNEL_BROKER_PORT |
8900 |
Port for the broker (broker.ts only) |
broker.ts): A lightweight HTTP server that maintains a registry of sessions, manages named channels, and routes messages via SSE streamschannel.ts): An MCP server that agent spawns as a subprocess. It registers with the broker, opens an SSE connection for inbound messages, and exposes tools for sending messagessend_message, the MCP server POSTs to the broker, which pushes the message via SSE to the recipient's MCP server, which delivers it to the recipient's agent session as a <channel> notificationДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-channel": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also