База знаний

OpenClaw как MCP-сервер — доступ к мессенджерам и системным действиям из других агентов

OpenClaw умеет работать не только как локальный агент в мессенджерах, но и как MCP-сервер. Разбираем, что он отдаёт наружу (Telegram, WhatsApp, Discord, Slack, файлы, shell, браузер), как это подключается в Codex, Claude и ChatGPT и где трезвые границы безопасности.

Опубликовано

У OpenClaw есть две роли. Первая и очевидная — это локальный агент, который живёт рядом с вами и отвечает в Telegram, WhatsApp, Discord, Slack и ещё в два десятках каналов. Вторая — это MCP-сервер. К OpenClaw подключаются другие агенты — Codex, Claude, ChatGPT, ваши собственные в Cursor или в Notion-агенте — и используют его как «руки». Это превращает OpenClaw из «ещё одного агента» в слой доступа к вашим личным каналам и локальной машине.

📌
Коротко: OpenClaw выворачивается наружу как MCP-сервер и отдаёт другим агентам доступ к мессенджерам, файлам, терминалу, браузеру и своим skills. Работает по stdio и HTTP. Подключается к Codex CLI, Claude Desktop, Cursor, ChatGPT (Apps), любым MCP-совместимым клиентам. Безопасность — отдельный разговор, OpenClaw имеет полный доступ к системе.

Зачем видеть OpenClaw как MCP-сервер

Обычная логика «я разговариваю с OpenClaw в Telegram» работает и без этого. Но как только у вас появляется второй агент (Codex, Claude Code, ваш свой backend-bot), вы хотите отдать ему «инструменты OpenClaw», а не «всю логику OpenClaw». Примеры задач, где MCP-роль оказывается полезнее:

  • Codex в терминале пишет код, а о деплое отписывает в Telegram-чат через OpenClaw.
  • Claude Code «видит» вашу локальную файловую систему и shell через OpenClaw, а не через встроенные обвязки.
  • ChatGPT в режиме Apps отвечает «отправь » и просит OpenClaw реально сделать это в WhatsApp.
  • Notion-агент «Джими» (Hermes Agent) использует OpenClaw как «руки в реальном мире».

Разделение ролей бывает тоже практичным: ядро рассуждения в одном LLM-клиенте, исполнение и каналы — в OpenClaw.

Как это работает

OpenClaw реализует две роли Model Context Protocol:

  • MCP-клиент. OpenClaw сам подключается к внешним MCP-серверам (Notion, GitHub, Платформыми) и их tools становятся видимы внутри OpenClaw.
  • MCP-сервер. OpenClaw «раздаёт» свои инструменты и skills наружу. Другие агенты подключаются к нему.

Поддерживаются два транспорта:

  • stdio — клиент запускает OpenClaw как подпроцесс и общается через stdin/stdout. Удобно локально и практично для Claude Desktop и Codex CLI.
  • HTTP / Streamable HTTP / SSE — клиент ходит на OpenClaw по сети. Нужно для remote-сценариев: ChatGPT Apps, Cursor в тиме, вынос OpenClaw на VPS.

Что отдаёт OpenClaw как MCP-сервер

Точный список tools зависит от вашей конфигурации, но в базовом сценарии это:

  • Мессенджерыsend_message, read_messages, list_chats в Telegram, WhatsApp, Discord, Slack, Signal, iMessage и других.
  • Файлы — чтение, запись, поиск, обход директорий в локальной FS.
  • Shell — выполнение произвольных команд (выдаётся в отдельном режиме).
  • Браузер — открыть сайт, заполнить форму, вытянуть HTML или скриншот.
  • Skills — все установленные навыки из ClawHub (GitHub, Linear, AgentMail, Spotify и другие) становятся отдельными MCP-tools.
  • Heartbeatschedule_task, list_tasks, cancel_task для работы с внутренним планировщиком.
  • Память — чтение и запись в long-term memory агента.

Для внешнего MCP-клиента это выглядит как «большой набор реальных инструментов» — без необходимости самому писать обвязки под каждый канал.

Как включить MCP-роль

Режим stdio (локально)

openclaw mcp serve --stdio

Используется в конфигах других агентов как «запусти эту команду». Например, Claude Desktop в claude_desktop_config.json:

{
	"mcpServers": {
		"openclaw": {
			"command": "openclaw",
			"args": ["mcp", "serve", "--stdio"]
		}
	}
}

Режим HTTP (remote)

openclaw mcp serve --http --port 8787 --token <ACCESS_TOKEN>

Сервер поднимается на порту и ждёт streamable-HTTP. Со стороны клиента (например Codex CLI):

[mcp.servers.openclaw]
transport = "http"
url = "https://openclaw.your-vps.example/mcp"
headers = { Authorization = "Bearer <ACCESS_TOKEN>" }

Для remote-режима обязательны TLS и токен. Без этого «интернет» будет общаться с вашей локальной FS и личными чатами.

Конфиг файл

Всё то же самое можно прописать в ~/.openclaw/openclaw.json и поднять в фоновом режиме через systemd-демон, который OpenClaw ставит своим --install-daemon.

Связка Codex → OpenClaw

Классический рабочий паттерн:

  1. Codex пишет код, ревьюит PR, деплоит сервис.
  2. Через OpenClaw MCP он отправляет статусы в Telegram-чат «Работа».
  3. Вы отвечаете в Telegram «подтверждаю релиз» — OpenClaw пишет это в shared store.
  4. Codex видит «подтверждено» и выпускает релиз.

Схема разработана под «human-in-the-loop в кармане»: вы никогда не открываете лэптоп, но всегда видите происходящее и можете всё остановить одним сообщением.

Какие клиенты используют OpenClaw

  • Claude Desktop — stdio, инструменты видны внутри чата. Обычный «домашний» кейс.
  • Codex CLI / Codex Desktop — stdio или HTTP. При remote-настройке «руки» живут на VPS с OpenClaw.
  • Cursor — прописывается в Settings → Tools & MCP. Отлично для «поправь код, потом скинь статус в чат».
  • ChatGPT Apps / Apps SDK — оформляется как remote MCP-приложение.
  • Настраиваемые Notion-агенты — подключают OpenClaw как remote MCP через user connections.
  • Любой фреймворк с MCP-клиентом — LangGraph, Vercel AI SDK, OpenAI Agents SDK в Responses API, Hermes Agent.

Сценарии

Быстрый «отправь в Telegram» для любого агента. Ваш backend-бот не трогает Telegram API вообще — он вызывает openclaw.send_message(chat=..., text=...). Все ваши аккаунты и боты живут в одном месте.

Исследование рынка. Codex или ChatGPT Apps вызывает OpenClaw skill web_search, берёт результаты, потом «отправь итог в #research-канал в Slack».

Быстрые действия в файлах. Коллега пишет «переименуй все PNG в этой папке в формат YYYY-MM-Название» в Claude. Claude ходит в OpenClaw, OpenClaw работает с вашими файлами в песочнице.

Heartbeat из внешнего агента. Hermes-агент «просит» OpenClaw запланировать heartbeat-задачу «каждую пятницу в 17:00 собери weekly-отчёт». Дальше работает уже OpenClaw.

Notion + реальный мир. Notion-агент в вашем воркспейсе следит за базой задач, при смене статуса «релиз» вызывает OpenClaw и просит «выложи в Telegram-канал Новости и в Slack #releases».

Границы безопасности

OpenClaw как MCP-сервер — это любым агентам дать руки к вашему лэптопу и личным мессенджерам. Это и прикольно, и опасно.

⚠️
Практика минимума. Никогда не выставляйте OpenClaw MCP без токена и TLS. Выделите отдельный аккаунт ос и docker-контейнер под агента. Отключите shell-tool, если этот MCP-сервер подключается из внешних хостов.

По минимуму:

  • Токены — обязательно для HTTP. Отдельный токен на каждого MCP-клиента.
  • TLS — только HTTPS в любой remote-сборке.
  • Белый список tools — отдавайте только те skills, которые внешнему агенту реально нужны. В OpenClaw это делается через mcp.exposed_tools в конфиге.
  • Sandbox. Для file/shell-инструментов используйте песочницу: docker, отдельную рабочую директорию, выключённый root.
  • Аудит. Включайте логи tool calls. Они подскажут, если «вредоносный клиент» резко дёргает «отправь всем».
  • Подтверждения. Для рисковых действий (рассылка, удаление файлов, биллинг-эндпойнты) включите «спрашивать подтверждения в Telegram».

Подробнее про риски MCP — в справочнике MCP и безопасность.

Ограничения

  • Ранняя версия. Набор tool, имена и схемы могут меняться от версии к версии. Пиннинг версии обязателен.
  • One-LLM-at-a-time. Если OpenClaw и внешний агент конкурируют за ресурсы (квоты API, браузер-сессия), продумайте разделение «кто владеет чем».
  • Идентичность. OpenClaw работает под вашими аккаунтами. Другой агент использует их же — логи и биллинг будут выглядеть из «вас».
  • Гео и скорость. Remote-связка через VPS добавляет задержки. Для «интерактивных» сценариев хорошо держать клиента и OpenClaw в одном регионе.

Чек-лист «ставлю OpenClaw MCP в общий доступ»

Ссылки


По теме

Если вы сейчас собираете «парный контур» — Codex и OpenClaw, Claude и OpenClaw, Notion-агент и OpenClaw — и не уверены, как разделить «мышление» и «руки», напишите в Telegram — разберём вместе.