openclaw mcp выполняет две задачи:
- запускает OpenClaw как MCP-сервер с помощью
openclaw mcp serve - управляет исходящими определениями MCP-серверов, управляемыми OpenClaw, с помощью
list,show,status,doctor,probe,add,set,configure,tools,login,logout,reloadиunset
serve— это OpenClaw, выступающий как MCP-сервер- остальные подкоманды — это OpenClaw, выступающий как клиентский реестр MCP для MCP-серверов, которые его среды выполнения могут использовать позже
list, show, set и unset только читают и записывают управляемые OpenClaw записи mcp.servers в конфигурации OpenClaw. Они не включают серверы mcporter из config/mcporter.json; для этого реестра используйте mcporter list.openclaw acp, когда OpenClaw должен сам размещать сеанс кодового harness и маршрутизировать эту среду выполнения через ACP.
Выберите правильный путь MCP
У OpenClaw есть несколько поверхностей MCP. Выберите ту, которая соответствует тому, кто владеет средой выполнения агента и кто владеет инструментами.| Цель | Используйте | Почему |
|---|---|---|
| Разрешить внешнему MCP-клиенту читать/отправлять беседы каналов OpenClaw | openclaw mcp serve | OpenClaw является MCP-сервером и предоставляет беседы на базе Gateway через stdio. |
| Сохранить сторонние MCP-серверы для запусков агентов, управляемых OpenClaw | openclaw mcp add, set, configure, tools, login | OpenClaw является клиентским реестром MCP и позже проецирует эти серверы в подходящие среды выполнения. |
| Проверить сохраненный сервер без запуска хода агента | openclaw mcp status, doctor, probe | status и doctor проверяют конфигурацию; probe открывает живое MCP-соединение и перечисляет возможности. |
| Редактировать конфигурацию MCP из браузера | Control UI /mcp | Страница показывает инвентарь, включение, сводки OAuth/фильтров, подсказки команд и scoped-редактор mcp. |
| Дать Codex app-server scoped нативный MCP-сервер | mcp.servers.<name>.codex | Блок codex влияет только на проекцию потоков Codex app-server и удаляется перед передачей нативной конфигурации. |
| Запускать сеансы harness, размещенные через ACP | openclaw acp и ACP Agents | Режим ACP-моста не принимает внедрение MCP-сервера на уровне сеанса; настройте мосты gateway/plugin вместо этого. |
OpenClaw как MCP-сервер
Это путьopenclaw mcp serve.
Когда использовать serve
Используйте openclaw mcp serve, когда:
- Codex, Claude Code или другой MCP-клиент должен напрямую взаимодействовать с беседами каналов на базе OpenClaw
- у вас уже есть локальный или удаленный OpenClaw Gateway с маршрутизируемыми сеансами
- вам нужен один MCP-сервер, который работает с разными канал backend OpenClaw вместо запуска отдельных мостов для каждого канала
openclaw acp вместо этого, когда OpenClaw должен сам размещать кодовую среду выполнения и держать сеанс агента внутри OpenClaw.
Как это работает
openclaw mcp serve запускает stdio MCP-сервер. MCP-клиент владеет этим процессом. Пока клиент держит stdio-сеанс открытым, мост подключается к локальному или удаленному OpenClaw Gateway через WebSocket и предоставляет маршрутизированные беседы каналов через MCP.
Sessions become MCP conversations
Маршрутизированные сеансы становятся MCP-беседами и инструментами транскрипта/истории.
Important behavior
Important behavior
- состояние живой очереди начинается, когда мост подключается
- более старая история транскрипта читается через
messages_read - push-уведомления Claude существуют только пока MCP-сеанс активен
- когда клиент отключается, мост завершается, а живая очередь исчезает
- одноразовые точки входа агента, такие как
openclaw agentиopenclaw infer model run, завершают любые встроенные MCP-среды выполнения, которые они открывают, когда ответ завершен, поэтому повторные сценарные запуски не накапливают дочерние процессы stdio MCP - stdio MCP-серверы, запущенные OpenClaw (встроенные или настроенные пользователем), завершаются как дерево процессов при остановке, поэтому дочерние подпроцессы, запущенные сервером, не остаются после выхода родительского stdio-клиента
- удаление или сброс сеанса освобождает MCP-клиентов этого сеанса через общий путь очистки среды выполнения, поэтому не остается зависших stdio-соединений, привязанных к удаленному сеансу
Выберите режим клиента
Используйте один и тот же мост двумя разными способами:- Generic MCP clients
- Claude Code
Только стандартные MCP-инструменты. Используйте
conversations_list, messages_read, events_poll, events_wait, messages_send и инструменты одобрения.Сегодня
auto ведет себя так же, как on. Обнаружения возможностей клиента пока нет.Что предоставляет serve
Мост использует существующие метаданные маршрутов сеансов Gateway, чтобы предоставлять беседы на базе каналов. Беседа появляется, когда у OpenClaw уже есть состояние сеанса с известным маршрутом, таким как:
channel- метаданные получателя или назначения
- необязательный
accountId - необязательный
threadId
- перечислять недавние маршрутизированные беседы
- читать недавнюю историю транскрипта
- ждать новые входящие события
- отправлять ответ обратно через тот же маршрут
- видеть запросы одобрения, которые поступают, пока мост подключен
Использование
- Local Gateway
- Remote Gateway (token)
- Remote Gateway (password)
- Verbose / Claude off
Инструменты моста
Текущий мост предоставляет эти MCP-инструменты:conversations_list
conversations_list
Перечисляет недавние беседы на базе сеансов, у которых уже есть метаданные маршрута в состоянии сеанса Gateway.Полезные фильтры:
limitsearchchannelincludeDerivedTitlesincludeLastMessage
conversation_get
conversation_get
Возвращает одну беседу по
session_key с использованием прямого поиска сеанса Gateway.messages_read
messages_read
Читает недавние сообщения транскрипта для одной беседы на базе сеанса.
attachments_fetch
attachments_fetch
Извлекает нетекстовые блоки содержимого сообщения из одного сообщения транскрипта. Это представление метаданных поверх содержимого транскрипта, а не отдельное долговечное хранилище blob-вложений.
events_poll
events_poll
Читает живые события в очереди, начиная с числового курсора.
events_wait
events_wait
Выполняет long-polling, пока не придет следующее подходящее событие в очереди или не истечет тайм-аут.Используйте это, когда универсальному MCP-клиенту нужна доставка почти в реальном времени без push-протокола, специфичного для Claude.
messages_send
messages_send
Отправляет текст обратно через тот же маршрут, уже записанный в сеансе.Текущее поведение:
- требует существующий маршрут беседы
- использует канал, получателя, id учетной записи и id потока сеанса
- отправляет только текст
permissions_list_open
permissions_list_open
Перечисляет ожидающие запросы одобрения exec/plugin, которые мост наблюдал с момента подключения к Gateway.
permissions_respond
permissions_respond
Разрешает один ожидающий запрос одобрения exec/plugin с помощью:
allow-onceallow-alwaysdeny
Модель событий
Мост держит очередь событий в памяти, пока он подключен. Текущие типы событий:messageexec_approval_requestedexec_approval_resolvedplugin_approval_requestedplugin_approval_resolvedclaude_permission_request
Уведомления канала Claude
Мост также может предоставлять уведомления канала, специфичные для Claude. Это эквивалент OpenClaw адаптера канала Claude Code: стандартные MCP-инструменты остаются доступными, но живые входящие сообщения также могут приходить как MCP-уведомления, специфичные для Claude.- off
- on
- auto (default)
--claude-channel-mode off: только стандартные MCP-инструменты.notifications/claude/channelnotifications/claude/channel/permission
- входящие сообщения транскрипта
userпересылаются какnotifications/claude/channel - запросы разрешений Claude, полученные через MCP, отслеживаются в памяти
- если связанная беседа позже отправляет
yes abcdeилиno abcde, мост преобразует это вnotifications/claude/channel/permission - эти уведомления существуют только для живого сеанса; если MCP-клиент отключается, цели для push нет
Конфигурация MCP-клиента
Пример конфигурации stdio-клиента:Параметры
openclaw mcp serve поддерживает:
URL WebSocket Gateway.
Токен Gateway.
Читать токен из файла.
Пароль Gateway.
Читать пароль из файла.
Режим уведомлений Claude.
Подробные журналы в stderr.
Граница безопасности и доверия
Мост не придумывает маршрутизацию. Он только предоставляет доступ к беседам, которые Gateway уже умеет маршрутизировать. Это означает:- списки разрешенных отправителей, привязка и доверие на уровне канала по-прежнему относятся к базовой конфигурации канала OpenClaw
messages_sendможет отвечать только через существующий сохраненный маршрут- состояние подтверждений действует только в реальном времени/в памяти для текущего сеанса моста
- аутентификация моста должна использовать те же элементы управления токеном или паролем Gateway, которым вы доверили бы любой другой удаленный клиент Gateway
conversations_list, обычная причина не в конфигурации MCP. Это отсутствующие или неполные метаданные маршрута в базовом сеансе Gateway.
Тестирование
OpenClaw поставляется с детерминированным Docker smoke-тестом для этого моста:- запускает контейнер Gateway с предварительно заполненными данными
- запускает второй контейнер, который порождает
openclaw mcp serve - проверяет обнаружение бесед, чтение транскриптов, чтение метаданных вложений, поведение очереди живых событий и маршрутизацию исходящей отправки
- проверяет уведомления каналов и разрешений в стиле Claude через реальный stdio-мост MCP
Устранение неполадок
Беседы не возвращаются
Беседы не возвращаются
Обычно это означает, что сеанс Gateway еще не маршрутизируем. Убедитесь, что в базовом сеансе сохранены канал/провайдер, получатель и необязательные метаданные маршрута учетной записи/потока.
events_poll или events_wait пропускает более старые сообщения
events_poll или events_wait пропускает более старые сообщения
Ожидаемо. Живая очередь запускается при подключении моста. Читайте более старую историю транскрипта через
messages_read.Уведомления Claude не появляются
Уведомления Claude не появляются
Проверьте все следующее:
- клиент держал сеанс stdio MCP открытым
--claude-channel-modeимеет значениеonилиauto- клиент действительно понимает специфичные для Claude методы уведомлений
- входящее сообщение произошло после подключения моста
Подтверждения отсутствуют
Подтверждения отсутствуют
permissions_list_open показывает только запросы подтверждения, наблюдавшиеся, пока мост был подключен. Это не надежный API истории подтверждений.OpenClaw как реестр клиентов MCP
Это путьopenclaw mcp list, show, status, doctor, probe, add, set,
configure, tools, login, logout, reload и unset.
Эти команды не предоставляют OpenClaw через MCP. Они управляют определениями MCP-серверов под управлением OpenClaw в mcp.servers в конфигурации OpenClaw. Они не читают серверы mcporter из config/mcporter.json.
Эти сохраненные определения предназначены для сред выполнения, которые OpenClaw запускает или настраивает позже, например встроенного OpenClaw и других адаптеров сред выполнения. OpenClaw хранит определения централизованно, чтобы этим средам выполнения не требовалось поддерживать собственные дублирующиеся списки MCP-серверов.
Важное поведение
Важное поведение
- эти команды только читают или записывают конфигурацию OpenClaw
status,list,show,doctorбез--probe,set,configure,tools,logout,reloadиunsetне подключаются к целевому MCP-серверуloginвыполняет сетевой поток MCP OAuth для настроенного HTTP-сервера и сохраняет полученные локальные учетные данныеstatus --verboseвыводит разрешенные подсказки транспорта, аутентификации, тайм-аута, фильтра и параллельных вызовов инструментов без подключенияdoctorпроверяет сохраненные определения на локальные проблемы настройки, такие как отсутствующие команды stdio, недопустимые рабочие каталоги, отсутствующие TLS-файлы, отключенные серверы, буквальные чувствительные значения заголовков/env и неполная авторизация OAuthdoctor --probeдобавляет такое же доказательство живого подключения, какprobe, после прохождения статических проверокprobeподключается к выбранному серверу или всем настроенным серверам, перечисляет инструменты и сообщает о возможностях/диагностикеaddстроит определение из флагов и выполняет probe перед сохранением, если не задан--no-probeили сначала не требуется авторизация OAuth- адаптеры сред выполнения решают, какие формы транспорта они фактически поддерживают во время выполнения
enabled: falseсохраняет сервер, но исключает его из обнаружения встроенной средой выполненияtimeoutиconnectTimeoutзадают тайм-ауты запросов и подключений для каждого сервера в секундахsupportsParallelToolCalls: trueпомечает серверы, которые адаптеры могут вызывать параллельно- HTTP-серверы могут использовать статические заголовки, OAuth-вход, управление проверкой TLS и пути к сертификату/ключу mTLS
- встроенный OpenClaw предоставляет настроенные инструменты MCP в обычных профилях инструментов
codingиmessaging;minimalпо-прежнему скрывает их, аtools.deny: ["bundle-mcp"]явно отключает их - серверные
toolFilter.includeиtoolFilter.excludeфильтруют обнаруженные MCP-инструменты до того, как они станут инструментами OpenClaw - серверы, объявляющие ресурсы или prompts, также предоставляют служебные инструменты для перечисления/чтения ресурсов и перечисления/получения prompts; эти сгенерированные служебные имена (
resources_list,resources_read,prompts_list,prompts_get) используют тот же фильтр include/exclude - динамические изменения списка MCP-инструментов инвалидируют кэшированный каталог для этого сеанса; следующее обнаружение/использование обновляет данные с сервера
- повторяющиеся сбои запросов/протокола MCP-инструментов ненадолго приостанавливают этот сервер, чтобы один неисправный сервер не занимал весь ход
- сеансовые bundled MCP-среды выполнения удаляются после
mcp.sessionIdleTtlMsмиллисекунд простоя (по умолчанию 10 минут; задайте0, чтобы отключить), а одноразовые встроенные запуски очищают их в конце запуска
transport OpenClaw напрямую, а Claude Code и Gemini получают нативные для CLI значения type, такие как http, sse или stdio.
Codex app-server также учитывает необязательный блок codex на каждом сервере. Это
проекционные метаданные OpenClaw только для потоков Codex app-server; они не
изменяют сеансы ACP, общую конфигурацию Codex harness или другие адаптеры сред выполнения.
Используйте непустой codex.agents, чтобы проецировать сервер только в конкретные
идентификаторы агентов OpenClaw. Пустые, blank или недопустимые списки агентов отклоняются проверкой
конфигурации и пропускаются путем проекции среды выполнения, а не становятся
глобальными. Используйте codex.defaultToolsApprovalMode (auto, prompt или approve),
чтобы сгенерировать нативный для Codex default_tools_approval_mode для доверенного сервера.
OpenClaw удаляет метаданные codex перед передачей нативной конфигурации mcp_servers
в Codex.
Сохраненные определения MCP-серверов
OpenClaw также хранит облегченный реестр MCP-серверов в конфигурации для поверхностей, которым нужны MCP-определения под управлением OpenClaw. Команды:openclaw mcp listopenclaw mcp show [name]openclaw mcp status [--verbose]openclaw mcp doctor [name] [--probe]openclaw mcp probe [name]openclaw mcp add <name> [flags]openclaw mcp set <name> <json>openclaw mcp configure <name> [flags]openclaw mcp tools <name> [--include csv] [--exclude csv] [--clear]openclaw mcp login <name> [--code code]openclaw mcp logout <name>openclaw mcp reloadopenclaw mcp unset <name>
listсортирует имена серверов.showбез имени выводит полный настроенный объект MCP-сервера.statusклассифицирует настроенные транспорты без подключения.--verboseвключает разрешенные сведения о запуске, тайм-ауте, OAuth, фильтре и параллельных вызовах.doctorвыполняет статические проверки без подключения. Добавьте--probe, когда команда также должна проверить, что включенные серверы подключаются.probeподключается и сообщает количество инструментов, поддержку ресурсов/prompts, поддержку изменений списка и диагностику.addпринимает stdio-флаги, такие как--command,--arg,--envи--cwd, или HTTP-флаги, такие как--url,--transport,--header,--auth oauth, TLS, тайм-аут и флаги выбора инструментов.setожидает одно значение JSON-объекта в командной строке.configureобновляет включенность, фильтры инструментов, тайм-ауты, OAuth, TLS и подсказки параллельных вызовов инструментов без замены всего определения сервера.toolsобновляет фильтры инструментов для каждого сервера. Записи include/exclude — это имена MCP-инструментов и простые glob-шаблоны*.loginзапускает поток OAuth для HTTP-серверов, настроенных сauth: "oauth". Первый запуск выводит URL авторизации; повторно запустите с--codeпосле подтверждения.logoutочищает сохраненные учетные данные OAuth для указанного сервера, не удаляя сохраненное определение сервера.reloadудаляет кэшированные внутрипроцессные MCP-среды выполнения. Процессам Gateway или агентов в другом процессе по-прежнему нужен собственный путь перезагрузки или рестарта.- Используйте
transport: "streamable-http"для Streamable HTTP MCP-серверов.openclaw mcp setтакже нормализует нативный для CLItype: "http"к той же канонической форме конфигурации для совместимости. unsetзавершается с ошибкой, если указанный сервер не существует.
Распространенные рецепты серверов
Эти примеры только сохраняют определения серверов. После этого запуститеopenclaw mcp doctor --probe, чтобы доказать, что сервер запускается и предоставляет инструменты.
- Файловая система
- Память
- Локальный скрипт
- Remote HTTP
- Desktop/CUA
Формы вывода JSON
Используйте--json для скриптов и панелей мониторинга. Наборы полей со временем могут расширяться, поэтому потребители должны игнорировать неизвестные ключи.
status --json
status --json
doctor --json
doctor --json
doctor --json завершается с ненулевым кодом, когда у любого включенного проверяемого сервера есть ошибка. Предупреждения выводятся, но сами по себе не приводят к сбою команды.probe --json
probe --json
probe открывает живой сеанс клиента MCP. Используйте его для проверки доступности и возможностей, а не для статических аудитов конфигурации.Транспорт Stdio
Запускает локальный дочерний процесс и взаимодействует через stdin/stdout.| Поле | Описание |
|---|---|
command | Исполняемый файл для запуска (обязательно) |
args | Массив аргументов командной строки |
env | Дополнительные переменные окружения |
cwd / workingDirectory | Рабочий каталог процесса |
Транспорт SSE / HTTP
Подключается к удаленному MCP-серверу по HTTP Server-Sent Events.| Поле | Описание |
|---|---|
url | HTTP- или HTTPS-URL удаленного сервера (обязательно) |
headers | Необязательная карта HTTP-заголовков ключ-значение (например, auth-токены) |
connectionTimeoutMs | Тайм-аут подключения для сервера в мс (необязательно) |
connectTimeout | Тайм-аут подключения для сервера в секундах (необязательно) |
timeout / requestTimeoutMs | Тайм-аут MCP-запроса для сервера в секундах или мс |
auth: "oauth" | Использовать хранилище OAuth-токенов MCP и openclaw mcp login |
sslVerify | Устанавливайте false только для явно доверенных частных HTTPS-точек доступа |
clientCert / clientKey | Пути к клиентскому сертификату и ключу mTLS |
supportsParallelToolCalls | Подсказка, что параллельные вызовы безопасны для этого сервера |
url (userinfo) и headers редактируются в журналах и выводе статуса. openclaw mcp doctor предупреждает, когда похожие на чувствительные записи headers или env содержат буквальные значения, чтобы операторы могли вынести эти значения из зафиксированной конфигурации.
Рабочий процесс OAuth
OAuth предназначен для HTTP MCP-серверов, которые объявляют поддержку потока OAuth MCP. Статические заголовкиAuthorization игнорируются для сервера, пока включен auth: "oauth".
Save the server
Добавьте или обновите сервер с
auth: "oauth" и любыми необязательными метаданными OAuth.Start login
Запустите вход, чтобы создать запрос авторизации.OpenClaw выводит URL авторизации и сохраняет временное состояние OAuth verifier в каталоге состояния OpenClaw.
openclaw mcp logout <name>, затем повторите login. logout может очистить учетные данные сохраненного HTTP-сервера даже после удаления auth: "oauth" из конфигурации, если имя сервера и URL по-прежнему идентифицируют запись хранилища учетных данных.
Транспорт Streamable HTTP
streamable-http — дополнительный вариант транспорта наряду с sse и stdio. Он использует HTTP-стриминг для двунаправленного взаимодействия с удаленными MCP-серверами.
| Поле | Описание |
|---|---|
url | HTTP- или HTTPS-URL удаленного сервера (обязательно) |
transport | Установите "streamable-http", чтобы выбрать этот транспорт; если значение опущено, OpenClaw использует sse |
headers | Необязательная карта HTTP-заголовков ключ-значение (например, auth-токены) |
connectionTimeoutMs | Тайм-аут подключения для сервера в мс (необязательно) |
connectTimeout | Тайм-аут подключения для сервера в секундах (необязательно) |
timeout / requestTimeoutMs | Тайм-аут MCP-запроса для сервера в секундах или мс |
auth: "oauth" | Использовать хранилище OAuth-токенов MCP и openclaw mcp login |
sslVerify | Устанавливайте false только для явно доверенных частных HTTPS-точек доступа |
clientCert / clientKey | Пути к клиентскому сертификату и ключу mTLS |
supportsParallelToolCalls | Подсказка, что параллельные вызовы безопасны для этого сервера |
transport: "streamable-http" как каноническое написание. Значения CLI-native MCP type: "http" принимаются при сохранении через openclaw mcp set и исправляются openclaw doctor --fix в существующей конфигурации, но именно transport напрямую потребляется встроенным OpenClaw.
Пример:
Команды реестра не запускают мост канала. Только
probe и doctor --probe открывают живой сеанс клиента MCP, чтобы доказать доступность целевого сервера.Control UI
Браузерный Control UI включает выделенную страницу настроек MCP по адресу/mcp. Она показывает количество настроенных серверов, сводки по включению/OAuth/фильтрам, строки транспорта для каждого сервера, элементы управления включением/отключением, распространенные команды CLI и редактор с областью действия для секции конфигурации mcp.
Используйте страницу для операторских правок и быстрой инвентаризации. Используйте openclaw mcp doctor --probe или openclaw mcp probe, когда нужна живая проверка сервера.
Рабочий процесс оператора:
- Откройте Control UI и выберите MCP.
- Проверьте сводные карточки для общего числа, включенных, OAuth и отфильтрованных серверов.
- Используйте строку каждого сервера для подсказок по транспорту, аутентификации, фильтру, тайм-ауту и командам.
- Переключайте включение, когда хотите сохранить определение, но исключить его из обнаружения во время выполнения.
- Отредактируйте scoped-раздел конфигурации
mcpдля структурных изменений, таких как новые серверы, заголовки, TLS, метаданные OAuth или фильтры инструментов. - Выберите Сохранить, чтобы только сохранить конфигурацию, или Сохранить и опубликовать, чтобы применить ее через путь конфигурации Gateway.
- Запустите
openclaw mcp doctor --probe, когда нужно live-подтверждение, что отредактированный сервер запускается и выводит список инструментов.
- фрагменты команд заключают имена серверов в кавычки, чтобы необычные имена оставались пригодными для копирования в shell
- отображаемые URL-подобные значения редактируются перед отображением, если содержат встроенные учетные данные
- страница сама не запускает MCP-транспорты
- активным средам выполнения может потребоваться
openclaw mcp reload, публикация конфигурации Gateway или перезапуск процесса в зависимости от того, какой процесс владеет MCP-клиентами
Текущие ограничения
На этой странице документируется мост в том виде, в котором он поставляется сегодня. Текущие ограничения:- обнаружение бесед зависит от существующих метаданных маршрута сессии Gateway
- нет универсального push-протокола помимо адаптера, специфичного для Claude
- инструментов для редактирования сообщений или реакций пока нет
- транспорт HTTP/SSE/streamable-http подключается к одному удаленному серверу; мультиплексированного upstream пока нет
permissions_list_openвключает только подтверждения, замеченные, пока мост подключен