CLI commands
MCP
openclaw mcp iki göreve sahiptir:
openclaw mcp serveile OpenClaw'ı bir MCP sunucusu olarak çalıştırmaklist,show,status,doctor,probe,add,set,configure,tools,login,logout,reloadveunsetile OpenClaw tarafından yönetilen giden MCP sunucusu tanımlarını yönetmek
serve, OpenClaw'ın bir MCP sunucusu olarak çalışmasıdır. Diğer alt komutlar ise OpenClaw'ın, kendi çalışma zamanlarının daha sonra kullanabileceği sunucular için MCP istemci tarafı kayıt defteri olarak çalışmasıdır.
OpenClaw'ın bir kodlama altyapısı oturumunu kendisinin barındırması ve bu çalışma zamanını ACP üzerinden yönlendirmesi gerektiğinde openclaw acp kullanın.
Doğru MCP yolunu seçme
| Amaç | Kullanım | Nedeni |
|---|---|---|
| Harici bir MCP istemcisinin OpenClaw kanal konuşmalarını okumasına/göndermesine izin vermek | openclaw mcp serve |
OpenClaw MCP sunucusudur ve Gateway destekli konuşmaları stdio üzerinden sunar. |
| OpenClaw tarafından yönetilen ajan çalıştırmaları için üçüncü taraf MCP sunucularını kaydetmek | openclaw mcp add, set, configure, tools, login |
OpenClaw, MCP istemci tarafı kayıt defteridir ve daha sonra bu sunucuları uygun çalışma zamanlarına yansıtır. |
| Bir ajan turu çalıştırmadan kayıtlı bir sunucuyu denetlemek | openclaw mcp status, doctor, probe |
status ve doctor yapılandırmayı inceler; probe canlı bir MCP bağlantısı açar ve yetenekleri listeler. |
| MCP yapılandırmasını tarayıcıdan düzenlemek | Control UI /settings/mcp (/mcp diğer adı) |
Sayfa; envanteri, etkinleştirme durumunu, OAuth/filtre özetlerini, komut ipuçlarını ve kapsamlı bir mcp düzenleyicisini gösterir. |
| Codex app-server'a kapsamlı bir yerel MCP sunucusu vermek | mcp.servers.<name>.codex |
codex bloğu yalnızca Codex app-server iş parçacığı yansıtmasını etkiler ve yerel yapılandırma devredilmeden önce kaldırılır. |
| ACP tarafından barındırılan altyapı oturumlarını çalıştırmak | openclaw acp ve ACP Ajanları |
ACP köprü modu oturum başına MCP sunucusu eklenmesini kabul etmez; bunun yerine gateway/plugin köprülerini yapılandırın. |
MCP sunucusu olarak OpenClaw
Bu, openclaw mcp serve yoludur.
serve ne zaman kullanılmalı?
Şu durumlarda openclaw mcp serve kullanın:
- Codex, Claude Code veya başka bir MCP istemcisi doğrudan OpenClaw destekli kanal konuşmalarıyla iletişim kurmalıysa
- yönlendirilmiş oturumlara sahip yerel veya uzak bir OpenClaw Gateway zaten varsa
- kanal başına ayrı köprüler çalıştırmak yerine OpenClaw'ın tüm kanal arka uçlarında çalışan tek bir MCP sunucusu istiyorsanız
OpenClaw'ın kodlama çalışma zamanını kendisinin barındırması ve ajan oturumunu OpenClaw içinde tutması gerektiğinde bunun yerine openclaw acp kullanın.
Nasıl çalışır?
openclaw mcp serve, bir stdio MCP sunucusu başlatır. Bu işlemin sahibi MCP istemcisidir. İstemci stdio oturumunu açık tuttuğu sürece köprü, WebSocket üzerinden yerel veya uzak bir OpenClaw Gateway'e bağlanır ve yönlendirilmiş kanal konuşmalarını MCP üzerinden sunar.
İstemci köprüyü başlatır
MCP istemcisi openclaw mcp serve işlemini başlatır.
Köprü Gateway'e bağlanır
Köprü, WebSocket üzerinden OpenClaw Gateway'e bağlanır.
Oturumlar MCP konuşmalarına dönüşür
Yönlendirilmiş oturumlar MCP konuşmalarına ve transkript/geçmiş araçlarına dönüşür.
Canlı olaylar kuyruğa alınır
Köprü bağlıyken canlı olaylar bellekte kuyruğa alınır.
İsteğe bağlı Claude iletimi
Claude kanal modu etkinse aynı oturum Claude'a özgü anlık bildirimleri de alabilir.
Önemli davranışlar
- canlı kuyruk durumu köprü bağlandığında başlar
- eski transkript geçmişi
messages_readile okunur - Claude anlık bildirimleri yalnızca MCP oturumu etkin olduğu sürece bulunur
- istemci bağlantıyı kestiğinde köprü kapanır ve canlı kuyruk silinir
openclaw agentveopenclaw infer model rungibi tek seferlik ajan giriş noktaları, yanıt tamamlandığında açtıkları tüm paketlenmiş MCP çalışma zamanlarını sonlandırır; böylece tekrarlanan betik çalıştırmaları stdio MCP alt süreçlerinin birikmesine yol açmaz- OpenClaw tarafından başlatılan stdio MCP sunucuları (paketlenmiş veya kullanıcı tarafından yapılandırılmış), kapatma sırasında bir süreç ağacı olarak sonlandırılır; böylece sunucunun başlattığı alt süreçler, üst stdio istemcisi kapandıktan sonra çalışmaya devam etmez
- bir oturumun silinmesi veya sıfırlanması, paylaşılan çalışma zamanı temizleme yolu üzerinden o oturumun MCP istemcilerini sonlandırır; böylece kaldırılmış bir oturuma bağlı kalan stdio bağlantıları olmaz
İstemci modu seçme
Genel MCP istemcileri
Yalnızca standart MCP araçları. conversations_list, messages_read, events_poll, events_wait, messages_send ve onay araçlarını kullanın.
Claude Code
Standart MCP araçlarına ek olarak Claude'a özgü kanal bağdaştırıcısı. --claude-channel-mode on seçeneğini etkinleştirin veya varsayılan auto değerini koruyun.
serve tarafından sunulanlar
Köprü, kanal destekli konuşmaları sunmak için mevcut Gateway oturum yönlendirme meta verilerini kullanır. OpenClaw, aşağıdaki gibi bilinen bir yönlendirmeye sahip oturum durumunu zaten içeriyorsa bir konuşma görünür:
channel- alıcı veya hedef meta verileri
- isteğe bağlı
accountId - isteğe bağlı
threadId
Bu, MCP istemcilerine aşağıdaki işlemler için tek bir yer sağlar:
- son yönlendirilmiş konuşmaları listelemek
- son transkript geçmişini okumak
- yeni gelen olayları beklemek
- aynı yönlendirme üzerinden yanıt göndermek
- köprü bağlıyken gelen onay isteklerini görmek
Kullanım
Yerel Gateway
openclaw mcp serveUzak Gateway (token)
openclaw mcp serve --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.tokenUzak Gateway (parola)
openclaw mcp serve --url wss://gateway-host:18789 --password-file ~/.openclaw/gateway.passwordAyrıntılı / Claude kapalı
openclaw mcp serve --verboseopenclaw mcp serve --claude-channel-mode offKöprü araçları
conversations_list
Gateway oturum durumunda zaten yönlendirme meta verilerine sahip olan son oturum destekli konuşmaları listeler.
Filtreler: limit (en fazla 500), search, channel, includeDerivedTitles, includeLastMessage.
conversation_get
Doğrudan Gateway oturum araması kullanarak session_key değerine göre bir konuşma döndürür.
messages_read
Oturum destekli bir konuşmanın son transkript iletilerini okur. limit varsayılan olarak 20, en fazla 200'dür.
attachments_fetch
Bir transkript iletisindeki metin dışı ileti içerik bloklarını ayıklar. Bu, bağımsız ve kalıcı bir ek ikili nesne deposu değil, transkript içeriğinin meta veri görünümüdür.
events_poll
Sayısal bir imleçten itibaren kuyruğa alınmış canlı olayları okur. limit en fazla 200'dür.
events_wait
Bir sonraki eşleşen kuyruk olayı gelene veya zaman aşımı süresi dolana kadar uzun yoklama yapar (varsayılan 30s, en fazla 300s).
Genel bir MCP istemcisinin Claude'a özgü bir anlık bildirim protokolü olmadan gerçek zamana yakın teslimata ihtiyacı olduğunda bunu kullanın.
messages_send
Metni, oturumda zaten kayıtlı olan aynı yönlendirme üzerinden geri gönderir.
Mevcut davranış:
- mevcut bir konuşma yönlendirmesi gerektirir
- oturumun kanalını, alıcısını, hesap kimliğini ve iş parçacığı kimliğini kullanır
- yalnızca metin gönderir
permissions_list_open
Köprünün Gateway'e bağlandığından beri gözlemlediği bekleyen yürütme/plugin onay isteklerini listeler.
permissions_respond
Bekleyen bir yürütme/plugin onay isteğini aşağıdakilerden biriyle çözümler:
allow-onceallow-alwaysdeny
Olay modeli
Köprü, bağlı olduğu sürece bellekte bir olay kuyruğu tutar.
Mevcut olay türleri:
messageexec_approval_requestedexec_approval_resolvedplugin_approval_requestedplugin_approval_resolvedclaude_permission_request
Claude kanal bildirimleri
Köprü ayrıca Claude'a özgü kanal bildirimlerini sunabilir. Bu, Claude Code kanal bağdaştırıcısının OpenClaw karşılığıdır: standart MCP araçları kullanılabilir durumda kalırken canlı gelen iletiler Claude'a özgü MCP bildirimleri olarak da ulaşabilir.
kapalı
--claude-channel-mode off: yalnızca standart MCP araçları.
açık
--claude-channel-mode on: Claude kanal bildirimlerini etkinleştirir.
otomatik (varsayılan)
--claude-channel-mode auto: mevcut varsayılan; on ile aynı köprü davranışı.
Claude kanal modu etkinleştirildiğinde sunucu, Claude deneysel yeteneklerini bildirir ve şunları gönderebilir:
notifications/claude/channelnotifications/claude/channel/permission
Mevcut köprü davranışı:
- gelen
usertranskript iletilerinotifications/claude/channelolarak iletilir - MCP üzerinden alınan Claude izin istekleri bellekte izlenir
- bağlantılı konuşmadaki komut sahibi daha sonra
yes <id>veyano <id>gönderirse (<id>,lhariç 5 harfli istek kimliğidir), köprü bununotifications/claude/channel/permissiondeğerine dönüştürür - bu bildirimler yalnızca canlı oturum içindir; MCP istemcisi bağlantıyı keserse anlık bildirim hedefi kalmaz
Bu, bilinçli olarak istemciye özgüdür. Genel MCP istemcileri standart yoklama araçlarını kullanmalıdır.
MCP istemci yapılandırması
Örnek stdio istemci yapılandırması:
{ "mcpServers": { "openclaw": { "command": "openclaw", "args": [ "mcp", "serve", "--url", "wss://gateway-host:18789", "--token-file", "/path/to/gateway.token" ] } }}Çoğu genel MCP istemcisi için standart araç yüzeyiyle başlayın ve Claude modunu dikkate almayın. Claude modunu yalnızca Claude'a özgü bildirim yöntemlerini gerçekten anlayan istemciler için açın.
Seçenekler
openclaw mcp serve şunları destekler:
--urlstringGateway WebSocket URL'si. Yapılandırıldığında varsayılan değer gateway.remote.url olur.
--tokenstringGateway belirteci.
--token-filestringBelirteci dosyadan oku.
--passwordstringGateway parolası.
--password-filestringParolayı dosyadan oku.
--claude-channel-mode"auto" | "on" | "off"Claude bildirim modu. Varsayılan değer auto.
-v, --verbosebooleanstderr üzerinde ayrıntılı günlükler.
Güvenlik ve güven sınırı
Köprü yönlendirme oluşturmaz. Yalnızca Gateway'in zaten nasıl yönlendireceğini bildiği konuşmaları kullanıma sunar.
Bunun anlamı şudur:
- gönderen izin listeleri, eşleştirme ve kanal düzeyindeki güven, temel OpenClaw kanal yapılandırmasına ait olmaya devam eder
messages_sendyalnızca mevcut bir kayıtlı rota üzerinden yanıt verebilir- onay durumu yalnızca geçerli köprü oturumu için canlı/bellek içindedir
- köprü kimlik doğrulaması, diğer tüm uzak Gateway istemcileri için güveneceğiniz aynı Gateway belirteci veya parola denetimlerini kullanmalıdır
conversations_list içinde bir konuşma eksikse olağan neden MCP yapılandırması değildir. Temel Gateway oturumundaki rota meta verilerinin eksik veya tamamlanmamış olmasıdır.
Test
OpenClaw bu köprü için deterministik bir Docker duman testiyle birlikte gelir:
pnpm test:docker:mcp-channelsBu duman testi tek bir kapsayıcı çalıştırır: konuşma durumunu başlangıç verileriyle doldurur, Gateway'i başlatır, ardından openclaw mcp serve öğesini bir stdio alt süreci olarak oluşturur ve onu bir MCP istemcisi olarak çalıştırır. Gerçek stdio MCP köprüsü üzerinden konuşma keşfini, transkript okumalarını, ek meta verisi okumalarını, canlı olay kuyruğu davranışını ve Claude tarzı kanal ve izin bildirimlerini doğrular. Giden gönderim yönlendirmesi (kayıtlı konuşma rotasını yeniden kullanan messages_send) src/mcp/channel-server.test.ts içindeki birim testleri tarafından ayrıca kapsanır.
Bu, test çalıştırmasına gerçek bir Telegram, Discord veya iMessage hesabı bağlamadan köprünün çalıştığını kanıtlamanın en hızlı yoludur.
Daha geniş test bağlamı için Test bölümüne bakın.
Sorun giderme
Hiçbir konuşma döndürülmüyor
Genellikle Gateway oturumunun henüz yönlendirilebilir olmadığı anlamına gelir. Temel oturumda kayıtlı kanal/sağlayıcı, alıcı ve isteğe bağlı hesap/ileti dizisi rota meta verilerinin bulunduğunu doğrulayın.
events_poll veya events_wait eski mesajları kaçırıyor
Beklenen davranıştır. Canlı kuyruk, köprü bağlandığında başlar. Eski transkript geçmişini messages_read ile okuyun.
Claude bildirimleri görünmüyor
Şunların tümünü kontrol edin:
- istemci stdio MCP oturumunu açık tuttu
--claude-channel-mode,onveyaautodeğerindedir- istemci Claude'a özgü bildirim yöntemlerini gerçekten anlıyor
- gelen mesaj köprü bağlandıktan sonra gerçekleşti
Onaylar eksik
permissions_list_open yalnızca köprü bağlıyken gözlemlenen onay isteklerini gösterir. Kalıcı bir onay geçmişi API'si değildir.
MCP istemci kayıt defteri olarak OpenClaw
Bu, openclaw mcp list, show, status, doctor, probe, add, set,
configure, tools, login, logout, reload ve unset yoludur.
Bu komutlar OpenClaw'u MCP üzerinden kullanıma sunmaz. OpenClaw yapılandırmasında mcp.servers altındaki OpenClaw tarafından yönetilen MCP sunucu tanımlarını yönetirler. config/mcporter.json içindeki mcporter sunucularını okumazlar.
Kaydedilen bu tanımlar, gömülü OpenClaw ve diğer çalışma zamanı bağdaştırıcıları gibi OpenClaw'un daha sonra başlattığı veya yapılandırdığı çalışma zamanları içindir. OpenClaw, bu çalışma zamanlarının kendi yinelenen MCP sunucu listelerini tutmak zorunda kalmaması için tanımları merkezi olarak depolar.
Önemli davranış
- bu komutlar yalnızca OpenClaw yapılandırmasını okur veya yazar
status,list,show,--probeolmadandoctor,set,configure,tools,logout,reloadveunsethedef MCP sunucusuna bağlanmazlogin, yapılandırılmış HTTP sunucusu için MCP OAuth ağ akışını gerçekleştirir ve sonuçta elde edilen yerel kimlik bilgilerini kaydederstatus --verbose, bağlanmadan çözümlenmiş aktarım, kimlik doğrulama, zaman aşımı, filtre ve paralel araç çağrısı ipuçlarını yazdırırdoctor, kayıtlı tanımlarda eksik stdio komutları, geçersiz çalışma dizinleri, eksik TLS dosyaları, devre dışı sunucular, değişmez hassas üstbilgi/ortam değerleri ve tamamlanmamış OAuth yetkilendirmesi gibi yerel kurulum sorunlarını denetlerdoctor --probe, statik denetimler geçtikten sonraprobeile aynı canlı bağlantı kanıtını eklerprobe, seçilen sunucuya veya yapılandırılmış tüm sunuculara bağlanır, araçları listeler ve yetenekleri/tanıları bildiriradd, bayraklardan bir tanım oluşturur ve--no-probeayarlanmadığı veya önce OAuth yetkilendirmesi gerekmediği sürece kaydetmeden önce yoklama yapar- çalışma zamanı bağdaştırıcıları, yürütme sırasında gerçekte hangi aktarım biçimlerini desteklediklerine karar verir
enabled: false, bir sunucuyu kayıtlı tutar ancak gömülü çalışma zamanı keşfinin dışında bırakırrequestTimeoutMsveconnectionTimeoutMs, sunucu başına istek ve bağlantı zaman aşımlarını milisaniye cinsinden ayarlarsupportsParallelToolCalls: true, bağdaştırıcıların eşzamanlı olarak çağırabileceği sunucuları işaretler- HTTP sunucuları statik üstbilgileri, OAuth oturum açmayı, TLS doğrulama denetimini ve mTLS sertifika/anahtar yollarını kullanabilir
- gömülü OpenClaw, yapılandırılmış MCP araçlarını normal
codingvemessagingaraç profillerinde kullanıma sunar;minimalbunları yine gizler vetools.deny: ["bundle-mcp"]bunları açıkça devre dışı bırakır - sunucu başına
toolFilter.includevetoolFilter.exclude, keşfedilen MCP araçlarını OpenClaw araçlarına dönüşmeden önce filtreler - kaynakları veya istemleri duyuran sunucular ayrıca kaynakları listelemek/okumak ve istemleri listelemek/getirmek için yardımcı araçları kullanıma sunar; oluşturulan bu yardımcı adları (
resources_list,resources_read,prompts_list,prompts_get) aynı dahil etme/dışlama filtresini kullanır - dinamik MCP araç listesi değişiklikleri, o oturum için önbelleğe alınmış kataloğu geçersiz kılar; sonraki keşif/kullanım sunucudan yeniler
- yinelenen MCP araç isteği/protokol hataları, bozuk bir sunucunun tüm turu tüketmemesi için o sunucuyu kısa süreliğine duraklatır
- oturum kapsamındaki paketlenmiş MCP çalışma zamanları 10 dakikalık boşta kalma süresinden sonra sonlandırılır ve tek seferlik gömülü çalıştırmalar bunları çalıştırma sonunda temizler
Çalışma zamanı bağdaştırıcıları bu paylaşılan kayıt defterini, sonraki istemcilerinin beklediği biçime normalleştirebilir. Örneğin gömülü OpenClaw, OpenClaw transport değerlerini doğrudan tüketirken Claude Code ve Gemini, http, sse veya stdio gibi CLI'ya özgü type değerlerini alır.
Codex uygulama sunucusu ayrıca her sunucudaki isteğe bağlı codex bloğunu dikkate alır. Bu,
yalnızca Codex uygulama sunucusu ileti dizileri için OpenClaw projeksiyon meta verisidir; ACP
oturumlarını, genel Codex çalıştırma düzeneği yapılandırmasını veya diğer çalışma zamanı bağdaştırıcılarını
değiştirmez. Bir sunucuyu yalnızca belirli OpenClaw ajan kimliklerine yansıtmak için boş olmayan
codex.agents kullanın. Boş, yalnızca boşluk içeren veya geçersiz ajan listeleri, genel
hale gelmek yerine yapılandırma doğrulaması tarafından reddedilir ve çalışma zamanı projeksiyon
yolundan çıkarılır. Güvenilen bir sunucu için Codex'in yerel default_tools_approval_mode değerini
yaymak üzere codex.defaultToolsApprovalMode (auto, prompt veya approve)
kullanın. OpenClaw, yerel mcp_servers yapılandırmasını Codex'e aktarmadan önce
codex meta verilerini kaldırır.
Kaydedilmiş MCP sunucu tanımları
Komutlar:
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>
Notlar:
list, sunucu adlarını sıralar.- adsız
show, yapılandırılmış MCP sunucu nesnesinin tamamını yazdırır. status, yapılandırılmış aktarımları bağlanmadan sınıflandırır.--verbose, depolanan OAuth belirteçlerinin ek yetkilendirme gerektirdiği durumlar dahil olmak üzere çözümlenmiş başlatma, zaman aşımı, OAuth, filtre ve paralel çağrı ayrıntılarını içerir. Kimlik bilgileri içeren stdio bağımsız değişkenleri metin ve JSON çıktısında gizlenir.doctor, bağlanmadan statik denetimler gerçekleştirir. Komutun etkin sunucuların bağlandığını da doğrulaması gerektiğinde--probeekleyin.probe, bağlanır ve araç sayılarını, kaynak/istem desteğini, liste değişikliği desteğini ve tanıları bildirir.add;--command,--arg,--envve--cwdgibi stdio bayraklarını veya--url,--transport,--header,--auth oauth, TLS, zaman aşımı ve araç seçimi bayrakları gibi HTTP bayraklarını kabul eder.set, komut satırında tek bir JSON nesne değeri bekler.configure, sunucu tanımının tamamını değiştirmeden etkinleştirmeyi, araç filtrelerini, zaman aşımlarını, OAuth'ı, TLS'yi ve paralel araç çağrısı ipuçlarını günceller. Güncellenen sunucuyu kaydetmeden önce doğrulamak için--probeekleyin.tools, sunucu başına araç filtrelerini günceller. Dahil etme/dışlama girdileri MCP araç adları ve basit*glob kalıplarıdır.login,auth: "oauth"ile yapılandırılmış HTTP sunucuları için OAuth akışını çalıştırır. İlk çalıştırma bir yetkilendirme URL'si yazdırır; onaydan sonra--codeile yeniden çalıştırın.logout, kaydedilmiş sunucu tanımını kaldırmadan adlandırılmış sunucu için depolanan OAuth kimlik bilgilerini temizler.reload, yalnızca geçerli CLI süreci için önbelleğe alınmış süreç içi MCP çalışma zamanlarını sonlandırır. Başka bir süreçteki Gateway veya ajan süreçleri yine kendi yeniden yükleme veya yeniden başlatma yollarına ihtiyaç duyar.- Streamable HTTP MCP sunucuları için
transport: "streamable-http"kullanın.openclaw mcp set, uyumluluk amacıyla CLI'ya özgütype: "http"değerini de aynı kurallı yapılandırma biçimine normalleştirir. unset, adlandırılmış sunucu mevcut değilse başarısız olur.
Örnekler:
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 context7Yaygın sunucu tarifleri
Bu örnekler yalnızca sunucu tanımlarını kaydeder. Sunucunun başlatıldığını ve araçları kullanıma sunduğunu doğrulamak için daha sonra openclaw mcp doctor --probe komutunu çalıştırın.
Dosya sistemi
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 --probeDosya sistemi sunucularının kapsamını, aracının okuması veya düzenlemesi gereken en küçük dizin ağacıyla sınırlayın.
Bellek
openclaw mcp add memory \ --command npx \ --arg -y \ --arg @modelcontextprotocol/server-memoryopenclaw mcp probe memory --jsonSunucu, normal aracılar tarafından kullanılamaması gereken yazma araçları sunuyorsa bir araç filtresi kullanın.
Yerel betik
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 öğesinin var olduğunu ve komutun yapılandırılan ortamdan çözümlendiğini denetler.
Uzak 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 --probeUzak sunucu destekliyorsa OAuth kullanın. Sunucu statik üstbilgiler gerektiriyorsa değişmez taşıyıcı belirteçlerini depoya kaydetmekten kaçının.
Masaüstü/CUA
openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'openclaw mcp tools cua-driver --include 'list_apps,get_window_state,click,type_text'openclaw mcp doctor cua-driver --probeDoğrudan masaüstü denetim sunucuları, başlattıkları işlemin izinlerini devralır. Dar kapsamlı araç filtreleri ve işletim sistemi düzeyindeki izin istemlerini kullanın.
JSON çıktı biçimleri
Betikler ve panolar için --json kullanın. Alan kümeleri zamanla büyüyebileceğinden tüketiciler bilinmeyen anahtarları yok saymalıdır.
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, "requiresAuthorization": false, "hasClientInformation": true, "hasCodeVerifier": false, "hasDiscoveryState": true, "hasLastAuthorizationUrl": false }, "requestTimeoutMs": 20000, "connectionTimeoutMs": 5000, "toolFilter": { "include": ["search", "read_*"], "exclude": [] }, "supportsParallelToolCalls": true } ]}doctor --json
{ "ok": true, "path": "/home/user/.openclaw/openclaw.json", "servers": [ { "name": "docs", "ok": true, "issues": [ { "level": "warning", "message": "OAuth kimlik bilgileri yetkilendirilmemiş; openclaw mcp login docs komutunu çalıştırın" } ] } ]}Etkinleştirilmiş ve denetlenmiş herhangi bir sunucuda error düzeyinde bir sorun olduğunda doctor --json sıfırdan farklı bir kodla çıkar. warning ve info sorunları bildirilir ancak tek başlarına komutun başarısız olmasına neden olmaz.
probe --json
{ "generatedAt": "2026-05-31T09:00:00.000Z", "servers": { "docs": { "launch": "streamable-http https://mcp.example.com/mcp", "tools": 2, "resources": true, "listChanged": { "tools": true, "resources": false, "prompts": false } } }, "tools": ["docs__read_page", "docs__search"], "diagnostics": []}probe --json canlı bir MCP istemci oturumu açar ve sonucunu doğrudan yazdırır; status/doctor aksine çıktıda üst düzey bir path alanı yoktur. resources ve prompts anahtarları yalnızca sunucu gerçekten bu yeteneği duyurduğunda bulunur (istemleri olmayan bir sunucu, false bildirmek yerine prompts anahtarını çıkarır). probe öğesini statik yapılandırma denetimleri için değil, erişilebilirlik ve yetenek kanıtı için kullanın.
Örnek yapılandırma biçimi:
{ "mcp": { "servers": { "context7": { "command": "uvx", "args": ["context7-mcp"] }, "docs": { "url": "https://mcp.example.com", "transport": "streamable-http", "requestTimeoutMs": 20000, "connectionTimeoutMs": 5000, "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 aktarımı
Yerel bir alt işlem başlatır ve stdin/stdout üzerinden iletişim kurar.
| Alan | Açıklama |
|---|---|
command |
Başlatılacak yürütülebilir dosya (zorunlu) |
args |
Komut satırı bağımsız değişkenleri dizisi |
env |
Ek ortam değişkenleri |
cwd / workingDirectory |
İşlemin çalışma dizini |
SSE / HTTP aktarımı
HTTP Sunucu Gönderimli Olaylar üzerinden uzak bir MCP sunucusuna bağlanır.
| Alan | Açıklama |
|---|---|
url |
Uzak sunucunun HTTP veya HTTPS URL'si (zorunlu) |
headers |
İsteğe bağlı HTTP üstbilgileri anahtar-değer eşlemesi (örneğin kimlik doğrulama belirteçleri) |
connectionTimeoutMs |
Sunucu başına bağlantı zaman aşımı, ms cinsinden (isteğe bağlı) |
requestTimeoutMs |
Sunucu başına MCP isteği zaman aşımı, milisaniye cinsinden |
auth: "oauth" |
openclaw mcp login tarafından kaydedilen MCP OAuth kimlik bilgilerini kullanır |
sslVerify |
Yalnızca açıkça güvenilen özel HTTPS uç noktaları için false olarak ayarlayın |
clientCert / clientKey |
mTLS istemci sertifikası ve anahtar yolları |
supportsParallelToolCalls |
Bu sunucu için eşzamanlı çağrıların güvenli olduğuna dair ipucu |
Örnek:
{ "mcp": { "servers": { "remote-tools": { "url": "https://mcp.example.com", "auth": "oauth", "requestTimeoutMs": 20000, "headers": { "Authorization": "Bearer <token>" } } } }}url (kullanıcı bilgileri) ve headers içindeki hassas değerler günlüklerde ve durum çıktısında gizlenir. openclaw mcp doctor, hassas görünümlü headers veya env girdileri değişmez değerler içerdiğinde uyarır; böylece operatörler bu değerleri depoya kaydedilmiş yapılandırmanın dışına taşıyabilir.
OAuth iş akışı
OAuth, MCP OAuth akışını duyuran HTTP MCP sunucuları içindir. auth: "oauth" etkinleştirildiğinde sunucu için statik Authorization üstbilgileri yok sayılır. openclaw mcp login tarafından kaydedilen kimlik bilgileri; gömülü MCP, CLI çalıştırıcıları ve yerel Codex uygulama sunucusuyla çalışır.
Yerel MCP OAuth oturumları, <state-dir>/state/openclaw.sqlite konumundaki yalnızca sahibinin erişebildiği paylaşılan SQLite veritabanında (mcp_oauth_stores) bulunur. Satır; erişim ve yenileme belirteçlerini, dinamik istemci kaydı sırlarını, keşif meta verilerini ve geçici PKCE doğrulayıcısını içerebilir. Yenileme, oturum açma ve oturumu kapatma aynı SQLite kirasını kullanır; böylece paralel OpenClaw işlemleri tek bir yenileme belirtecini tüketemez veya oturumu kapatılmış bir oturumu yeniden etkinleştiremez.
Kullanımdan kaldırılmış <state-dir>/mcp-oauth/*.json deposundan yükseltmeler yalnızca openclaw doctor --fix tarafından gerçekleştirilir. Çalışma zamanı kodu bu dosyaları hiçbir zaman okumaz, yazmaz veya bunlara geri dönmez.
Kimlik bilgileri kullanılabilir olana kadar OpenClaw, aracı turunu başarısız kılmak yerine yalnızca ilgili MCP sunucusunu aracı çalışma zamanından çıkarır. Ardından operatör veya kabuk erişimi olan bir aracı openclaw mcp login <name> komutunu çalıştırabilir ve sonraki bir turda sunucuyu kullanabilir.
Bir sunucu belirteci insufficient_scope ile reddederse OpenClaw, istenen kapsamı korur ve yeni kapsam veremeyecek bir yenilemeyi tekrarlamak yerine openclaw mcp login <name> ister. Bu oturum açma işlemi, yerine geçecek kimlik bilgileri kaydedilene kadar önceki belirteci koruyarak yeni bir yetkilendirme isteği başlatır.
Uzak bir MCP hizmeti zaten yenileme özellikli ayrı bir OpenClaw kimlik doğrulama profiliyle destekleniyorsa isteğe bağlı olarak oauth.authProfileId ayarlanabilir. OpenClaw, çalışma zamanı yansıtmasından önce iki kimlik bilgisi kaynağından birini yeniler ve aşağı akış MCP istemcisine yalnızca geçerli erişim belirtecini iletir.
Sunucuyu kaydedin
Sunucuyu auth: "oauth" ve isteğe bağlı OAuth meta verileriyle ekleyin veya güncelleyin.
openclaw mcp set docs '{"url":"https://mcp.example.com/mcp","transport":"streamable-http","auth":"oauth","oauth":{"scope":"docs.read"}}'Kimlik doğrulama profiliyle desteklenen bearer için profil bağlamasını kaydedin:
openclaw mcp set docs '{"url":"https://mcp.example.com/mcp","transport":"streamable-http","auth":"oauth","oauth":{"authProfileId":"docs:mcp"}}'Oturum açmayı başlatın
Yetkilendirme isteğini oluşturmak için oturum açma komutunu çalıştırın.
openclaw mcp login docsOpenClaw, yetkilendirme URL'sini yazdırır ve geçici OAuth doğrulayıcı durumunu paylaşılan SQLite'ta saklar.
Kodla tamamlayın
Tarayıcıda onayladıktan sonra döndürülen kodu OpenClaw'a geri iletin.
openclaw mcp login docs --code abc123Yetkilendirmeyi kontrol edin
Tokenların mevcut olduğunu ve ek yetkilendirme gerektirmediğini doğrulamak için durum veya doctor komutunu kullanın. Durum authorization-required bildirirse veya doctor ek yetkilendirme isterse openclaw mcp login <name> komutunu yeniden çalıştırın.
openclaw mcp status --verboseopenclaw mcp doctor docs --probeKimlik bilgilerini temizleyin
Oturumu kapatma, saklanan OAuth kimlik bilgilerini kaldırır ancak kaydedilmiş sunucu tanımını korur.
openclaw mcp logout docsSağlayıcı tokenları döndürürse veya yetkilendirme durumu takılı kalırsa openclaw mcp logout <name> komutunu çalıştırın, ardından login işlemini tekrarlayın. Sunucu adı ve URL kimlik bilgisi deposu girdisini tanımlamaya devam ettiği sürece logout, auth: "oauth" yapılandırmadan kaldırıldıktan sonra bile kaydedilmiş bir HTTP sunucusunun kimlik bilgilerini temizleyebilir.
Akış özellikli HTTP aktarımı
streamable-http, sse ve stdio seçeneklerinin yanında ek bir aktarım seçeneğidir. Uzak MCP sunucularıyla çift yönlü iletişim için HTTP akışını kullanır.
| Alan | Açıklama |
|---|---|
url |
Uzak sunucunun HTTP veya HTTPS URL'si (zorunlu) |
transport |
Bu aktarımı seçmek için "streamable-http" olarak ayarlayın; belirtilmediğinde OpenClaw sse kullanır |
headers |
HTTP üst bilgilerinin isteğe bağlı anahtar-değer eşlemesi (örneğin kimlik doğrulama tokenları) |
connectionTimeoutMs |
Sunucu başına bağlantı zaman aşımı, ms cinsinden (isteğe bağlı) |
requestTimeoutMs |
Sunucu başına MCP isteği zaman aşımı, milisaniye cinsinden |
auth: "oauth" |
openclaw mcp login tarafından kaydedilen MCP OAuth kimlik bilgilerini kullanır |
sslVerify |
Yalnızca açıkça güvenilen özel HTTPS uç noktaları için false olarak ayarlayın |
clientCert / clientKey |
mTLS istemci sertifikası ve anahtar yolları |
supportsParallelToolCalls |
Bu sunucu için eşzamanlı çağrıların güvenli olduğuna ilişkin ipucu |
OpenClaw yapılandırması, kurallı yazım olarak transport: "streamable-http" kullanır. CLI'ye özgü MCP type: "http" değerleri, openclaw mcp set aracılığıyla kaydedildiğinde kabul edilir ve mevcut yapılandırmada openclaw doctor --fix tarafından düzeltilir; ancak yerleşik OpenClaw'ın doğrudan tükettiği değer transport değeridir.
Örnek:
{ "mcp": { "servers": { "streaming-tools": { "url": "https://mcp.example.com/stream", "transport": "streamable-http", "connectionTimeoutMs": 10000, "requestTimeoutMs": 30000, "headers": { "Authorization": "Bearer <token>" } } } }}Kontrol kullanıcı arayüzü
Tarayıcıdaki Kontrol kullanıcı arayüzü, /settings/mcp konumunda özel bir MCP ayarları sayfası içerir; önceki /mcp yolu takma ad olarak kalır. Sayfa; yapılandırılmış sunucu sayılarını, etkin/OAuth/filtre özetlerini, sunucu başına aktarım satırlarını, etkinleştirme/devre dışı bırakma denetimlerini, yaygın CLI komutlarını ve mcp yapılandırma bölümü için kapsamlı bir düzenleyiciyi gösterir.
Sayfayı operatör düzenlemeleri ve hızlı envanter için kullanın. Canlı sunucu kanıtına ihtiyaç duyduğunuzda openclaw mcp doctor --probe veya openclaw mcp probe kullanın.
Operatör iş akışı:
- Kontrol kullanıcı arayüzünü açın ve MCP seçeneğini belirleyin.
- Toplam, etkin, OAuth ve filtrelenmiş sunucular için özet kartlarını inceleyin.
- Aktarım, kimlik doğrulama, filtre, zaman aşımı ve komut ipuçları için her sunucu satırını kullanın.
- Bir tanımı korumak ancak çalışma zamanı keşfinden hariç tutmak istediğinizde etkinleştirme durumunu değiştirin.
- Yeni sunucular, üst bilgiler, TLS, OAuth meta verileri veya araç filtreleri gibi yapısal değişiklikler için kapsamlı
mcpyapılandırma bölümünü düzenleyin. - Yalnızca yapılandırmayı kalıcılaştırmak için Save, Gateway yapılandırma yolu üzerinden uygulamak için Save & Publish seçeneğini belirleyin.
- Düzenlenen sunucunun başlatıldığına ve araçları listelediğine dair canlı kanıt gerektiğinde
openclaw mcp doctor --probekomutunu çalıştırın.
Notlar:
- komut parçacıkları, sıra dışı adların kabukta kopyalanabilir kalması için sunucu adlarını tırnak içine alır
- görüntülenen URL benzeri değerler, gömülü kimlik bilgileri içerdiğinde işlenmeden önce karartılır
- sayfa MCP aktarımlarını kendi başına başlatmaz
- MCP istemcilerinin sahibi olan sürece bağlı olarak etkin çalışma zamanları
openclaw mcp reload, Gateway yapılandırmasının yayımlanması veya işlemin yeniden başlatılmasını gerektirebilir
MCP Uygulamaları
OpenClaw, kararlı MCP Uygulamaları uzantısını uygulayan araçları işleyebilir. Uygulamalar isteğe bağlıdır; çünkü HTML'leri yapılandırılmış MCP sunucusundan gelir ve aynı sunucudan uygulama tarafından görülebilen araçları veya kaynakları isteyebilir.
Ana makine köprüsünü etkinleştirin:
openclaw config set mcp.apps.enabled true --strict-jsonBu ayarı değiştirdikten sonra Gateway'i yeniden başlatın. Etkinleştirildiğinde OpenClaw, Gateway portunun bir fazlasında yalnızca korumalı alana yönelik bir HTTP(S) dinleyicisi başlatır (varsayılan Gateway için 18790). Kontrol kullanıcı arayüzü Uygulamaları bu ayrı kaynaktan yükler; dinleyici hiçbir zaman Kontrol kullanıcı arayüzünü, kimliği doğrulanmış Gateway rotalarını veya kullanıcı verilerini sunmaz.
Doğrudan Gateway bağlantılarının her iki porta da erişmesi gerekir. Bir ters proxy veya TLS sonlandırıcısı Kontrol kullanıcı arayüzünü açığa çıkarıyorsa Uygulamalara özel bir genel kaynak verin ve yalnızca bu kaynağı korumalı alan dinleyicisine yönlendirin:
{ mcp: { apps: { enabled: true, sandboxOrigin: "https://mcp-apps.example.com", sandboxPort: 18790, }, },}Korumalı alan kaynağı, Kontrol kullanıcı arayüzü kaynağından farklı olmalıdır. Üzerinde kimliği doğrulanmış veya hassas başka içerikler barındırmayın.
Örneğin, resmî temel React demosu şu şekilde yapılandırılabilir:
{ mcp: { apps: { enabled: true }, servers: { "basic-react": { command: "npx", args: ["-y", "@modelcontextprotocol/server-basic-react", "--stdio"], }, }, },}Davranış ve güvenlik sınırları:
- OpenClaw,
io.modelcontextprotocol/uiuzantısını yalnızca Uygulamalar etkinleştirildiğinde duyurur. - Yalnızca tam olarak
text/html;profile=mcp-appMIME türüne sahipui://kaynakları işlenir. - Kullanıcı arayüzü kaynakları 2 MiB ile sınırlandırılır, özel bir dış kaynakta çift iframe proxy'sinin arkasına yerleştirilir, opak bir iç Uygulama kaynağına yüklenir ve kaynak meta verilerinden türetilen CSP ile kısıtlanır.
- Yalnızca Uygulamaya özgü araçlar (
_meta.ui.visibility: ["app"]) model araç listelerinin dışında kalır. Uygulamalar yalnızca kendi sunucularındaki, uygulama tarafından görülebilen ve görünümü oluşturan çalıştırma için geçerli OpenClaw araç politikasından da geçen araçları çağırabilir. - İç Uygulama belgeleri, Uygulamalar arası yalıtım için opak kaynaklar kullandığı sürece kamera, mikrofon ve coğrafi konum gibi kaynağa bağlı Uygulama izinleri verilmez.
- Uygulama HTML'si, eksiksiz araç bağımsız değişkenleri ve ham sonuçlar, on dakikalık sınırlı bir bellek içi görünüm kiralamasında tutulur ve diske yazılmaz veya transkript önizleme meta verilerine kopyalanmaz. Transkript yalnızca özgün araç çağrısı kimliğine bağlı, sınırlı bir sunucu/araç/kaynak tanımlayıcısı saklar. Gateway yeniden başlatıldıktan sonra Kontrol kullanıcı arayüzü bu tanımlayıcıyı kimliği doğrulanmış oturum transkriptine göre doğrulayabilir ve
ui://kaynağını yeniden getirebilir; yeni bir çalıştırma güncel araç izinlerini belirleyene kadar yeniden oluşturulan görünümler salt okunurdur. - Kanal konuşmalarında, bir turdaki en son başarılı Uygulama görünümü son asistan yanıtına Uygulamayı Aç tarzı tek bir eylem ekler. Telegram DM'leri yerel bir Mini App düğmesi kullanır; Slack ve Discord aynı taşınabilir eylemi bağlantı olarak işler. Diğer kanallar özgün yanıt metnini korur ve anlaşılır bir HTTPS bağlantısı ekler.
- Kanal başlatma bağlantıları yalnızca Gateway Tailscale erişimi yayımlanmış bir HTTPS kaynağı hazırladığında kullanılabilir.
gateway.tailscale.mode: "serve"yalnızca tailnet üzerinden erişilebilir;"funnel"genel internetten erişilebilir.gateway.tailscale.preserveFunneltarafından korunan, haricî olarak yönetilen bir Funnel da internetten erişilebilir kabul edilir. Bkz. Tailscale. - Başlatma biletleri opaktır, yalnızca son kanal yanıtı oluşturulurken üretilir ve en fazla iki dakika sonra ya da temel görünüm kiralamasının süresi dolduğunda (hangisi önce gerçekleşirse) sona erer. URL; Gateway bearer kimlik bilgilerini, oturum anahtarlarını, görünüm meta verilerini, Uygulama HTML'sini, araç girdisini veya araç sonuçlarını içermez.
- Yayımlanmış bir kaynak veya bilet kapasitesi yoksa, görünümün ya da biletin süresi dolmuşsa veya aktarım yerel denetimleri işleyemiyorsa özgün asistan metni kullanılabilir kalır. Kontrol kullanıcı arayüzü mevcut satır içi Uygulama tuvalini korur ve yinelenen bir başlatma eylemi almaz.
openclaw security audit, köprü etkinken uyarı verir. Gerekli olmadığındaopenclaw config set mcp.apps.enabled false --strict-jsonile devre dışı bırakın.
Mevcut sınırlar
Bu sayfa, köprüyü bugün yayımlandığı hâliyle belgeler.
Mevcut sınırlar:
- konuşma keşfi, mevcut Gateway oturum rotası meta verilerine bağlıdır
- Claude'a özgü bağdaştırıcının ötesinde genel bir gönderim protokolü yoktur
- henüz mesaj düzenleme veya tepki araçları yoktur
- HTTP/SSE/streamable-http aktarımı tek bir uzak sunucuya bağlanır; henüz çoğullanmış üst akış yoktur
permissions_list_openyalnızca köprü bağlıyken gözlemlenen onayları içerir