Skip to main content
Glama
README.md
# MCP CoCo

**MCP Bridge: OpenClaw ↔ Hermes Agent**

MCP CoCo is a stable, persistent MCP (Model Context Protocol) server that connects **OpenClaw** (via `mcporter`) to **Hermes Agent** (NousResearch). It provides a robust bridge allowing either agent to send messages, continue conversations, and check health.

## Unified Comm Tool

MCP CoCo exposes Hermes Agent's messaging capabilities as MCP tools — accessible from any MCP client (OpenClaw, Claude Desktop, Cursor, etc.).

Send a message → Wait for reply → Continue conversation. All through MCP.

## Architecture

```
OpenClaw (Andul) ──mcporter──▶ MCP CoCo (daemon) ──▶ Hermes Agent CLI
                                   │
                                   ├─ ask_hermes(prompt)  → chat -q
                                   ├─ hermes_send(target) → hermes send
                                   ├─ hermes_channels()   → hermes send --list
                                   └─ coco_health()       → gateway + CLI check
```

## Quick Start

```bash
# 1. Install
node bin/cli.js --help

# 2. Test stdio mode
mcporter list --stdio "node index.js"

# 3. Add to mcporter (for persistent use from OpenClaw)
mcporter add coco --stdio "node C:\path\to\mcp-coco\index.js"

# 4. Send a message to Hermes
mcporter call coco.ask_hermes prompt="Hello Hermes"

# 5. Or run as background daemon
node index.js --daemon
```

## Windows Daemon

```bash
# Install as Windows Scheduled Task (auto-start on boot)
powershell -File scripts\install.ps1
```

## MCP Tools

| Tool | Description |
|------|-------------|
| `ask_hermes(prompt, session_key?)` | Send a prompt to Hermes, get response. Use `session_key` for multi-turn. |
| `hermes_send(target, message)` | Send a message through Hermes (Telegram, Discord, etc.) |
| `hermes_channels(platform?)` | List available Hermes messaging channels |
| `coco_health()` | Full health check: Hermes CLI, gateway, daemon status |

## Example: Multi-turn Conversation

```bash
# Turn 1 — start a new session
mcporter call coco.ask_hermes prompt="Hi, my name is Jonus"
# → { response: "Hello Jonus!", session_key: "20260624_..." }

# Turn 2 — continue the same conversation
mcporter call coco.ask_hermes prompt="What's the weather like?" session_key="20260624_..."
```

## Requirements

- **Node.js** >= 18
- **Hermes Agent** (`pip install hermes-agent`)
- **mcporter** (comes with OpenClaw)

## License

MIT