CLI commands
MCP
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-серверів, які його середовища виконання можуть споживати пізніше
Використовуйте 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-клієнт запускає openclaw mcp serve.
Міст підключається до Gateway
Міст підключається до OpenClaw Gateway через WebSocket.
Сеанси стають MCP-розмовами
Маршрутизовані сеанси стають MCP-розмовами та інструментами стенограми/історії.
Живі події стають у чергу
Живі події ставляться в чергу в пам'яті, поки міст підключений.
Необов'язковий push для Claude
Якщо режим каналу Claude увімкнено, той самий сеанс також може отримувати специфічні для Claude push-сповіщення.
Важлива поведінка
- стан живої черги починається, коли міст підключається
- старіша історія стенограми читається за допомогою
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-клієнти
Лише стандартні MCP-інструменти. Використовуйте conversations_list, messages_read, events_poll, events_wait, messages_send та інструменти схвалення.
Claude Code
Стандартні MCP-інструменти плюс специфічний для Claude адаптер каналу. Увімкніть --claude-channel-mode on або залиште типовий режим auto.
Що надає serve
Міст використовує наявні метадані маршруту сеансу Gateway, щоб надавати розмови на основі каналів. Розмова з'являється, коли OpenClaw уже має стан сеансу з відомим маршрутом, наприклад:
channel- метадані отримувача або призначення
- необов'язковий
accountId - необов'язковий
threadId
Це дає MCP-клієнтам одне місце, щоб:
- перелічувати нещодавні маршрутизовані розмови
- читати нещодавню історію стенограми
- чекати нових вхідних подій
- надсилати відповідь назад через той самий маршрут
- бачити запити на схвалення, що надходять, поки міст підключений
Використання
Локальний Gateway
openclaw mcp serveВіддалений Gateway (токен)
openclaw mcp serve --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.tokenВіддалений Gateway (пароль)
openclaw mcp serve --url wss://gateway-host:18789 --password-file ~/.openclaw/gateway.passwordДокладно / Claude вимкнено
openclaw mcp serve --verboseopenclaw mcp serve --claude-channel-mode offІнструменти моста
Поточний міст надає ці MCP-інструменти:
conversations_list
Перелічує нещодавні розмови на основі сеансів, які вже мають метадані маршруту в стані сеансу Gateway.
Корисні фільтри:
limitsearchchannelincludeDerivedTitlesincludeLastMessage
conversation_get
Повертає одну розмову за session_key за допомогою прямого пошуку сеансу Gateway.
messages_read
Читає нещодавні повідомлення стенограми для однієї розмови на основі сеансу.
attachments_fetch
Витягує нетекстові блоки вмісту повідомлення з одного повідомлення стенограми. Це подання метаданих над вмістом стенограми, а не окреме довговічне сховище blob-вкладень.
events_poll
Читає поставлені в чергу живі події від числового курсора.
events_wait
Виконує long-polling, доки не надійде наступна відповідна подія в черзі або не спливе час очікування.
Використовуйте це, коли загальному MCP-клієнту потрібна майже реального часу доставка без специфічного для Claude push-протоколу.
messages_send
Надсилає текст назад через той самий маршрут, уже записаний у сеансі.
Поточна поведінка:
- вимагає наявного маршруту розмови
- використовує канал сеансу, отримувача, ідентифікатор облікового запису та ідентифікатор потоку
- надсилає лише текст
permissions_list_open
Перелічує очікувані запити на схвалення exec/plugin, які міст спостеріг з моменту підключення до Gateway.
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
--claude-channel-mode off: лише стандартні MCP-інструменти.
on
--claude-channel-mode on: увімкнути сповіщення каналу Claude.
auto (типово)
--claude-channel-mode auto: поточне типове значення; та сама поведінка моста, що й on.
Коли режим каналу Claude увімкнено, сервер оголошує експериментальні можливості Claude і може надсилати:
notifications/claude/channelnotifications/claude/channel/permission
Поточна поведінка моста:
- вхідні повідомлення стенограми
userпересилаються якnotifications/claude/channel - запити дозволів Claude, отримані через MCP, відстежуються в пам'яті
- якщо власник команди у пов'язаній розмові пізніше надсилає
yes abcdeабоno abcde, міст перетворює це наnotifications/claude/channel/permission - ці сповіщення доступні лише для живого сеансу; якщо MCP-клієнт відключається, push-цілі немає
Це навмисно специфічно для клієнта. Загальні MCP-клієнти мають покладатися на стандартні інструменти опитування.
Конфігурація MCP-клієнта
Приклад конфігурації stdio-клієнта:
{ "mcpServers": { "openclaw": { "command": "openclaw", "args": [ "mcp", "serve", "--url", "wss://gateway-host:18789", "--token-file", "/path/to/gateway.token" ] } }}Для більшості загальних MCP-клієнтів почніть зі стандартної поверхні інструментів і ігноруйте режим Claude. Увімкніть режим Claude лише для клієнтів, які справді розуміють специфічні для Claude методи сповіщень.
Параметри
openclaw mcp serve підтримує:
--urlstringWebSocket URL Gateway.
--tokenstringТокен Gateway.
--token-filestringЧитати токен із файлу.
--passwordstringПароль Gateway.
--password-filestringЧитати пароль із файлу.
--claude-channel-mode"auto" | "on" | "off"Режим сповіщень Claude.
-v, --verbosebooleanДокладні журнали в stderr.
Безпека та межа довіри
Міст не вигадує маршрутизацію. Він лише відкриває розмови, які Gateway уже вміє маршрутизувати.
Це означає:
- списки дозволених відправників, сполучення та довіра на рівні каналу й надалі належать базовій конфігурації каналу OpenClaw
messages_sendможе відповідати лише через наявний збережений маршрут- стан затвердження є активним/у пам’яті лише для поточного сеансу моста
- автентифікація моста має використовувати ті самі засоби керування токеном або паролем Gateway, яким ви довірили б будь-який інший віддалений клієнт Gateway
Якщо розмова відсутня в conversations_list, звичайна причина не в конфігурації MCP. Причина — відсутні або неповні метадані маршруту в базовому сеансі Gateway.
Тестування
OpenClaw постачає детермінований Docker smoke для цього моста:
pnpm test:docker:mcp-channelsЦей smoke:
- запускає контейнер Gateway із початковими даними
- запускає другий контейнер, який створює
openclaw mcp serve - перевіряє виявлення розмов, читання транскриптів, читання метаданих вкладень, поведінку черги live-подій і маршрутизацію вихідного надсилання
- перевіряє сповіщення каналів і дозволів у стилі Claude через реальний stdio MCP-міст
Це найшвидший спосіб довести, що міст працює, без підключення реального облікового запису Telegram, Discord або iMessage до тестового запуску.
Ширший контекст тестування див. у Тестування.
Усунення неполадок
Розмови не повертаються
Зазвичай це означає, що сеанс Gateway ще не маршрутизується. Переконайтеся, що базовий сеанс має збережені метадані маршруту каналу/постачальника, отримувача та необов’язково облікового запису/теми.
events_poll або events_wait пропускає старіші повідомлення
Очікувано. Live-черга запускається, коли міст підключається. Читайте старішу історію транскрипту за допомогою messages_read.
Сповіщення 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, щоб вимкнути), а одноразові вбудовані запуски прибирають їх наприкінці запуску
Адаптери середовища виконання можуть нормалізувати цей спільний реєстр у форму, яку очікує їхній нижчий клієнт. Наприклад, вбудований OpenClaw споживає значення OpenClaw 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 listopenclaw mcp show context7 --jsonopenclaw mcp status --verboseopenclaw mcp doctor --probeopenclaw mcp probe context7 --jsonopenclaw mcp add memory --command npx --arg -y --arg @modelcontextprotocol/server-memoryopenclaw mcp set context7 '{"command":"uvx","args":["context7-mcp"]}'openclaw mcp tools context7 --include 'resolve-library-id,get-library-docs'openclaw mcp set docs '{"url":"https://mcp.example.com","transport":"streamable-http"}'openclaw mcp configure docs --timeout 20 --connect-timeout 5 --include 'search,read_*'openclaw mcp configure docs --auth oauth --oauth-scope 'docs.read'openclaw mcp login docsopenclaw mcp logout docsopenclaw mcp unset context7Поширені рецепти серверів
Ці приклади лише зберігають визначення серверів. Після цього запустіть openclaw mcp doctor --probe, щоб довести, що сервер запускається та відкриває інструменти.
Файлова система
openclaw mcp add files \ --command npx \ --arg -y \ --arg @modelcontextprotocol/server-filesystem \ --arg "$HOME/Documents" \ --include 'read_file,list_directory,search_files'openclaw mcp doctor files --probeОбмежуйте файлові сервери найменшим деревом каталогів, яке агент має читати або редагувати.
Пам’ять
openclaw mcp add memory \ --command npx \ --arg -y \ --arg @modelcontextprotocol/server-memoryopenclaw mcp probe memory --jsonВикористовуйте фільтр інструментів, якщо сервер відкриває інструменти запису, які не мають бути доступними звичайним агентам.
Локальний скрипт
openclaw mcp add local-tools \ --command node \ --arg ./dist/mcp-server.js \ --cwd /srv/openclaw-tools \ --env API_BASE=https://internal.exampleopenclaw mcp status --verbosedoctor перевіряє, що cwd існує і що команда розв’язується з налаштованого середовища.
Віддалений HTTP
openclaw mcp add docs \ --url https://mcp.example.com/mcp \ --transport streamable-http \ --auth oauth \ --oauth-scope docs.read \ --timeout 20 \ --connect-timeout 5 \ --include 'search,read_*'openclaw mcp doctor docs --probeВикористовуйте OAuth, коли віддалений сервер його підтримує. Якщо сервер потребує статичних заголовків, уникайте комітування буквальних bearer-токенів.
Робочий стіл/CUA
openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'openclaw mcp tools cua-driver --include 'list_apps,observe,click,type'openclaw mcp doctor cua-driver --probeСервери прямого керування робочим столом успадковують дозволи процесу, який вони запускають. Використовуйте вузькі фільтри інструментів і запити дозволів на рівні ОС.
Форми JSON-виводу
Використовуйте --json для скриптів і панелей моніторингу. Набори полів можуть з часом розширюватися, тому споживачі мають ігнорувати невідомі ключі.
status --json
{ "path": "/home/user/.openclaw/openclaw.json", "servers": [ { "name": "docs", "configured": true, "enabled": true, "ok": true, "transport": "streamable-http", "launch": "streamable-http https://mcp.example.com/mcp", "auth": "oauth", "authStatus": { "hasTokens": true, "hasClientInformation": true, "hasCodeVerifier": false, "hasDiscoveryState": true, "hasLastAuthorizationUrl": false }, "requestTimeoutMs": 20000, "connectionTimeoutMs": 5000, "toolFilter": { "include": ["search", "read_*"], "exclude": [] }, "supportsParallelToolCalls": true } ]}doctor --json
{ "ok": false, "path": "/home/user/.openclaw/openclaw.json", "servers": [ { "name": "docs", "ok": false, "issues": [ { "level": "error", "message": "OAuth credentials are not authorized; run openclaw mcp login docs" } ] } ]}doctor --json завершується з ненульовим кодом, коли будь-який увімкнений перевірений сервер має помилку. Попередження повідомляються, але самі по собі не спричиняють збій команди.
probe --json
{ "path": "/home/user/.openclaw/openclaw.json", "generatedAt": "2026-05-31T09:00:00.000Z", "servers": { "docs": { "launch": "streamable-http https://mcp.example.com/mcp", "tools": 2, "resources": true, "prompts": false, "listChanged": { "tools": true, "resources": false, "prompts": false } } }, "tools": ["docs__read_page", "docs__search"], "diagnostics": []}probe відкриває живу клієнтську сесію MCP. Використовуйте її для підтвердження доступності та можливостей, а не для статичних аудитів конфігурації.
Приклад форми конфігурації:
{ "mcp": { "servers": { "context7": { "command": "uvx", "args": ["context7-mcp"] }, "docs": { "url": "https://mcp.example.com", "transport": "streamable-http", "timeout": 20, "connectTimeout": 5, "supportsParallelToolCalls": true, "auth": "oauth", "oauth": { "scope": "docs.read" }, "sslVerify": true, "clientCert": "/path/to/client.crt", "clientKey": "/path/to/client.key", "toolFilter": { "include": ["search_*"], "exclude": ["admin_*"] } } } }}Транспорт 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 |
Підказка, що паралельні виклики безпечні для цього сервера |
Приклад:
{ "mcp": { "servers": { "remote-tools": { "url": "https://mcp.example.com", "auth": "oauth", "timeout": 20, "headers": { "Authorization": "Bearer <token>" } } } }}Конфіденційні значення в url (userinfo) і headers редагуються в журналах і виводі стану. openclaw mcp doctor попереджає, коли схожі на конфіденційні записи headers або env містять буквальні значення, щоб оператори могли винести ці значення з коміченої конфігурації.
Робочий процес OAuth
OAuth призначений для HTTP MCP-серверів, які оголошують потік MCP OAuth. Статичні заголовки Authorization ігноруються для сервера, поки ввімкнено auth: "oauth".
Збережіть сервер
Додайте або оновіть сервер із auth: "oauth" і будь-якими необов’язковими метаданими OAuth.
openclaw mcp set docs '{"url":"https://mcp.example.com/mcp","transport":"streamable-http","auth":"oauth","oauth":{"scope":"docs.read"}}'Почніть вхід
Запустіть login, щоб створити запит авторизації.
openclaw mcp login docsOpenClaw виводить URL авторизації та зберігає тимчасовий стан верифікатора OAuth у каталозі стану OpenClaw.
Завершіть кодом
Після схвалення в браузері передайте повернений код назад до OpenClaw.
openclaw mcp login docs --code abc123Перевірте авторизацію
Використовуйте status або doctor, щоб підтвердити наявність токенів.
openclaw mcp status --verboseopenclaw mcp doctor docs --probeОчистьте облікові дані
Logout видаляє збережені облікові дані OAuth, але зберігає визначення сервера.
openclaw mcp logout docsЯкщо провайдер ротує токени або стан авторизації застрягає, запустіть 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 |
Підказка, що паралельні виклики безпечні для цього сервера |
Конфігурація OpenClaw використовує transport: "streamable-http" як канонічне написання. CLI-нативні значення MCP type: "http" приймаються під час збереження через openclaw mcp set і виправляються openclaw doctor --fix в наявній конфігурації, але transport — це те, що вбудований OpenClaw споживає напряму.
Приклад:
{ "mcp": { "servers": { "streaming-tools": { "url": "https://mcp.example.com/stream", "transport": "streamable-http", "connectTimeout": 10, "timeout": 30, "headers": { "Authorization": "Bearer <token>" } } } }}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містить лише схвалення, зафіксовані, поки міст підключений