CLI commands
MCP
openclaw mcp iki göreve sahiptir:
openclaw mcp serveile OpenClaw'ı MCP sunucusu olarak çalıştırmak- OpenClaw'a ait giden MCP sunucu tanımlarını
list,show,setveunsetile yönetmek
Başka bir deyişle:
serve, OpenClaw'ın MCP sunucusu gibi davranmasıdırlist/show/set/unset, OpenClaw'ın çalışma zamanlarının daha sonra tüketebileceği diğer MCP sunucuları için MCP istemci tarafı kayıt defteri gibi davranmasıdır
OpenClaw'ın bir kodlama harness oturumunu kendisinin barındırması ve bu çalışma zamanını ACP üzerinden yönlendirmesi gerektiğinde openclaw acp kullanın.
MCP sunucusu olarak OpenClaw
Bu, openclaw mcp serve yoludur.
serve ne zaman kullanılır
openclaw mcp serve komutunu şu durumlarda kullanın:
- Codex, Claude Code veya başka bir MCP istemcisinin doğrudan OpenClaw destekli kanal konuşmalarıyla iletişim kurması gerektiğinde
- yönlendirilmiş oturumlara sahip yerel veya uzak bir OpenClaw Gateway'iniz zaten olduğunda
- kanal başına ayrı köprüler çalıştırmak yerine OpenClaw'ın kanal arka uçlarında çalışan tek bir MCP sunucusu istediğinizde
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, stdio MCP sunucusu başlatır. Bu sürecin 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 sürecini 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 döküm/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 push
Claude kanal modu etkinse aynı oturum Claude'a özgü push bildirimleri de alabilir.
Önemli davranış
- canlı kuyruk durumu köprü bağlandığında başlar
- daha eski döküm geçmişi
messages_readile okunur - Claude push bildirimleri yalnızca MCP oturumu canlıyken vardır
- istemci bağlantıyı kestiğinde köprü çıkar ve canlı kuyruk kaybolur
openclaw agentveopenclaw infer model rungibi tek seferlik ajan giriş noktaları, yanıt tamamlandığında açtıkları paketlenmiş MCP çalışma zamanlarını sonlandırır; böylece tekrarlanan betikli çalıştırmalar stdio MCP alt süreçleri biriktirmez- OpenClaw tarafından başlatılan stdio MCP sunucuları (paketlenmiş veya kullanıcı tarafından yapılandırılmış) kapanışta süreç ağacı olarak sonlandırılır; bu nedenle sunucu tarafından başlatılan alt süreçler, üst stdio istemcisi çıktıktan sonra yaşamaya devam etmez
- bir oturumu silmek veya sıfırlamak, paylaşılan çalışma zamanı temizleme yolu üzerinden o oturumun MCP istemcilerini elden çıkarır; böylece kaldırılmış bir oturuma bağlı kalıcı stdio bağlantıları kalmaz
Bir istemci modu seçin
Aynı köprüyü iki farklı şekilde kullanın:
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 adaptörü. --claude-channel-mode on etkinleştirin veya varsayılan auto değerini bırakın.
serve neleri sunar
Köprü, kanal destekli konuşmaları sunmak için mevcut Gateway oturum rota meta verilerini kullanır. OpenClaw'ın aşağıdakiler gibi bilinen bir rotaya sahip oturum durumu zaten varsa 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 şunlar için tek bir yer sağlar:
- son yönlendirilmiş konuşmaları listelemek
- son döküm geçmişini okumak
- yeni gelen olayları beklemek
- aynı rota üzerinden geri yanıt göndermek
- köprü bağlıyken gelen onay isteklerini görmek
Kullanım
Yerel Gateway
openclaw mcp serve
Uzak Gateway (token)
openclaw mcp serve --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token
Uzak Gateway (parola)
openclaw mcp serve --url wss://gateway-host:18789 --password-file ~/.openclaw/gateway.password
Ayrıntılı / Claude kapalı
openclaw mcp serve --verbose
openclaw mcp serve --claude-channel-mode off
Köprü araçları
Geçerli köprü şu MCP araçlarını sunar:
conversations_list
Gateway oturum durumunda zaten rota meta verileri bulunan son oturum destekli konuşmaları listeler.
Yararlı filtreler:
limitsearchchannelincludeDerivedTitlesincludeLastMessage
conversation_get
Doğrudan Gateway oturumu araması kullanarak session_key ile tek bir konuşma döndürür.
messages_read
Bir oturum destekli konuşma için son döküm mesajlarını okur.
attachments_fetch
Bir döküm mesajından metin olmayan mesaj içerik bloklarını çıkarır. Bu, tek başına dayanıklı bir ek blob deposu değil, döküm içeriği üzerinde bir meta veri görünümüdür.
events_poll
Sayısal bir imleçten bu yana kuyruğa alınmış canlı olayları okur.
events_wait
Bir sonraki eşleşen kuyruktaki olay gelene veya zaman aşımı sona erene kadar uzun yoklama yapar.
Genel bir MCP istemcisinin Claude'a özgü push protokolü olmadan neredeyse gerçek zamanlı teslimata ihtiyaç duyması durumunda bunu kullanın.
messages_send
Oturumda zaten kaydedilmiş olan aynı rota üzerinden metin gönderir.
Geçerli davranış:
- mevcut bir konuşma rotası gerektirir
- oturumun kanalını, alıcısını, hesap kimliğini ve ileti dizisi 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 exec/Plugin onay isteklerini listeler.
permissions_respond
Bekleyen bir exec/Plugin onay isteğini şunlardan biriyle çözümler:
allow-onceallow-alwaysdeny
Olay modeli
Köprü, bağlı olduğu sürece bellek içi bir olay kuyruğu tutar.
Geçerli olay türleri:
messageexec_approval_requestedexec_approval_resolvedplugin_approval_requestedplugin_approval_resolvedclaude_permission_request
Claude kanal bildirimleri
Köprü, Claude'a özgü kanal bildirimlerini de sunabilir. Bu, OpenClaw'ın Claude Code kanal adaptörü eşdeğeridir: standart MCP araçları kullanılabilir kalır, ancak canlı gelen mesajlar Claude'a özgü MCP bildirimleri olarak da gelebilir.
kapalı
--claude-channel-mode off: yalnızca standart MCP araçları.
açık
--claude-channel-mode on: Claude kanal bildirimlerini etkinleştirir.
auto (varsayılan)
--claude-channel-mode auto: geçerli varsayılan; on ile aynı köprü davranışı.
Claude kanal modu etkinleştirildiğinde sunucu Claude deneysel yeteneklerini duyurur ve şunları yayabilir:
notifications/claude/channelnotifications/claude/channel/permission
Geçerli köprü davranışı:
- gelen
userdöküm mesajlarınotifications/claude/channelolarak iletilir - MCP üzerinden alınan Claude izin istekleri bellekte izlenir
- bağlı konuşma daha sonra
yes abcdeveyano abcdegönderirse köprü bununotifications/claude/channel/permissionbiçimine dönüştürür - bu bildirimler yalnızca canlı oturum içindir; MCP istemcisi bağlantıyı keserse push hedefi yoktur
Bu kasıtlı olarak istemciye özgüdür. Genel MCP istemcileri standart yoklama araçlarına güvenmelidir.
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 yok sayı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.
--tokenstringGateway token'ı.
--token-filestringToken'ı dosyadan oku.
--passwordstringGateway parolası.
--password-filestringParolayı dosyadan oku.
--claude-channel-mode"auto" | "on" | "off"Claude bildirim modu.
-v, --verbosebooleanstderr üzerinde ayrıntılı günlükler.
Güvenlik ve güven sınırı
Köprü yönlendirme icat etmez. Yalnızca Gateway'in zaten nasıl yönlendireceğini bildiği konuşmaları sunar.
Bu şu anlama gelir:
- gönderen izin listeleri, eşleme ve kanal düzeyi güven hâlâ altta yatan OpenClaw kanal yapılandırmasına aittir
messages_sendyalnızca mevcut saklanan bir rota üzerinden yanıt verebilir- onay durumu yalnızca geçerli köprü oturumu için canlı/bellek içidir
- köprü kimlik doğrulaması, herhangi bir başka uzak Gateway istemcisi için güveneceğiniz aynı Gateway token veya parola denetimlerini kullanmalıdır
Bir konuşma conversations_list içinde eksikse olağan neden MCP yapılandırması değildir. Altta yatan Gateway oturumunda eksik veya tamamlanmamış rota meta verileridir.
Test
OpenClaw bu köprü için deterministik bir Docker smoke testiyle gelir:
pnpm test:docker:mcp-channels
Bu smoke testi:
- tohumlanmış bir Gateway kapsayıcısı başlatır
openclaw mcp servebaşlatan ikinci bir kapsayıcı başlatır- konuşma keşfini, döküm okumalarını, ek meta veri okumalarını, canlı olay kuyruğu davranışını ve giden gönderim yönlendirmesini doğrular
- gerçek stdio MCP köprüsü üzerinden Claude tarzı kanal ve izin bildirimlerini doğrular
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 bkz. Test.
Sorun giderme
Hiç konuşma döndürülmüyor
Genellikle Gateway oturumunun zaten yönlendirilebilir olmadığı anlamına gelir. Altta yatan oturumun depolanmış kanal/sağlayıcı, alıcı ve isteğe bağlı hesap/ileti dizisi rota meta verilerine sahip olduğunu doğrulayın.
events_poll veya events_wait eski mesajları kaçırıyor
Beklenen davranış. Canlı kuyruk köprü bağlandığında başlar. Daha eski döküm geçmişini messages_read ile okuyun.
Claude bildirimleri görünmüyor
Bunların tümünü kontrol edin:
- istemci stdio MCP oturumunu açık tuttu
--claude-channel-mode,onveyaauto- 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. Dayanıklı bir onay geçmişi API'si değildir.
MCP istemci kayıt defteri olarak OpenClaw
Bu, openclaw mcp list, show, set ve unset yoludur.
Bu komutlar OpenClaw'ı MCP üzerinden açığa çıkarmaz. OpenClaw yapılandırmasında mcp.servers altında OpenClaw'a ait MCP sunucu tanımlarını yönetirler.
Kaydedilen bu tanımlar, gömülü Pi ve diğer çalışma zamanı bağdaştırıcıları gibi OpenClaw'ın daha sonra başlattığı veya yapılandırdığı çalışma zamanları içindir. OpenClaw tanımları merkezi olarak saklar, böylece bu çalışma zamanlarının kendi yinelenen MCP sunucu listelerini tutması gerekmez.
Important behavior
- bu komutlar yalnızca OpenClaw yapılandırmasını okur veya yazar
- hedef MCP sunucusuna bağlanmazlar
- komutun, URL'nin veya uzak aktarımın şu anda erişilebilir olup olmadığını doğrulamazlar
- çalışma zamanı bağdaştırıcıları, yürütme zamanında gerçekte hangi aktarım biçimlerini desteklediklerine karar verir
- gömülü Pi, yapılandırılmış MCP araçlarını normal
codingvemessagingaraç profillerinde açığa çıkarır;minimalhâlâ bunları gizler vetools.deny: ["bundle-mcp"]bunları açıkça devre dışı bırakır - oturum kapsamlı paketlenmiş MCP çalışma zamanları,
mcp.sessionIdleTtlMsmilisaniyelik boşta kalma süresinden sonra temizlenir (varsayılan 10 dakika; devre dışı bırakmak için0ayarlayın) 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, alt istemcilerinin beklediği biçime normalleştirebilir. Örneğin gömülü Pi, OpenClaw transport değerlerini doğrudan tüketirken Claude Code ve Gemini, http, sse veya stdio gibi CLI'ye özgü type değerleri alır.
Kaydedilmiş MCP sunucu tanımları
OpenClaw, OpenClaw tarafından yönetilen MCP tanımları isteyen yüzeyler için yapılandırmada hafif bir MCP sunucu kayıt defteri de saklar.
Komutlar:
openclaw mcp listopenclaw mcp show [name]openclaw mcp set <name> <json>openclaw mcp unset <name>
Notlar:
listsunucu adlarını sıralar.- Ad olmadan
show, yapılandırılmış MCP sunucu nesnesinin tamamını yazdırır. set, komut satırında tek bir JSON nesne değeri bekler.- Streamable HTTP MCP sunucuları için
transport: "streamable-http"kullanın.openclaw mcp set, uyumluluk için CLI'ye özgütype: "http"değerini de aynı kanonik yapılandırma biçimine normalleştirir. - Adı verilen sunucu yoksa
unsetbaşarısız olur.
Örnekler:
openclaw mcp list
openclaw mcp show context7 --json
openclaw mcp set context7 '{"command":"uvx","args":["context7-mcp"]}'
openclaw mcp set docs '{"url":"https://mcp.example.com","transport":"streamable-http"}'
openclaw mcp unset context7
Örnek yapılandırma biçimi:
{
"mcp": {
"servers": {
"context7": {
"command": "uvx",
"args": ["context7-mcp"]
},
"docs": {
"url": "https://mcp.example.com",
"transport": "streamable-http"
}
}
}
}
Stdio aktarımı
Yerel bir alt süreç başlatır ve stdin/stdout üzerinden iletişim kurar.
| Alan | Açıklama |
|---|---|
command |
Başlatılacak yürütülebilir (gerekli) |
args |
Komut satırı bağımsız değişkenleri dizisi |
env |
Ek ortam değişkenleri |
cwd / workingDirectory |
Süreç için çalışma dizini |
SSE / HTTP aktarımı
HTTP Server-Sent Events üzerinden uzak bir MCP sunucusuna bağlanır.
| Alan | Açıklama |
|---|---|
url |
Uzak sunucunun HTTP veya HTTPS URL'si (gerekli) |
headers |
İsteğe bağlı HTTP üstbilgileri anahtar-değer eşlemi (örneğin kimlik doğrulama belirteçleri) |
connectionTimeoutMs |
Sunucu başına bağlantı zaman aşımı, ms cinsinden (isteğe bağlı) |
Örnek:
{
"mcp": {
"servers": {
"remote-tools": {
"url": "https://mcp.example.com",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
}
url içindeki hassas değerler (userinfo) ve headers, günlüklerde ve durum çıktısında gizlenir.
Streamable HTTP aktarımı
streamable-http, sse ve stdio 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 (gerekli) |
transport |
Bu aktarımı seçmek için "streamable-http" olarak ayarlayın; atlanırsa OpenClaw sse kullanır |
headers |
İsteğe bağlı HTTP üstbilgileri anahtar-değer eşlemi (örneğin kimlik doğrulama belirteçleri) |
connectionTimeoutMs |
Sunucu başına bağlantı zaman aşımı, ms cinsinden (isteğe bağlı) |
OpenClaw yapılandırması kanonik yazım olarak transport: "streamable-http" kullanır. CLI'ye özgü MCP type: "http" değerleri, openclaw mcp set üzerinden kaydedildiğinde kabul edilir ve mevcut yapılandırmada openclaw doctor --fix tarafından onarılır, ancak gömülü Pi'nin doğrudan tükettiği şey transport değeridir.
Örnek:
{
"mcp": {
"servers": {
"streaming-tools": {
"url": "https://mcp.example.com/stream",
"transport": "streamable-http",
"connectionTimeoutMs": 10000,
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
}
Mevcut sınırlar
Bu sayfa, köprüyü bugün sunulduğu hâliyle belgeler.
Mevcut sınırlar:
- konuşma keşfi mevcut Gateway oturum rota meta verilerine bağlıdır
- Claude'a özgü bağdaştırıcının ötesinde genel bir anında iletme 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ğaltılmış üst akış yoktur
permissions_list_openyalnızca köprü bağlıyken gözlemlenen onayları içerir