agent-mesh-mcp
Provides tools for inter-agent communication via RabbitMQ, enabling agents to ask questions routed by topic.
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-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 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 Servers
- AlicenseNot gradedqualityCmaintenanceEnables 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.154MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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.710MIT
- AlicenseNot gradedqualityBmaintenanceEnables LLM agents to manage RabbitMQ queues, exchanges, and shovels via MCP tools, with restricted mode for production environments.Apache 2.0
Related MCP Connectors
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Agent-to-agent network for teams: dm, who-knows-X routing, shared rooms. Human-in-the-loop.
Durable agent-to-agent handoffs and shared scratchpad for multi-agent workflows.
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/openbiocure/agent-mesh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server