CLI commands
MCP
openclaw mcp memiliki dua tugas:
- menjalankan OpenClaw sebagai server MCP dengan
openclaw mcp serve - mengelola definisi server MCP keluar yang dikelola OpenClaw dengan
list,show,status,doctor,probe,add,set,configure,tools,login,logout,reload, danunset
Dengan kata lain:
serveadalah OpenClaw yang bertindak sebagai server MCP- subperintah lainnya adalah OpenClaw yang bertindak sebagai registri sisi klien MCP untuk server MCP yang mungkin dikonsumsi runtime-nya nanti
Gunakan openclaw acp saat OpenClaw harus menghosting sendiri sesi harness coding dan merutekan runtime tersebut melalui ACP.
Pilih jalur MCP yang tepat
OpenClaw memiliki beberapa permukaan MCP. Pilih yang sesuai dengan siapa pemilik runtime agen dan siapa pemilik alat.
| Tujuan | Gunakan | Alasan |
|---|---|---|
| Membiarkan klien MCP eksternal membaca/mengirim percakapan kanal OpenClaw | openclaw mcp serve |
OpenClaw adalah server MCP dan mengekspos percakapan yang didukung Gateway melalui stdio. |
| Menyimpan server MCP pihak ketiga untuk run agen yang dikelola OpenClaw | openclaw mcp add, set, configure, tools, login |
OpenClaw adalah registri sisi klien MCP dan nanti memproyeksikan server tersebut ke runtime yang memenuhi syarat. |
| Memeriksa server tersimpan tanpa menjalankan giliran agen | openclaw mcp status, doctor, probe |
status dan doctor memeriksa konfigurasi; probe membuka koneksi MCP langsung dan mencantumkan kapabilitas. |
| Mengedit konfigurasi MCP dari browser | Control UI /mcp |
Halaman ini menampilkan inventaris, pengaktifan, ringkasan OAuth/filter, petunjuk perintah, dan editor mcp terbatas cakupan. |
| Memberi app-server Codex server MCP native dengan cakupan tertentu | mcp.servers.<name>.codex |
Blok codex hanya memengaruhi proyeksi thread app-server Codex dan dihapus sebelum penyerahan konfigurasi native. |
| Menjalankan sesi harness yang dihosting ACP | openclaw acp dan Agen ACP |
Mode bridge ACP tidak menerima injeksi server MCP per sesi; konfigurasikan bridge gateway/plugin sebagai gantinya. |
OpenClaw sebagai server MCP
Ini adalah jalur openclaw mcp serve.
Kapan menggunakan serve
Gunakan openclaw mcp serve saat:
- Codex, Claude Code, atau klien MCP lain harus berbicara langsung dengan percakapan kanal yang didukung OpenClaw
- Anda sudah memiliki Gateway OpenClaw lokal atau jarak jauh dengan sesi yang dirutekan
- Anda menginginkan satu server MCP yang bekerja di seluruh backend kanal OpenClaw alih-alih menjalankan bridge terpisah per kanal
Gunakan openclaw acp sebagai gantinya saat OpenClaw harus menghosting sendiri runtime coding dan menjaga sesi agen tetap di dalam OpenClaw.
Cara kerjanya
openclaw mcp serve memulai server MCP stdio. Klien MCP memiliki proses tersebut. Selama klien menjaga sesi stdio tetap terbuka, bridge terhubung ke Gateway OpenClaw lokal atau jarak jauh melalui WebSocket dan mengekspos percakapan kanal yang dirutekan melalui MCP.
Klien memulai bridge
Klien MCP memulai openclaw mcp serve.
Bridge terhubung ke Gateway
Bridge terhubung ke Gateway OpenClaw melalui WebSocket.
Sesi menjadi percakapan MCP
Sesi yang dirutekan menjadi percakapan MCP dan alat transkrip/riwayat.
Antrean peristiwa langsung
Peristiwa langsung diantrekan dalam memori selama bridge terhubung.
Push Claude opsional
Jika mode kanal Claude diaktifkan, sesi yang sama juga dapat menerima notifikasi push khusus Claude.
Perilaku penting
- status antrean langsung dimulai saat bridge terhubung
- riwayat transkrip yang lebih lama dibaca dengan
messages_read - notifikasi push Claude hanya ada selama sesi MCP aktif
- saat klien terputus, bridge keluar dan antrean langsung hilang
- titik masuk agen sekali jalan seperti
openclaw agentdanopenclaw infer model runmenghentikan runtime MCP bawaan apa pun yang dibukanya saat balasan selesai, sehingga run skrip berulang tidak menumpuk proses anak MCP stdio - server MCP stdio yang diluncurkan oleh OpenClaw (bawaan atau dikonfigurasi pengguna) dihentikan sebagai pohon proses saat shutdown, sehingga subproses anak yang dimulai oleh server tidak bertahan setelah klien stdio induk keluar
- menghapus atau mengatur ulang sesi membuang klien MCP sesi tersebut melalui jalur pembersihan runtime bersama, sehingga tidak ada koneksi stdio tersisa yang terkait dengan sesi yang dihapus
Pilih mode klien
Gunakan bridge yang sama dengan dua cara berbeda:
Klien MCP generik
Hanya alat MCP standar. Gunakan conversations_list, messages_read, events_poll, events_wait, messages_send, dan alat persetujuan.
Claude Code
Alat MCP standar plus adaptor kanal khusus Claude. Aktifkan --claude-channel-mode on atau biarkan default auto.
Apa yang diekspos serve
Bridge menggunakan metadata rute sesi Gateway yang ada untuk mengekspos percakapan berbasis kanal. Percakapan muncul saat OpenClaw sudah memiliki status sesi dengan rute yang diketahui seperti:
channel- metadata penerima atau tujuan
accountIdopsionalthreadIdopsional
Ini memberi klien MCP satu tempat untuk:
- mencantumkan percakapan terbaru yang dirutekan
- membaca riwayat transkrip terbaru
- menunggu peristiwa masuk baru
- mengirim balasan kembali melalui rute yang sama
- melihat permintaan persetujuan yang tiba saat bridge terhubung
Penggunaan
Gateway lokal
openclaw mcp serveGateway jarak jauh (token)
openclaw mcp serve --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.tokenGateway jarak jauh (kata sandi)
openclaw mcp serve --url wss://gateway-host:18789 --password-file ~/.openclaw/gateway.passwordVerbose / Claude nonaktif
openclaw mcp serve --verboseopenclaw mcp serve --claude-channel-mode offAlat bridge
Bridge saat ini mengekspos alat MCP berikut:
conversations_list
Mencantumkan percakapan terbaru berbasis sesi yang sudah memiliki metadata rute dalam status sesi Gateway.
Filter yang berguna:
limitsearchchannelincludeDerivedTitlesincludeLastMessage
conversation_get
Mengembalikan satu percakapan berdasarkan session_key menggunakan lookup sesi Gateway langsung.
messages_read
Membaca pesan transkrip terbaru untuk satu percakapan berbasis sesi.
attachments_fetch
Mengekstrak blok konten pesan non-teks dari satu pesan transkrip. Ini adalah tampilan metadata atas konten transkrip, bukan penyimpanan blob lampiran mandiri yang tahan lama.
events_poll
Membaca peristiwa langsung yang diantrekan sejak kursor numerik.
events_wait
Melakukan long-poll hingga peristiwa antrean berikutnya yang cocok tiba atau waktu tunggu habis.
Gunakan ini saat klien MCP generik membutuhkan pengiriman hampir real-time tanpa protokol push khusus Claude.
messages_send
Mengirim teks kembali melalui rute yang sama yang sudah tercatat pada sesi.
Perilaku saat ini:
- memerlukan rute percakapan yang sudah ada
- menggunakan kanal, penerima, id akun, dan id thread sesi
- hanya mengirim teks
permissions_list_open
Mencantumkan permintaan persetujuan exec/plugin tertunda yang diamati bridge sejak terhubung ke Gateway.
permissions_respond
Menyelesaikan satu permintaan persetujuan exec/plugin tertunda dengan:
allow-onceallow-alwaysdeny
Model peristiwa
Bridge mempertahankan antrean peristiwa dalam memori selama terhubung.
Jenis peristiwa saat ini:
messageexec_approval_requestedexec_approval_resolvedplugin_approval_requestedplugin_approval_resolvedclaude_permission_request
Notifikasi kanal Claude
Bridge juga dapat mengekspos notifikasi kanal khusus Claude. Ini adalah padanan OpenClaw dari adaptor kanal Claude Code: alat MCP standar tetap tersedia, tetapi pesan masuk langsung juga dapat tiba sebagai notifikasi MCP khusus Claude.
off
--claude-channel-mode off: hanya alat MCP standar.
on
--claude-channel-mode on: aktifkan notifikasi kanal Claude.
auto (default)
--claude-channel-mode auto: default saat ini; perilaku bridge sama seperti on.
Saat mode kanal Claude diaktifkan, server mengiklankan kapabilitas eksperimental Claude dan dapat mengeluarkan:
notifications/claude/channelnotifications/claude/channel/permission
Perilaku bridge saat ini:
- pesan transkrip
usermasuk diteruskan sebagainotifications/claude/channel - permintaan izin Claude yang diterima melalui MCP dilacak dalam memori
- jika pemilik perintah dalam percakapan tertaut kemudian mengirim
yes abcdeatauno abcde, bridge mengonversinya menjadinotifications/claude/channel/permission - notifikasi ini hanya untuk sesi langsung; jika klien MCP terputus, tidak ada target push
Ini sengaja khusus klien. Klien MCP generik harus mengandalkan alat polling standar.
Konfigurasi klien MCP
Contoh konfigurasi klien stdio:
{ "mcpServers": { "openclaw": { "command": "openclaw", "args": [ "mcp", "serve", "--url", "wss://gateway-host:18789", "--token-file", "/path/to/gateway.token" ] } }}Untuk sebagian besar klien MCP generik, mulai dengan permukaan alat standar dan abaikan mode Claude. Aktifkan mode Claude hanya untuk klien yang benar-benar memahami metode notifikasi khusus Claude.
Opsi
openclaw mcp serve mendukung:
--urlstringURL WebSocket Gateway.
--tokenstringToken Gateway.
--token-filestringBaca token dari berkas.
--passwordstringKata sandi Gateway.
--password-filestringBaca kata sandi dari berkas.
--claude-channel-mode"auto" | "on" | "off"Mode notifikasi Claude.
-v, --verbosebooleanLog verbos di stderr.
Keamanan dan batas kepercayaan
Bridge tidak menciptakan perutean. Ia hanya mengekspos percakapan yang sudah diketahui cara peruteannya oleh Gateway.
Artinya:
- allowlist pengirim, pairing, dan kepercayaan tingkat channel tetap menjadi bagian dari konfigurasi channel OpenClaw yang mendasarinya
messages_sendhanya dapat membalas melalui route tersimpan yang sudah ada- status persetujuan hanya live/di memori untuk sesi bridge saat ini
- auth bridge harus menggunakan kontrol token atau kata sandi Gateway yang sama dengan yang Anda percayai untuk klien Gateway jarak jauh lainnya
Jika percakapan tidak ada di conversations_list, penyebab biasanya bukan konfigurasi MCP. Penyebabnya adalah metadata route yang hilang atau tidak lengkap dalam sesi Gateway yang mendasarinya.
Pengujian
OpenClaw menyertakan smoke Docker deterministik untuk bridge ini:
pnpm test:docker:mcp-channelsSmoke tersebut:
- memulai kontainer Gateway dengan seed
- memulai kontainer kedua yang menjalankan
openclaw mcp serve - memverifikasi penemuan percakapan, pembacaan transkrip, pembacaan metadata lampiran, perilaku antrean event live, dan perutean pengiriman keluar
- memvalidasi notifikasi channel dan izin bergaya Claude melalui bridge MCP stdio nyata
Ini adalah cara tercepat untuk membuktikan bridge berfungsi tanpa menghubungkan akun Telegram, Discord, atau iMessage nyata ke dalam proses uji.
Untuk konteks pengujian yang lebih luas, lihat Pengujian.
Pemecahan masalah
Tidak ada percakapan yang dikembalikan
Biasanya berarti sesi Gateway belum dapat dirutekan. Pastikan sesi yang mendasarinya memiliki metadata route channel/provider, penerima, dan akun/thread opsional yang tersimpan.
events_poll atau events_wait melewatkan pesan lama
Sesuai ekspektasi. Antrean live dimulai saat bridge terhubung. Baca riwayat transkrip lama dengan messages_read.
Notifikasi Claude tidak muncul
Periksa semua hal berikut:
- klien mempertahankan sesi MCP stdio tetap terbuka
--claude-channel-modeadalahonatauauto- klien benar-benar memahami metode notifikasi khusus Claude
- pesan masuk terjadi setelah bridge terhubung
Persetujuan hilang
permissions_list_open hanya menampilkan permintaan persetujuan yang diamati saat bridge terhubung. Ini bukan API riwayat persetujuan yang tahan lama.
OpenClaw sebagai registri klien MCP
Ini adalah jalur openclaw mcp list, show, status, doctor, probe, add, set,
configure, tools, login, logout, reload, dan unset.
Perintah-perintah ini tidak mengekspos OpenClaw melalui MCP. Perintah ini mengelola definisi server MCP yang dikelola OpenClaw di bawah mcp.servers dalam konfigurasi OpenClaw. Perintah ini tidak membaca server mcporter dari config/mcporter.json.
Definisi yang disimpan tersebut ditujukan untuk runtime yang diluncurkan atau dikonfigurasi OpenClaw nanti, seperti OpenClaw tertanam dan adaptor runtime lainnya. OpenClaw menyimpan definisi secara terpusat sehingga runtime tersebut tidak perlu menyimpan daftar server MCP duplikat miliknya sendiri.
Perilaku penting
- perintah ini hanya membaca atau menulis konfigurasi OpenClaw
status,list,show,doctortanpa--probe,set,configure,tools,logout,reload, danunsettidak terhubung ke server MCP targetloginmenjalankan alur jaringan OAuth MCP untuk server HTTP yang dikonfigurasi dan menyimpan kredensial lokal yang dihasilkanstatus --verbosemencetak petunjuk transport, auth, timeout, filter, dan panggilan tool paralel yang telah di-resolve tanpa terhubungdoctormemeriksa definisi tersimpan untuk masalah setup lokal seperti perintah stdio yang hilang, direktori kerja tidak valid, berkas TLS hilang, server dinonaktifkan, nilai header/env sensitif literal, dan otorisasi OAuth tidak lengkapdoctor --probemenambahkan bukti koneksi live yang sama sepertiprobesetelah pemeriksaan statis lolosprobeterhubung ke server yang dipilih atau semua server yang dikonfigurasi, mencantumkan tool, dan melaporkan kapabilitas/diagnostikaddmembangun definisi dari flag dan melakukan probe sebelum menyimpan kecuali--no-probedisetel atau otorisasi OAuth diperlukan terlebih dahulu- adaptor runtime menentukan bentuk transport mana yang benar-benar mereka dukung pada waktu eksekusi
enabled: falsemembuat server tetap tersimpan tetapi mengecualikannya dari penemuan runtime tertanamtimeoutdanconnectTimeoutmenyetel timeout permintaan dan koneksi per server dalam detiksupportsParallelToolCalls: truemenandai server yang dapat dipanggil secara bersamaan oleh adaptor- server HTTP dapat menggunakan header statis, login OAuth, kontrol verifikasi TLS, dan path sertifikat/kunci mTLS
- OpenClaw tertanam mengekspos tool MCP yang dikonfigurasi dalam profil tool normal
codingdanmessaging;minimaltetap menyembunyikannya, dantools.deny: ["bundle-mcp"]menonaktifkannya secara eksplisit toolFilter.includedantoolFilter.excludeper server memfilter tool MCP yang ditemukan sebelum menjadi tool OpenClaw- server yang mengiklankan resource atau prompt juga mengekspos tool utilitas untuk mencantumkan/membaca resource dan mencantumkan/mengambil prompt; nama utilitas yang dihasilkan (
resources_list,resources_read,prompts_list,prompts_get) menggunakan filter include/exclude yang sama - perubahan daftar tool MCP dinamis membatalkan katalog yang di-cache untuk sesi tersebut; penemuan/penggunaan berikutnya menyegarkan dari server
- kegagalan permintaan/protokol tool MCP yang berulang menjeda server tersebut sebentar agar satu server rusak tidak menghabiskan seluruh turn
- runtime MCP bundled yang berlingkup sesi dipanen setelah
mcp.sessionIdleTtlMsmilidetik waktu idle (default 10 menit; setel0untuk menonaktifkan) dan run tertanam one-shot membersihkannya saat run berakhir
Adaptor runtime dapat menormalisasi registri bersama ini ke bentuk yang diharapkan klien downstream mereka. Misalnya, OpenClaw tertanam mengonsumsi nilai transport OpenClaw secara langsung, sedangkan Claude Code dan Gemini menerima nilai type native CLI seperti http, sse, atau stdio.
Codex app-server juga menghormati blok codex opsional pada setiap server. Ini adalah
metadata proyeksi OpenClaw khusus untuk thread Codex app-server; ini tidak
mengubah sesi ACP, konfigurasi harness Codex generik, atau adaptor runtime lain.
Gunakan codex.agents yang tidak kosong untuk memproyeksikan server hanya ke id
agen OpenClaw tertentu. Daftar agen yang kosong, blank, atau tidak valid ditolak oleh validasi
konfigurasi dan dihilangkan oleh jalur proyeksi runtime alih-alih menjadi
global. Gunakan codex.defaultToolsApprovalMode (auto, prompt, atau approve)
untuk memancarkan default_tools_approval_mode native Codex bagi server tepercaya.
OpenClaw menghapus metadata codex sebelum menyerahkan konfigurasi mcp_servers
native ke Codex.
Definisi server MCP tersimpan
OpenClaw juga menyimpan registri server MCP ringan dalam konfigurasi untuk surface yang menginginkan definisi MCP yang dikelola OpenClaw.
Perintah:
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>
Catatan:
listmengurutkan nama server.showtanpa nama mencetak objek server MCP lengkap yang dikonfigurasi.statusmengklasifikasikan transport yang dikonfigurasi tanpa terhubung.--verbosemenyertakan detail launch, timeout, OAuth, filter, dan panggilan paralel yang telah di-resolve.doctormelakukan pemeriksaan statis tanpa terhubung. Tambahkan--probeketika perintah juga harus memverifikasi bahwa server yang diaktifkan dapat terhubung.probeterhubung dan melaporkan jumlah tool, dukungan resource/prompt, dukungan perubahan daftar, dan diagnostik.addmenerima flag stdio seperti--command,--arg,--env, dan--cwd, atau flag HTTP seperti--url,--transport,--header,--auth oauth, TLS, timeout, dan flag pemilihan tool.setmengharapkan satu nilai objek JSON pada baris perintah.configurememperbarui pengaktifan, filter tool, timeout, OAuth, TLS, dan petunjuk panggilan tool paralel tanpa mengganti seluruh definisi server.toolsmemperbarui filter tool per server. Entri include/exclude adalah nama tool MCP dan glob*sederhana.loginmenjalankan alur OAuth untuk server HTTP yang dikonfigurasi denganauth: "oauth". Run pertama mencetak URL otorisasi; jalankan ulang dengan--codesetelah persetujuan.logoutmenghapus kredensial OAuth tersimpan untuk server bernama tanpa menghapus definisi server yang tersimpan.reloadmembuang runtime MCP dalam proses yang di-cache. Proses Gateway atau agen di proses lain tetap memerlukan jalur reload atau restart mereka sendiri.- Gunakan
transport: "streamable-http"untuk server MCP Streamable HTTP.openclaw mcp setjuga menormalkantype: "http"native CLI ke bentuk konfigurasi kanonis yang sama untuk kompatibilitas. unsetgagal jika server bernama tidak ada.
Contoh:
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 context7Resep server umum
Contoh-contoh ini hanya menyimpan definisi server. Jalankan openclaw mcp doctor --probe setelahnya untuk membuktikan bahwa server mulai dan mengekspos tool.
Filesystem
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 --probeBatasi server filesystem ke pohon direktori terkecil yang harus dibaca atau diedit oleh agen.
Memory
openclaw mcp add memory \ --command npx \ --arg -y \ --arg @modelcontextprotocol/server-memoryopenclaw mcp probe memory --jsonGunakan filter tool jika server mengekspos tool tulis yang tidak boleh tersedia bagi agen normal.
Local script
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 memeriksa bahwa cwd ada dan perintah dapat di-resolve dari lingkungan yang dikonfigurasi.
Remote 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 --probeGunakan OAuth saat server jarak jauh mendukungnya. Jika server memerlukan header statis, hindari mengomit token bearer literal.
Desktop/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 --probeServer kontrol desktop langsung mewarisi izin dari proses yang diluncurkannya. Gunakan filter alat yang sempit dan prompt izin tingkat OS.
Bentuk keluaran JSON
Gunakan --json untuk skrip dan dasbor. Kumpulan bidang dapat bertambah seiring waktu, jadi konsumen harus mengabaikan kunci yang tidak dikenal.
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 keluar dengan status bukan nol saat server aktif mana pun yang diperiksa memiliki error. Peringatan dilaporkan tetapi tidak membuat perintah gagal dengan sendirinya.
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 membuka sesi klien MCP langsung. Gunakan untuk bukti keterjangkauan dan kapabilitas, bukan untuk audit konfigurasi statis.
Contoh bentuk konfigurasi:
{ "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_*"] } } } }}Transport Stdio
Meluncurkan proses anak lokal dan berkomunikasi melalui stdin/stdout.
| Bidang | Deskripsi |
|---|---|
command |
Eksekutabel yang akan dijalankan (wajib) |
args |
Array argumen baris perintah |
env |
Variabel lingkungan tambahan |
cwd / workingDirectory |
Direktori kerja untuk proses |
Transport SSE / HTTP
Terhubung ke server MCP jarak jauh melalui HTTP Server-Sent Events.
| Bidang | Deskripsi |
|---|---|
url |
URL HTTP atau HTTPS dari server jarak jauh (wajib) |
headers |
Peta key-value opsional untuk header HTTP (misalnya token auth) |
connectionTimeoutMs |
Timeout koneksi per server dalam ms (opsional) |
connectTimeout |
Timeout koneksi per server dalam detik (opsional) |
timeout / requestTimeoutMs |
Timeout permintaan MCP per server dalam detik atau ms |
auth: "oauth" |
Gunakan penyimpanan token OAuth MCP dan openclaw mcp login |
sslVerify |
Atur false hanya untuk endpoint HTTPS privat yang tepercaya jelas |
clientCert / clientKey |
Path sertifikat dan kunci klien mTLS |
supportsParallelToolCalls |
Petunjuk bahwa panggilan serentak aman untuk server ini |
Contoh:
{ "mcp": { "servers": { "remote-tools": { "url": "https://mcp.example.com", "auth": "oauth", "timeout": 20, "headers": { "Authorization": "Bearer <token>" } } } }}Nilai sensitif dalam url (userinfo) dan headers disunting dalam log dan keluaran status. openclaw mcp doctor memperingatkan saat entri headers atau env yang tampak sensitif berisi nilai literal, sehingga operator dapat memindahkan nilai tersebut keluar dari konfigurasi yang dikomit.
Alur kerja OAuth
OAuth ditujukan untuk server MCP HTTP yang mengiklankan alur OAuth MCP. Header Authorization statis diabaikan untuk server saat auth: "oauth" diaktifkan.
Save the server
Tambahkan atau perbarui server dengan auth: "oauth" dan metadata OAuth opsional apa pun.
openclaw mcp set docs '{"url":"https://mcp.example.com/mcp","transport":"streamable-http","auth":"oauth","oauth":{"scope":"docs.read"}}'Start login
Jalankan login untuk membuat permintaan otorisasi.
openclaw mcp login docsOpenClaw mencetak URL otorisasi dan menyimpan status verifier OAuth sementara di bawah direktori status OpenClaw.
Finish with the code
Setelah menyetujui di browser, teruskan kode yang dikembalikan kembali ke OpenClaw.
openclaw mcp login docs --code abc123Check authorization
Gunakan status atau doctor untuk mengonfirmasi bahwa token tersedia.
openclaw mcp status --verboseopenclaw mcp doctor docs --probeClear credentials
Logout menghapus kredensial OAuth yang tersimpan tetapi mempertahankan definisi server yang disimpan.
openclaw mcp logout docsJika penyedia merotasi token atau status otorisasi macet, jalankan openclaw mcp logout <name>, lalu ulangi login. logout dapat menghapus kredensial untuk server HTTP yang disimpan bahkan setelah auth: "oauth" dihapus dari konfigurasi, selama nama server dan URL masih mengidentifikasi entri penyimpanan kredensial.
Transport HTTP streamable
streamable-http adalah opsi transport tambahan di samping sse dan stdio. Opsi ini menggunakan streaming HTTP untuk komunikasi dua arah dengan server MCP jarak jauh.
| Bidang | Deskripsi |
|---|---|
url |
URL HTTP atau HTTPS dari server jarak jauh (wajib) |
transport |
Atur ke "streamable-http" untuk memilih transport ini; jika dihilangkan, OpenClaw memakai sse |
headers |
Peta key-value opsional untuk header HTTP (misalnya token auth) |
connectionTimeoutMs |
Timeout koneksi per server dalam ms (opsional) |
connectTimeout |
Timeout koneksi per server dalam detik (opsional) |
timeout / requestTimeoutMs |
Timeout permintaan MCP per server dalam detik atau ms |
auth: "oauth" |
Gunakan penyimpanan token OAuth MCP dan openclaw mcp login |
sslVerify |
Atur false hanya untuk endpoint HTTPS privat yang tepercaya jelas |
clientCert / clientKey |
Path sertifikat dan kunci klien mTLS |
supportsParallelToolCalls |
Petunjuk bahwa panggilan serentak aman untuk server ini |
Konfigurasi OpenClaw menggunakan transport: "streamable-http" sebagai ejaan kanonis. Nilai MCP native CLI type: "http" diterima saat disimpan melalui openclaw mcp set dan diperbaiki oleh openclaw doctor --fix dalam konfigurasi yang ada, tetapi transport adalah yang dikonsumsi langsung oleh OpenClaw tertanam.
Contoh:
{ "mcp": { "servers": { "streaming-tools": { "url": "https://mcp.example.com/stream", "transport": "streamable-http", "connectTimeout": 10, "timeout": 30, "headers": { "Authorization": "Bearer <token>" } } } }}UI Kontrol
UI Kontrol browser menyertakan halaman pengaturan MCP khusus di /mcp. Halaman ini menampilkan jumlah server yang dikonfigurasi, ringkasan aktif/OAuth/filter, baris transport per server, kontrol aktif/nonaktif, perintah CLI umum, dan editor terbatas untuk bagian konfigurasi mcp.
Gunakan halaman ini untuk edit operator dan inventaris cepat. Gunakan openclaw mcp doctor --probe atau openclaw mcp probe saat Anda memerlukan bukti server langsung.
Alur kerja operator:
- Buka UI Kontrol dan pilih MCP.
- Tinjau kartu ringkasan untuk total server, server yang diaktifkan, OAuth, dan server yang difilter.
- Gunakan setiap baris server untuk petunjuk transport, autentikasi, filter, timeout, dan perintah.
- Alihkan pengaktifan saat Anda ingin mempertahankan definisi tetapi mengecualikannya dari penemuan runtime.
- Edit bagian konfigurasi
mcptercakup untuk perubahan struktural seperti server baru, header, TLS, metadata OAuth, atau filter alat. - Pilih Simpan untuk hanya menyimpan konfigurasi, atau Simpan & Publikasikan untuk menerapkannya melalui jalur konfigurasi Gateway.
- Jalankan
openclaw mcp doctor --probesaat Anda memerlukan bukti langsung bahwa server yang diedit mulai berjalan dan mencantumkan alat.
Catatan:
- cuplikan perintah mengapit nama server dengan tanda kutip agar nama yang tidak biasa tetap dapat disalin ke shell
- nilai mirip URL yang ditampilkan disunting sebelum dirender saat berisi kredensial tertanam
- halaman ini tidak memulai transport MCP dengan sendirinya
- runtime aktif mungkin memerlukan
openclaw mcp reload, publikasi konfigurasi Gateway, atau mulai ulang proses, bergantung pada proses mana yang memiliki klien MCP
Batas saat ini
Halaman ini mendokumentasikan bridge sebagaimana dikirimkan saat ini.
Batas saat ini:
- penemuan percakapan bergantung pada metadata rute sesi Gateway yang sudah ada
- belum ada protokol push generik selain adapter khusus Claude
- belum ada alat edit pesan atau reaksi
- transport HTTP/SSE/streamable-http terhubung ke satu server jarak jauh; belum ada upstream multipleks
permissions_list_openhanya mencakup persetujuan yang diamati saat bridge terhubung