Когда OpenClaw Gateway уже работает, следующий шаг — подключить инструменты Model Context Protocol (MCP) к потоку агента: обход репозитория, вызовы внутренних API, контролируемые команды. Трение в проде обычно сводится к трём классам — обнаружение инструментов и дрейф версий, белые списки и минимальные права на шлюзе, и типичные в поле сбой рукопожатия, таймауты и «зависшие» дочерние процессы. Здесь разграничены роли наших материалов про установку, усиление безопасности, modelRouting и наблюдаемость, дана сводная таблица stdio и удалённого MCP, шестишаговый чеклист вывода и таблица симптомов — чтобы относиться к MCP как к аудируемой цепочке инструментов, а не к временному плагину.
MCP превращает «вызов инструмента» из разового скрипта в возможность, живущую в сессии: каждый новый инструмент — это ещё один путь данных и ещё один жизненный цикл процесса. Если двигаться по принципу «локально завелось — значит ок», на шлюзе быстро накапливаются раздутая перечисляемость инструментов, скрытые обновления, отсутствие таймаутов и отсутствие белых списков. Семь пунктов ниже — для самопроверки на ревью, чтобы не переносить демо-конфиг в прод.
Если на три и больше вопросов ответ «да», относитесь к MCP как к управляемой цепочке поставки: явная регистрация, фиксация версий, наблюдаемость и откат — вместо черновика в openclaw.json.
Дрейфует ли список инструментов после перезапуска: если число и имена меняются от деплоя к деплою, путь обнаружения не версионирован или не зафиксирована рабочая директория — отладка превращается в угадывание «что сегодня перечислилось».
Есть ли явный белый список: режим «всё разрешено» удобен в демо и в проде превращает любой prompt в произвольные системные возможности; согласуйте с dmPolicy и политикой одобрения выполнения.
Есть ли жёсткий таймаут у stdio-подпроцесса: неограниченное ожидание позволяет одному зависшему MCP забить потоки или очередь шлюза — модель отвечает, а инструмент не возвращается.
Обходит ли удалённый MCP политику исходящего трафика: HTTP/SSE без обсуждения networkPolicy открывает новый выход за шлюзом и расходится с допущениями статьи про безопасность.
Попадают ли секреты в окружение глобально: токены в общем окружении без разделения по экземплярам инструментов — одна утечка на все MCP; нужны отдельные секции конфигурации и ротация.
Не конфликтует ли это с modelRouting: при разных моделях для большого контекста и мелких задач повторные попытки после сбоя инструмента могут дублироваться на разных маршрутах — нужны лимиты и на уровне маршрутизации, и на уровне инструментов.
Смотрите ли вы только на Gateway: без аргументов запуска MCP и кода выхода в логах в проде остаётся только «перезапустить»; поля должны стыковаться с материалом про наблюдаемость.
Итог: подключение MCP = одновременное сжатие конфигурации, процесса, сети и прав. Дальше — таблица stdio и удалённого MCP, затем шестишаговый чеклист.
Роли статей: гайды по установке и systemd/Docker отвечают на «как держать процесс Gateway»; усиление безопасности — «кто подключается и куда может выходить»; modelRouting — «слои моделей и стоимость»; этот текст — «откуда берутся инструменты, как их разрешать и как отлаживать» — вместе это воспроизводимая прод-топология с аудитом.
Таблица для архитектурного ревью: одну и ту же задачу часто можно решить и так и иначе, но модель угроз и сценарии отказа различаются; не сравнивайте только «где меньше строк в конфиге».
| Измерение | stdio (подпроцесс на хосте) | Удалённый MCP (HTTP/SSE и т.п.) |
|---|---|---|
| Граница процесса | Тот же пользователь и хост, что у Gateway; наследуются окружение и права на файлы | Другой хост; отдельно TLS, аутентификация и проверки здоровья |
| Сеть | Обычно без дополнительного listen; риски — локальные команды и инъекция путей | Новые конечные точки и исходящие зависимости; учитывать в networkPolicy |
| Обновления и воспроизводимость | Зависит от локальных бинарей и менеджера пакетов; нужны версии и хеши | Централизованный выкат, но матрица совместимости и поэтапные обновления |
| Типичные сбои | PATH, права, несовпадение интерпретатора — процесс сразу падает | DNS, TLS, таймауты прокси и цепочки 401/403 |
| Наблюдаемость | PID, код выхода, фрагмент stderr | HTTP-статусы, кривая ретраев, перцентили сквозной задержки |
MCP — не «ещё один плагин», а ещё одна исполняемая цепочка; выбор stdio или удалённого — это выбор между риском на границе хоста и риском на границе сети.
Если тяжёлая сборка или macOS-специфичный тулчейн живут на удалённом исполнителе, типичная схема: Gateway на Linux/VPS, выделенный удалённый Mac для xcodebuild и шагов подписи, обратно — логи и артефакты по контролируемому каналу. MCP логичнее держать как лёгкую оркестрацию, а не как склад долгих задач внутри шлюза; диск и CPU — на узлах с договором SLA.
Выполняйте по порядку: цель — перейти от «инструмент работает» к «изменения аудируемы, сбои локализуемы, откат определён».
Зафиксируйте идентичность инструмента: стабильное имя, источник версии (пакет, commit, digest) и владелец; без анонимных скриптов, плывущих вместе с репозиторием.
Минимальные параметры запуска: для stdio — абсолютные пути и отдельная рабочая директория; для удалённого MCP — явные TLS, таймауты и верхняя граница ретраев, без скрытой системной прокси.
Проверка конфигурации: после правок сначала openclaw config:validate, затем openclaw doctor; ошибки — барьер для merge.
Согласуйте белый список: пересечьте разрешённые инструменты с dmPolicy и политикой одобрения выполнения, чтобы не получить «в конфиге закрыто, а модель всё ещё угадывает путь».
Канареечный канал: сначала низкий трафик с новым инструментом, старый параллельно неделю; фиксируйте долю ошибок, P95 задержки и число перезапусков подпроцессов.
Пакет отката: сохраняйте предыдущий openclaw.json и digest образа; при инциденте сначала откат конфигурации и образа, потом разбор самого инструмента.
{
"mcpServers": {
"internal-git": {
"command": "/opt/mcp/git-mcp",
"args": ["--config", "/etc/mcp/git.prod.json"],
"env": { "MCP_LOG_LEVEL": "info" }
}
}
}
Подсказка: фрагмент иллюстрирует структуру; реальные ключи и вложенность — по документации вашей версии OpenClaw. Перед мажорным обновлением прогоните тот же validate/doctor на препрод-кластере.
Материал про безопасность подчёркивает listen-поверхность, токены, dmPolicy и networkPolicy; после MCP вызов инструментов становится новым «исполняемым выходом» — разрешённый набор инструментов и разрешённые downstream должны попадать в одну таблицу ревью. На практике для классов инструментов задают максимальную параллельность, таймаут на вызов, дневной бюджет вызовов и политику после серии ошибок.
Когда «модель говорит, что вызывает инструмент», а интерфейс крутится, проверьте три корня: подпроцесс не стартовал (путь, права), рукопожатие не завершилось (версия протокола, аутентификация), блокировка downstream (сеть или бизнес-API). Не перезапускайте Gateway без сбора кода выхода и stderr — иначе интермиттирующий сбой превратится в хронический инцидент.
Вместе с наблюдаемостью включайте в один корреляционный идентификатор события старта и остановки MCP, чтобы связать «запрос модели → вызов инструмента → выход процесса» в одну цепочку.
Внимание: не оставляйте в проде надолго логи перечисления инструментов на уровне отладки без маскирования; в параметрах часто пути к репозиториям, внутренние хосты и фрагменты токенов.
Ниже — для смен и разборов; конкретные пороги задайте по своим SLO и мониторингу.
Только ноутбук с кучей MCP, без управления на шлюзе и без стабильного исполнителя, упирается в сон, диск и конкуренцию сессий; тащить тяжёлые задачи в тот же процесс, что и Gateway, увеличивает радиус отказа. Командам, которым нужны аудируемая цепочка инструментов, предсказуемый диск и вычисления 7×24, обычно ближе схема: OpenClaw Gateway — сессии и политики, выделенный удалённый Mac — сборки и долгие задачи, MCP — узкий интерфейс. С учётом управления инструментами и стоимости мощности аренда Mac Mini в облаке NodeMini подходит как база исполнителя: оркестрация MCP на шлюзе отдельно от сборки и подписи на облачном Mac, а этот чеклист фиксирует версии, белые списки и таймауты.
Сначала openclaw config:validate, затем openclaw doctor; для автосхлопывания известных неверных ключей осторожно используйте doctor --fix и фиксируйте изменения в тикете. Вопросы подключения и заказа см. в справочном центре.
stdio удобен на одной машине с чёткой границей; HTTP/SSE — для разных хостов, но добавляют TLS, аутентификацию и networkPolicy. Сопоставляйте выбор с разделом OpenClaw и статьёй про безопасность, а не изолированно.
Gateway остаётся ответственным за диалог и политику инструментов; тяжёлые задачи — на выделенный удалённый Mac. Начните с категории OpenClaw и страницы цен аренды Mac mini, планируя оркестрацию и узлы мощности раздельно.