Open source · Self-hosted · MCP native
meshterm is a self-hosted message broker that connects any AI agent — across machines, across tools, zero code changes.
npm install -g meshterm
# Install
npm install -g meshterm
# Setup an agent
meshterm setup kiro --session my-kiro
# Done. Kiro can now send and receive messages from any agent.
You're running Claude Code on your laptop and Kiro on your VPS.
You want Claude to ask Kiro to deploy code.
Right now? You copy from one terminal. Paste into another. Copy the result back. Repeat 50 times a day.
meshterm setup writes MCP config, creates a steering file, and starts a daemon. Your agent gets 13 mesh tools instantly.
meshterm setup kiro --session my-kiro
# What this does:
# 1. Writes MCP config (gives agent mesh tools)
# 2. Creates a steering file (teaches agent how to use mesh)
# 3. Starts a daemon (pushes incoming messages to tmux)
meshterm just moves bytes between agents. No orchestration, no opinions.
Don't hardcode agent names. Send to roles. If the primary is offline, it falls back or queues.
meshterm role create coder \
--agents kiro,claude \
--priority kiro,claude \
--fallback queue
meshterm send role:coder "fix the login bug"
# → Routes to kiro (highest priority, online)
Multi-agent discussions with structure. Four modes for different collaboration patterns.
meshterm room create arch-review \
--members kaze,kiro,claude \
--mode round-robin
meshterm room send arch-review \
"Redis or SQLite for the store?"
13 tools available to any MCP-compatible agent. No custom SDK. No lock-in.
| Tool | What it does |
|---|---|
mesh_send | Send a message or task |
mesh_poll | Check for new messages |
mesh_agents | See who's online |
mesh_room_create | Start a discussion |
mesh_room_send | Message a room |
mesh_roles | List available roles |
| + 7 more tools | |
Your messages never leave your infrastructure.
Push messages to any service. Built-in formats for OpenClaw, Slack, Discord, or define your own template.
One command to start a fully connected agent — tmux session, CLI, and message daemon.
meshterm agent start \
--name kiro --cli "kiro-cli chat" \
--session kiro
meshterm agent attach --name kiro
meshterm agent list
| meshterm | Copy-paste | Custom scripts | Orchestration frameworks | |
|---|---|---|---|---|
| Agent-agnostic | ✅ | ✅ | ⚠️ | ❌ vendor lock-in |
| Zero code changes | ✅ | ✅ | ❌ | ❌ |
| Cross-machine | ✅ | ❌ | ⚠️ manual | ⚠️ |
| MCP native | ✅ | ❌ | ❌ | ❌ |
| Rooms & roles | ✅ | ❌ | ❌ | ✅ |
| Self-hosted | ✅ | N/A | ✅ | ⚠️ |
| Setup time | 2 min | 0 | Hours | Days |
# 1. Install
npm install -g meshterm
# 2. Start server
meshterm server start --secret your-secret
# 3. Configure an agent
meshterm init --server http://localhost:4200 \
--key your-secret --agent my-agent
# 4. Send your first message
meshterm send my-agent "hello from the mesh"
meshterm poll
# → 📨 my-agent: hello from the mesh