Skip to main content
Glama

MCP Agent Bridge

Легковесный сервер-мост MCP (Model Context Protocol), который позволяет Hermes Agent и OpenClaw обмениваться инструментами и памятью, формируя кооперативную мультиагентную систему.

Архитектура

┌─────────────┐         ┌──────────────────┐         ┌─────────────┐
│   Hermes     │  MCP    │  Agent Bridge    │  CLI/   │  OpenClaw    │
│   Agent     │◄───────►│  (FastMCP SSE)   │◄───────►│    CLI      │
│              │  client │  Port :18900     │  HTTP   │              │
│  Feishu/WX   │         │                  │         │  Image/Web   │
│  Memory/Plan │         │  Shared Memory   │         │  TTS/Video   │
└─────────────┘         └──────────────────┘         └─────────────┘

Hermes предоставляет каналы обмена сообщениями (Feishu, WeChat, Telegram…) и свои возможности планирования/рассуждения.

OpenClaw предоставляет генерацию AI-изображений, веб-поиск, TTS и генерацию видео.

Мост делает сильные стороны каждого агента доступными для другого через стандартные вызовы инструментов MCP, а также общую память на базе SQLite.

Related MCP server: ACP-MCP-Server

Предоставленные инструменты

Инструмент

Направление

Описание

oc_image_generate

OC → Hermes

Генерация AI-изображений через OpenClaw

oc_web_search

OC → Hermes

Веб-поиск через OpenClaw

oc_web_fetch

OC → Hermes

Извлечение контента URL через OpenClaw

oc_tts_convert

OC → Hermes

Преобразование текста в речь через OpenClaw

hermes_send_message

Hermes → OC

Отправка сообщений через платформы Hermes

hermes_chat

Hermes → OC

Делегирование задач AI-агенту Hermes

shared_memory_read

Двустороннее

Чтение из общего хранилища «ключ-значение»

shared_memory_write

Двустороннее

Запись в общее хранилище «ключ-значение»

shared_memory_list_keys

Двустороннее

Список ключей памяти с опциональными фильтрами

shared_memory_delete

Двустороннее

Удаление ключа памяти

bridge_health

Проверка работоспособности и список зарегистрированных модулей

Быстрый старт

Предварительные требования

  • Python 3.11+

  • Hermes Agent с включенным API-сервером

  • Установленный и настроенный CLI OpenClaw

  • pip install "mcp[cli]>=1.0" aiohttp pyyaml

Установка

git clone https://github.com/fkdt01/mcp-agent-bridge.git
cd mcp-agent-bridge
pip install -e .

Настройка

cp config.example.yaml config.yaml
# Edit config.yaml — fill in your API keys and paths

Ключевые настройки:

openclaw:
  cli_path: "openclaw"          # or full path like /usr/local/bin/openclaw
  image_provider: "openai"       # default image gen provider
  web_search_provider: "duckduckgo"

hermes:
  api_url: "http://127.0.0.1:8888"
  api_key: ""                    # or set HERMES_API_KEY env var
  default_channel: "feishu"

memory:
  backend: "sqlite"
  db_path: "data/bridge_memory.db"

Запуск

# Start the bridge server
python -m bridge.server

# With custom options
python -m bridge.server --config /path/to/config.yaml --port 18900 --log-level DEBUG

Подключение Hermes

Добавьте в ~/.hermes/config.yaml:

mcp_servers:
  agent-bridge:
    transport: sse
    url: http://127.0.0.1:18900/sse

Подключение OpenClaw

Добавьте в ~/.openclaw/openclaw.jsonmcpServers:

{
  "mcpServers": {
    "agent-bridge": {
      "transport": "sse",
      "url": "http://127.0.0.1:18900/sse"
    }
  }
}

Примеры использования

Hermes генерирует изображение через OpenClaw

Когда Hermes нужно сгенерировать изображение (например, из чата Feishu), он вызывает:

oc_image_generate({
  prompt: "A futuristic city at sunset, cyberpunk style",
  aspect_ratio: "16:9",
  model: "openai"
})

→ Мост запускает openclaw capability image generate --prompt "..." --json → Возвращает путь к изображению/метаданные в Hermes → Hermes доставляет изображение пользователю

OpenClaw отправляет сообщение Feishu через Hermes

hermes_send_message({
  message: "✅ Image generation complete!",
  target: "feishu"
})

→ Мост отправляет POST-запрос к API Hermes /v1/chat/completions → Hermes доставляет сообщение в канал Feishu

Общая память между агентами

Hermes записывает контекст проекта:

shared_memory_write({
  key: "project.math-game.pet-design",
  value: "算术小喵: 草原主题, 绿色配色",
  source: "hermes"
})

OpenClaw считывает его позже:

shared_memory_read({ key: "project.math-game.pet-design" })
→ { value: "算术小喵: 草原主题, 绿色配色", source: "hermes", updated_at: 1745631000 }

Добавление пользовательских инструментов

Создайте новый файл в bridge/tools/, следуя соглашению об именовании:

  • oc_*.py — инструменты на базе OpenClaw

  • hermes_*.py — инструменты на базе Hermes

  • shared_*.py — общие/двусторонние инструменты

Каждый модуль должен предоставлять функцию register(mcp, config):

"""My custom tool."""
from mcp.server.fastmcp import FastMCP
from typing import Any

def register(mcp: FastMCP, config: dict[str, Any]) -> None:
    @mcp.tool()
    async def my_custom_tool(param: str) -> dict[str, Any]:
        """Tool description — this becomes the MCP tool description."""
        # Your implementation here
        return {"result": "ok"}

Инструмент автоматически обнаруживается и регистрируется при запуске сервера.

Запуск в качестве службы systemd

cat > ~/.config/systemd/user/mcp-agent-bridge.service << 'EOF'
[Unit]
Description=MCP Agent Bridge Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/path/to/mcp-agent-bridge
ExecStart=/usr/bin/python -m bridge.server
Restart=on-failure
RestartSec=5
Environment=HERMES_API_KEY=your_key_here

[Install]
WantedBy=default.target
EOF

systemctl --user daemon-reload
systemctl --user enable --now mcp-agent-bridge

Структура проекта

mcp-agent-bridge/
├── bridge/
│   ├── __init__.py
│   ├── __main__.py
│   ├── server.py              # FastMCP server entry point
│   ├── config.py              # YAML + env-var config loader
│   ├── openclaw_runner.py     # Shared async CLI subprocess runner
│   ├── memory.py              # SQLite-backed shared memory store
│   └── tools/
│       ├── __init__.py         # Auto-discovery & registration
│       ├── oc_image.py         # Image generation
│       ├── oc_web.py           # Web search & fetch
│       ├── oc_tts.py           # Text-to-speech
│       ├── hermes_messaging.py # Message sending
│       ├── hermes_chat.py      # Task delegation
│       └── shared_memory.py    # Shared memory tools
├── config.example.yaml
├── .gitignore
├── LICENSE
├── README.md
└── pyproject.toml

Лицензия

MIT

A
license - permissive license
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    F
    maintenance
    A bridge server that connects Agent Communication Protocol (ACP) agents with Model Context Protocol (MCP) clients, enabling seamless integration between ACP-based AI agents and MCP-compatible tools like Claude Desktop.
    16
    24
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server and local HTTP bridge designed to integrate remote upstream MCP tools into OpenClaw skills or local environments. It enables users to generate skill wrappers and proxy tool calls via a local HTTP bridge for use in Claude Desktop, Cursor, or OpenClaw.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • An MCP memory server. One memory your agents share — across models, devices and apps.

  • Shared long-term memory vault for AI agents with 20 MCP tools.

  • Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.

View all MCP Connectors

Latest Blog Posts

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/fkdt01/mcp-agent-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server