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/фільтрів, підказки команд і обмежений редактор mcp. |
| Надати app-server Codex обмежений нативний MCP-сервер | mcp.servers.<name>.codex | Блок codex впливає лише на проєкцію потоків app-server Codex і видаляється перед передаванням нативної конфігурації. |
| Запускати сеанси harness, розміщені через ACP | openclaw acp і агенти ACP | Режим моста ACP не приймає ін’єкцію MCP-сервера для окремого сеансу; натомість налаштуйте мости gateway/plugin. |
OpenClaw як MCP-сервер
Це шляхopenclaw mcp serve.
Коли використовувати serve
Використовуйте openclaw mcp serve, коли:
- Codex, Claude Code або інший MCP-клієнт має напряму взаємодіяти з розмовами каналів на основі OpenClaw
- у вас уже є локальний або віддалений OpenClaw Gateway з маршрутизованими сеансами
- вам потрібен один MCP-сервер, що працює з бекендами каналів OpenClaw, замість запуску окремих мостів для кожного каналу
openclaw acp, коли OpenClaw має самостійно розміщувати кодове середовище виконання і тримати сеанс агента всередині OpenClaw.
Як це працює
openclaw mcp serve запускає stdio MCP-сервер. MCP-клієнт володіє цим процесом. Поки клієнт тримає stdio-сеанс відкритим, міст підключається до локального або віддаленого OpenClaw Gateway через WebSocket і надає маршрутизовані розмови каналів через MCP.
Сеанси стають MCP-розмовами
Маршрутизовані сеанси стають MCP-розмовами та інструментами стенограми/історії.
Важлива поведінка
Важлива поведінка
- стан живої черги починається, коли міст підключається
- старіша історія стенограми читається за допомогою
messages_read - push-сповіщення Claude існують лише поки MCP-сеанс активний
- коли клієнт відключається, міст завершує роботу, а жива черга зникає
- одноразові точки входу агента, як-от
openclaw agentіopenclaw infer model run, завершують будь-які bundled MCP runtime, які вони відкривають, коли відповідь завершена, тому повторні скриптові запуски не накопичують дочірні процеси stdio MCP - stdio MCP-сервери, запущені OpenClaw (bundled або налаштовані користувачем), під час завершення роботи зупиняються як дерево процесів, тож дочірні subprocesses, запущені сервером, не виживають після виходу батьківського stdio-клієнта
- видалення або скидання сеансу звільняє MCP-клієнти цього сеансу через спільний шлях очищення runtime, тому не лишається завислих stdio-з’єднань, прив’язаних до видаленого сеансу
Виберіть режим клієнта
Використовуйте той самий міст двома різними способами:- Загальні MCP-клієнти
- Claude Code
Лише стандартні MCP-інструменти. Використовуйте
conversations_list, messages_read, events_poll, events_wait, messages_send та інструменти схвалення.Сьогодні
auto поводиться так само, як on. Виявлення можливостей клієнта ще немає.Що надає serve
Міст використовує наявні метадані маршруту сеансу Gateway, щоб надавати розмови на основі каналів. Розмова з’являється, коли OpenClaw уже має стан сеансу з відомим маршрутом, наприклад:
channel- метадані отримувача або призначення
- необов’язковий
accountId - необов’язковий
threadId
- перелічувати нещодавні маршрутизовані розмови
- читати нещодавню історію стенограми
- чекати нових вхідних подій
- надсилати відповідь назад через той самий маршрут
- бачити запити на схвалення, що надходять, поки міст підключений
Використання
- Локальний Gateway
- Віддалений Gateway (токен)
- Віддалений Gateway (пароль)
- Докладно / Claude вимкнено
Інструменти моста
Поточний міст надає ці 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-клієнту потрібна майже реального часу доставка без специфічного для Claude push-протоколу.
messages_send
messages_send
Надсилає текст назад через той самий маршрут, уже записаний у сеансі.Поточна поведінка:
- вимагає наявного маршруту розмови
- використовує канал сеансу, отримувача, ідентифікатор облікового запису та ідентифікатор потоку
- надсилає лише текст
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 сповіщення каналу. Це еквівалент адаптера каналу Claude Code в OpenClaw: стандартні MCP-інструменти залишаються доступними, але живі вхідні повідомлення також можуть надходити як специфічні для Claude MCP-сповіщення.- off
- on
- auto (типово)
--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 підтримує:
WebSocket URL Gateway.
Токен Gateway.
Читати токен із файлу.
Пароль Gateway.
Читати пароль із файлу.
Режим сповіщень Claude.
Докладні журнали в stderr.
Безпека та межа довіри
Міст не вигадує маршрутизацію. Він лише відкриває розмови, які Gateway уже вміє маршрутизувати. Це означає:- списки дозволених відправників, сполучення та довіра на рівні каналу й надалі належать базовій конфігурації каналу OpenClaw
messages_sendможе відповідати лише через наявний збережений маршрут- стан затвердження є активним/у пам’яті лише для поточного сеансу моста
- автентифікація моста має використовувати ті самі засоби керування токеном або паролем Gateway, яким ви довірили б будь-який інший віддалений клієнт Gateway
conversations_list, звичайна причина не в конфігурації MCP. Причина — відсутні або неповні метадані маршруту в базовому сеансі Gateway.
Тестування
OpenClaw постачає детермінований Docker smoke для цього моста:- запускає контейнер Gateway із початковими даними
- запускає другий контейнер, який створює
openclaw mcp serve - перевіряє виявлення розмов, читання транскриптів, читання метаданих вкладень, поведінку черги live-подій і маршрутизацію вихідного надсилання
- перевіряє сповіщення каналів і дозволів у стилі Claude через реальний stdio MCP-міст
Усунення неполадок
Розмови не повертаються
Розмови не повертаються
Зазвичай це означає, що сеанс Gateway ще не маршрутизується. Переконайтеся, що базовий сеанс має збережені метадані маршруту каналу/постачальника, отримувача та необов’язково облікового запису/теми.
events_poll або events_wait пропускає старіші повідомлення
events_poll або events_wait пропускає старіші повідомлення
Очікувано. Live-черга запускається, коли міст підключається. Читайте старішу історію транскрипту за допомогою
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додає таке саме live-підтвердження підключення, якprobe, після успішного проходження статичних перевірокprobeпідключається до вибраного сервера або всіх налаштованих серверів, перелічує інструменти та звітує про можливості/діагностикуaddбудує визначення з прапорців і виконує probe перед збереженням, якщо не встановлено--no-probeабо спершу не потрібна авторизація OAuth- адаптери середовища виконання вирішують, які форми транспорту вони фактично підтримують під час виконання
enabled: falseзберігає сервер, але виключає його з виявлення вбудованим середовищем виконанняtimeoutіconnectTimeoutзадають часи очікування запиту та підключення для кожного сервера в секундахsupportsParallelToolCalls: trueпозначає сервери, які адаптери можуть викликати конкурентно- HTTP-сервери можуть використовувати статичні заголовки, OAuth login, керування перевіркою 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) використовують той самий фільтр включення/виключення - динамічні зміни списку MCP-інструментів інвалідують кешований каталог для цього сеансу; наступне виявлення/використання оновлює його із сервера
- повторні збої запитів MCP-інструментів/протоколу ненадовго призупиняють цей сервер, щоб один несправний сервер не спожив увесь хід
- bundled MCP-середовища виконання в межах сеансу прибираються після
mcp.sessionIdleTtlMsмілісекунд простою (за замовчуванням 10 хвилин; задайте0, щоб вимкнути), а одноразові вбудовані запуски прибирають їх наприкінці запуску
transport напряму, тоді як Claude Code і Gemini отримують CLI-native значення 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оновлює фільтри інструментів для кожного сервера. Записи включення/виключення — це назви MCP-інструментів і прості*globs.loginзапускає потік OAuth для HTTP-серверів, налаштованих ізauth: "oauth". Перший запуск друкує URL авторизації; повторно запустіть із--codeпісля затвердження.logoutочищає збережені облікові дані OAuth для названого сервера, не видаляючи збережене визначення сервера.reloadутилізує кешовані MCP-середовища виконання в поточному процесі. Gateway або агентські процеси в іншому процесі все ще потребують власного шляху перезавантаження або перезапуску.- Використовуйте
transport: "streamable-http"для Streamable HTTP MCP-серверів.openclaw mcp setтакож нормалізує CLI-nativetype: "http"до тієї самої канонічної форми конфігурації для сумісності. unsetзавершується з помилкою, якщо названого сервера не існує.
Поширені рецепти серверів
Ці приклади лише зберігають визначення серверів. Після цього запустітьopenclaw mcp doctor --probe, щоб довести, що сервер запускається та відкриває інструменти.
- Файлова система
- Пам’ять
- Локальний скрипт
- Віддалений HTTP
- Робочий стіл/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" | Використовувати сховище MCP OAuth-токенів і openclaw mcp login |
sslVerify | Установлюйте false лише для явно довірених приватних HTTPS-ендпоїнтів |
clientCert / clientKey | Шляхи до клієнтського сертифіката та ключа mTLS |
supportsParallelToolCalls | Підказка, що паралельні виклики безпечні для цього сервера |
url (userinfo) і headers редагуються в журналах і виводі стану. openclaw mcp doctor попереджає, коли схожі на конфіденційні записи headers або env містять буквальні значення, щоб оператори могли винести ці значення з коміченої конфігурації.
Робочий процес OAuth
OAuth призначений для HTTP MCP-серверів, які оголошують потік MCP OAuth. Статичні заголовкиAuthorization ігноруються для сервера, поки ввімкнено auth: "oauth".
Збережіть сервер
Додайте або оновіть сервер із
auth: "oauth" і будь-якими необов’язковими метаданими OAuth.Почніть вхід
Запустіть login, щоб створити запит авторизації.OpenClaw виводить URL авторизації та зберігає тимчасовий стан верифікатора OAuth у каталозі стану 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" | Використовувати сховище MCP OAuth-токенів і openclaw mcp login |
sslVerify | Установлюйте false лише для явно довірених приватних HTTPS-ендпоїнтів |
clientCert / clientKey | Шляхи до клієнтського сертифіката та ключа mTLS |
supportsParallelToolCalls | Підказка, що паралельні виклики безпечні для цього сервера |
transport: "streamable-http" як канонічне написання. CLI-нативні значення 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 і відфільтрованих серверів.
- Використовуйте кожен рядок сервера для підказок щодо транспорту, автентифікації, фільтра, часу очікування та команди.
- Перемикайте ввімкнення, коли потрібно зберегти визначення, але виключити його з виявлення під час виконання.
- Редагуйте секцію конфігурації
mcpу межах області для структурних змін, як-от нові сервери, заголовки, TLS, метадані OAuth або фільтри інструментів. - Виберіть Зберегти, щоб лише зберегти конфігурацію, або Зберегти й опублікувати, щоб застосувати її через шлях конфігурації Gateway.
- Запустіть
openclaw mcp doctor --probe, коли потрібен живий доказ, що відредагований сервер запускається та перелічує інструменти.
- фрагменти команд беруть назви серверів у лапки, щоб незвичні назви залишалися придатними для копіювання в shell
- відображені URL-подібні значення редагуються перед рендерингом, якщо містять вбудовані облікові дані
- сторінка сама не запускає транспорти MCP
- активним середовищам виконання може знадобитися
openclaw mcp reload, публікація конфігурації Gateway або перезапуск процесу залежно від того, який процес володіє клієнтами MCP
Поточні обмеження
Ця сторінка документує міст у тому вигляді, у якому він постачається сьогодні. Поточні обмеження:- виявлення розмов залежить від наявних метаданих маршруту сеансу Gateway
- немає універсального push-протоколу поза адаптером, специфічним для Claude
- інструментів для редагування повідомлень або реакцій поки немає
- транспорт HTTP/SSE/streamable-http підключається до одного віддаленого сервера; мультиплексованого upstream поки немає
permissions_list_openмістить лише схвалення, зафіксовані, поки міст підключений