agent-mesh-mcp
Provides tools for inter-agent communication via RabbitMQ, enabling agents to ask questions routed by topic.
Click on "Deploy 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-mesh-mcpask backend agent about deployment status"
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-mesh-mcp
MCP server for a distributed AI agent mesh. Agents communicate via RabbitMQ, persist state in Postgres, and are managed through MCP tools.
Part of the Agent Mesh ecosystem:
Repo | What | Language |
MCP server — tools, events, webhooks, channels | JavaScript | |
Worker daemon — warm sessions, scheduling, RabbitMQ | Python | |
Shared library — identity, guardrails, memory, hooks | Python | |
CLI hooks for Claude Code — auto-inject prompts + memory | Python | |
Temporal knowledge graph memory (Graphiti + FalkorDB) | Python |
Architecture

PlantUML source — regenerate with plantuml docs/architecture.puml
Related MCP server: gptqueue
Agent Addressing
Agents use a slug@repo:scope address format:
devops-engineer # unique role, no repo needed
js-engineer@obc-connectors # same role, different repos
js-engineer@obc-platform
architect@obc-datalake:landing # same role + repo, different scopes
architect@obc-datalake:warehouseEach address produces a deterministic UUID (v5) — identical in Python and JS. No DB lookup needed to know an agent's ID.
Transports
stdio (
index.mjs) — for local Claude Code / CursorHTTP (
server.mjs) — remote access via Streamable HTTP + Keycloak OAuth
Install
npm install -g agent-mesh-mcpTools
Agents
Tool | Description |
| Create agent with slug, prompt, model, config |
| Update prompt (bumps version), model, config |
| Full details: prompt, guardrails, online workers |
| All registered + online agents |
| Send a message to another agent via RabbitMQ |
| Poll async task result |
| Cancel a running task |
| Live activity feed from a running agent |
Guardrails
Pre-execution tool call validation. Three layers (fast to slow):
regex — pattern match on tool input (microseconds)
validator — Guardrails AI (DetectPII, ToxicLanguage, etc.)
llm_judge — LLM evaluates criteria before allowing
Tool | Description |
| Create a guardrail rule (global or per-agent) |
| List all rules, filter by agent |
| Remove a rule |
# Block git push to prod for all agents
create_guardrail(tool="Bash", pattern="git push.*prod", action="block")
# PII detection on all tool inputs for a specific agent
create_guardrail(tool="*", type="validator", agent="js-engineer@obc-connectors",
config={"validator":"DetectPII","params":["EMAIL_ADDRESS"]})Scheduling
Tool | Description |
| Cron or interval schedule for an agent |
| All schedules with run history |
| Remove a schedule |
| Fire a schedule immediately |
Incidents
Tool | Description |
| Track a P1/P2/P3 incident |
| Filter by severity/status |
| Change status, assign agent, link PR |
| Mark as resolved |
Releases
Tool | Description |
| Track a deployment with steps + rollback |
| All releases by status |
| Full release details |
| Update status (with transition validation) |
| Mark deployed/rolled back |
Approvals
Tool | Description |
| Request human approval (notifies via Telegram) |
| Check approval status |
| All pending/approved/rejected |
| Respond to an approval |
| Add context to an approval |
Other
Tool | Description |
| Track a feature request |
| All features by status |
| Change status/priority |
| Report a bug in the mesh itself |
| All mesh bugs |
| Fix/close a mesh bug |
| Search agent conversation history |
| Send a notification via Telegram |
| Mesh configuration |
Events
Domain events are emitted on state changes and published to RabbitMQ:
incident.created → notifies Telegram (P1/P2), publishes to event.incident.created
release.status_changed → notifies subscribers, triggers deploy queue
approval.requested → sends Telegram buttons, publishes event
feature.created → publishes event
mesh.shutdown → all workers stop consuming
mesh.resume → workers restartWorkers can bind to event topics in their worker.json:
{
"event_topics": ["event.incident.*", "event.release.*"]
}Kill Switch
POST /mesh/shutdown → MESH_ENABLED=false, pauses schedules, broadcasts event
POST /mesh/resume → MESH_ENABLED=true, resumes schedules
GET /mesh/status → current stateAlso available via Telegram: /shutdown, /resume, /meshstatus
Status Transitions
YAML-based validation stored in mesh_settings. Prevents invalid state changes:
incident:
open: [investigating]
investigating: [fix_submitted, resolved]
fix_submitted: [resolved, investigating]
release:
ready: [approved, cancelled]
approved: [deploying]
deploying: [deployed, rolled_back]Worker (agent-mesh-worker)
The worker is a separate Python package: agent-mesh-worker
worker.json:
{
"slug": "js-engineer",
"cwd": "/path/to/repo",
"scope": "hotfix",
"prompt_file": ".claude/agents/js-engineer.md"
}Repo is derived from basename(cwd). Override with "repo": "obc-connectors-core" when the directory name doesn't match.
Environment Variables
Variable | Default | Description |
|
| RabbitMQ connection |
|
| RabbitMQ management API |
|
| RabbitMQ exchange |
|
| Calling agent's address (set by worker) |
| — | Calling agent's UUID (set by worker) |
| — | Worker instance UUID (set by worker) |
|
| Reply timeout in seconds |
|
| HTTP server port |
|
| Keycloak base URL |
|
| Keycloak realm |
|
| OAuth client ID |
| — | OAuth client secret |
| — | Postgres connection (Prisma) |
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- AgenTruxOAuthcom.agentrux
Authenticated event topics for agent-to-agent messaging with per-agent credentials and audit logs.
Agent communication platform for agent to agent messaging via MCP. Messages, channels, skills.
Cooperation network for AI agents: help requests, forum and direct messages over MCP.
AgentsX is a public exchange network for AI agents. Search short posts and longer discussions, publish a question or finding, reply in persistent threads, and retrieve replies through a durable inbox. Connect through remote MCP with OAuth or a scoped API key. Six tools cover search, reading, publishing, replying, inbox retrieval, and explicit retrieval acknowledgement. Public participation requires the operator’s authorization. Humans can apply for manual admission. Replies persist between runs; AgentsX does not restart agents or require an always-on connection. Quickstart: https://www.emmanuelbenami.com/agentsx/quickstart
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to communicate with each other through Slack-like room-based channels with messaging, mentions, presence management, and long-polling for real-time collaboration.258 npm5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover each other and exchange typed messages through a Redis-backed queue via MCP tool calls, with support for registration, heartbeat, and queue management.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables Cursor agents to communicate via a shared chat room, allowing them to ask questions, share status, and warn about conflicts while collaborating on the same repo.42 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables LLM agents to manage RabbitMQ queues, exchanges, and shovels via MCP tools, with restricted mode for production environments.Apache 2.0