Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

openclaw mcp iki göreve sahiptir:
  • openclaw mcp serve ile OpenClaw’ı MCP sunucusu olarak çalıştırmak
  • OpenClaw’a ait giden MCP sunucu tanımlarını list, show, set ve unset ile yönetmek
Başka bir deyişle:
  • serve, OpenClaw’ın MCP sunucusu gibi davranmasıdır
  • list / 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.
1

İstemci köprüyü başlatır

MCP istemcisi openclaw mcp serve sürecini başlatır.
2

Köprü Gateway'e bağlanır

Köprü, WebSocket üzerinden OpenClaw Gateway’e bağlanır.
3

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.
4

Canlı olaylar kuyruğa alınır

Köprü bağlıyken canlı olaylar bellekte kuyruğa alınır.
5

İsteğe bağlı Claude push

Claude kanal modu etkinse aynı oturum Claude’a özgü push bildirimleri de alabilir.
  • canlı kuyruk durumu köprü bağlandığında başlar
  • daha eski döküm geçmişi messages_read ile 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 agent ve openclaw infer model run gibi 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:
Yalnızca standart MCP araçları. conversations_list, messages_read, events_poll, events_wait, messages_send ve onay araçlarını kullanın.
Bugün auto, on ile aynı davranır. Henüz istemci yetenek algılama yoktur.

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

openclaw mcp serve

Köprü araçları

Geçerli köprü şu MCP araçlarını sunar:
Gateway oturum durumunda zaten rota meta verileri bulunan son oturum destekli konuşmaları listeler.Yararlı filtreler:
  • limit
  • search
  • channel
  • includeDerivedTitles
  • includeLastMessage
Doğrudan Gateway oturumu araması kullanarak session_key ile tek bir konuşma döndürür.
Bir oturum destekli konuşma için son döküm mesajlarını okur.
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.
Sayısal bir imleçten bu yana kuyruğa alınmış canlı olayları okur.
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.
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
Köprünün Gateway’e bağlandığından beri gözlemlediği bekleyen exec/Plugin onay isteklerini listeler.
Bekleyen bir exec/Plugin onay isteğini şunlardan biriyle çözümler:
  • allow-once
  • allow-always
  • deny

Olay modeli

Köprü, bağlı olduğu sürece bellek içi bir olay kuyruğu tutar. Geçerli olay türleri:
  • message
  • exec_approval_requested
  • exec_approval_resolved
  • plugin_approval_requested
  • plugin_approval_resolved
  • claude_permission_request
  • kuyruk yalnızca canlıdır; MCP köprüsü başladığında başlar
  • events_poll ve events_wait daha eski Gateway geçmişini kendiliğinden yeniden oynatmaz
  • dayanıklı birikmiş kayıt messages_read ile okunmalıdır

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.
--claude-channel-mode off: yalnızca standart MCP araçları.
Claude kanal modu etkinleştirildiğinde sunucu Claude deneysel yeteneklerini duyurur ve şunları yayabilir:
  • notifications/claude/channel
  • notifications/claude/channel/permission
Geçerli köprü davranışı:
  • gelen user döküm mesajları notifications/claude/channel olarak iletilir
  • MCP üzerinden alınan Claude izin istekleri bellekte izlenir
  • bağlı konuşma daha sonra yes abcde veya no abcde gönderirse köprü bunu notifications/claude/channel/permission biç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:
--url
string
Gateway WebSocket URL’si.
--token
string
Gateway token’ı.
--token-file
string
Token’ı dosyadan oku.
--password
string
Gateway parolası.
--password-file
string
Parolayı dosyadan oku.
--claude-channel-mode
"auto" | "on" | "off"
Claude bildirim modu.
-v, --verbose
boolean
stderr üzerinde ayrıntılı günlükler.
Mümkün olduğunda satır içi gizli değerler yerine --token-file veya --password-file tercih edin.

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_send yalnı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 serve baş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

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.
Beklenen davranış. Canlı kuyruk köprü bağlandığında başlar. Daha eski döküm geçmişini messages_read ile okuyun.
Bunların tümünü kontrol edin:
  • istemci stdio MCP oturumunu açık tuttu
  • --claude-channel-mode, on veya auto
  • istemci Claude’a özgü bildirim yöntemlerini gerçekten anlıyor
  • gelen mesaj köprü bağlandıktan sonra gerçekleşti
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.
  • 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 coding ve messaging araç profillerinde açığa çıkarır; minimal hâlâ bunları gizler ve tools.deny: ["bundle-mcp"] bunları açıkça devre dışı bırakır
  • oturum kapsamlı paketlenmiş MCP çalışma zamanları, mcp.sessionIdleTtlMs milisaniyelik boşta kalma süresinden sonra temizlenir (varsayılan 10 dakika; devre dışı bırakmak için 0 ayarlayı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 list
  • openclaw mcp show [name]
  • openclaw mcp set <name> <json>
  • openclaw mcp unset <name>
Notlar:
  • list sunucu 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 unset baş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.
AlanAçıklama
commandBaşlatılacak yürütülebilir (gerekli)
argsKomut satırı bağımsız değişkenleri dizisi
envEk ortam değişkenleri
cwd / workingDirectorySüreç için çalışma dizini
Stdio env güvenlik filtresiOpenClaw, bir sunucunun env bloğunda görünseler bile, stdio MCP sunucusunun ilk RPC’den önce nasıl başlatılacağını değiştirebilen yorumlayıcı başlatma env anahtarlarını reddeder. Engellenen anahtarlar arasında NODE_OPTIONS, PYTHONSTARTUP, PYTHONPATH, PERL5OPT, RUBYOPT, SHELLOPTS, PS4 ve benzer çalışma zamanı denetim değişkenleri bulunur. Başlatma, örtük bir başlangıç bölümü enjekte edememeleri, yorumlayıcıyı değiştirememeleri veya stdio sürecine karşı hata ayıklayıcı etkinleştirememeleri için bunları yapılandırma hatasıyla reddeder. Sıradan kimlik bilgisi, proxy ve sunucuya özgü env değişkenleri (GITHUB_TOKEN, HTTP_PROXY, özel *_API_KEY vb.) etkilenmez.MCP sunucunuzun engellenen değişkenlerden birine gerçekten ihtiyacı varsa, bunu stdio sunucusunun env altında değil Gateway ana makine sürecinde ayarlayın.

SSE / HTTP aktarımı

HTTP Server-Sent Events üzerinden uzak bir MCP sunucusuna bağlanır.
AlanAçıklama
urlUzak 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)
connectionTimeoutMsSunucu 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.
AlanAçıklama
urlUzak sunucunun HTTP veya HTTPS URL’si (gerekli)
transportBu 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)
connectionTimeoutMsSunucu 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>"
        }
      }
    }
  }
}
Bu komutlar yalnızca kaydedilmiş yapılandırmayı yönetir. Kanal köprüsünü başlatmaz, canlı bir MCP istemci oturumu açmaz veya hedef sunucunun erişilebilir olduğunu kanıtlamaz.

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_open yalnızca köprü bağlıyken gözlemlenen onayları içerir

İlgili