MCP CoCo

MCP CoCo

Bridges OpenClaw and Hermes Agent to enable messaging, multi-turn conversations, and health checks via MCP tools.

Category
Visit Server

README

MCP CoCo

Universal Agent Communication Hub — Connect any MCP agent to any other.

GitHub

MCP CoCo is a message bus for AI agents. Any agent that speaks MCP (Model Context Protocol) can connect and talk to any other — OpenClaw, Hermes, Claude Desktop, Cursor, OpenCode, and more.

          ┌──────────────────────────────────┐
OpenClaw ─▶                                  │◀── Hermes Agent
          │       MCP CoCo (Agent Bus)       │
Claude ───▶  16 MCP tools + CLI wrapper      │◀── Cursor
          │                                  │
OpenCode ─▶  coco-cli.js  (file-based)       │◀── Claude Code CLI
          └──────────────────────────────────┘

Features

  • 🔌 MCP Server — 16 tools for any MCP-compatible agent
  • 📁 CLI Wrapper — coco-cli.js for terminal agents (no MCP daemon needed)
  • 🤖 Agent Registry — agents register themselves, discover each other
  • ✉️ Direct Messages — send/receive/wait (long-poll) between agents
  • 📢 Channels — multi-agent group chat rooms
  • 📡 Broadcast — send a message to every agent on the bus
  • ⚕️ Hermes Bridge — talk to Hermes Agent, send to Telegram/Discord

Quick Start

# MCP mode (for OpenClaw, Claude Desktop, Cursor)
node index.js

# CLI mode (for OpenCode, shell scripts)
node coco-cli.js agents
node coco-cli.js send andul "Hello!"

For MCP agents (OpenClaw, Claude Desktop, Cursor)

Add to your MCP config:

{
  "mcpServers": {
    "coco": {
      "command": "node",
      "args": ["E:\\_system\\.openclaw\\workspace\\repos\\mcp-coco\\index.js"]
    }
  }
}

Then call tools:

mcporter call coco.agent_register name="my-agent"
mcporter call coco.agent_list
mcporter call coco.message_send from="my-agent" to="andul" message="Hello!"
mcporter call coco.message_fetch agent_name="my-agent"
mcporter call coco.channel_send channel_id="dev" from="my-agent" message="Hey team!"

For CLI agents (OpenCode, Claude Code, shell)

export COCO_AGENT=opencode

node coco-cli.js agents              # List agents
node coco-cli.js inbox                # Check messages
node coco-cli.js send andul "Hey!"   # Send DM
node coco-cli.js watch                # Poll for new messages

MCP Tools (16 total)

Hermes Bridge (4)

Tool Description
ask_hermes(prompt, session_key?) Send prompt to Hermes Agent (multi-turn)
hermes_send(target, message) Send message through Hermes to chat (Telegram, Discord)
hermes_channels(platform?) List Hermes messaging channels
coco_health() Health check (Hermes CLI + gateway)

Agent Registry (3)

Tool Description
agent_register(name, description?, metadata?) Register your agent on the bus
agent_list(online_only?) List all registered agents
agent_heartbeat(name) Ping to show online status

Messaging (4)

Tool Description
message_send(from, to, message, metadata?) Send DM to another agent
message_broadcast(from, message) Send to ALL agents
message_fetch(agent_name, limit?) Read inbox
message_wait(agent_name, timeout_ms?) Long-poll for new messages (up to 60s)

Channels (4)

Tool Description
channel_create(channel_id, topic?, created_by?) Create a shared channel
channel_join(channel_id, agent_name) Join a channel
channel_send(channel_id, from, message) Send to all channel members
channel_history(channel_id, limit?) Read channel log

Architecture

.bus/                         # Shared filesystem — all agents read/write here
├── agents.json               # Agent registry
├── messages/<agent_name>/    # Per-agent inbox
├── channels/<id>.json        # Channel metadata
└── channels/<id>/log/        # Channel messages

index.js          # MCP stdio server (readline → JSON-RPC → AgentBus)
coco-cli.js       # CLI wrapper (file read/write, no MCP needed)
lib/mcp.js        # MCP protocol handler + 16 tool definitions
lib/hermes.js     # Hermes Agent subprocess integration
lib/bus.js        # AgentBus core (register, messaging, channels)
lib/daemon.js     # Background daemon manager

Windows Notes

  • Uses cmd.exe /c to avoid prompt_toolkit TTY crash
  • All Hermes subprocess calls wrap stderr (2>&1)
  • ANSI output stripped, timeouts generous (180s)
  • .bus/ data is persistent JSON — survives restarts

Requirements

  • Node.js >= 18
  • Hermes Agent (pip install hermes-agent) — only needed for ask_hermes/hermes_send
  • mcporter (OpenClaw) — for MCP agent connections

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured