CLI commands
MCP
OmeniaClaw mcp memiliki dua tugas:
- menjalankan OmeniaClaw sebagai server MCP dengan
OmeniaClaw mcp serve - mengelola definisi server MCP outbound milik OmeniaClaw dengan
list,show,set, danunset
Dengan kata lain:
serveadalah OmeniaClaw yang bertindak sebagai server MCPlist/show/set/unsetadalah OmeniaClaw yang bertindak sebagai registri sisi klien MCP untuk server MCP lain yang mungkin digunakan runtime-nya nanti
Gunakan OmeniaClaw acp saat OmeniaClaw harus menghosting sesi harness pengodean itu sendiri dan merutekan runtime tersebut melalui ACP.
OmeniaClaw sebagai server MCP
Ini adalah jalur OmeniaClaw mcp serve.
Kapan menggunakan serve
Gunakan OmeniaClaw mcp serve saat:
- Codex, Claude Code, atau klien MCP lain harus berbicara langsung ke percakapan channel yang didukung OmeniaClaw
- Anda sudah memiliki OmeniaClaw Gateway lokal atau remote dengan sesi yang dirutekan
- Anda menginginkan satu server MCP yang bekerja di seluruh backend channel OmeniaClaw, alih-alih menjalankan bridge terpisah per channel
Gunakan OmeniaClaw acp sebagai gantinya saat OmeniaClaw harus menghosting runtime pengodean itu sendiri dan menjaga sesi agen tetap di dalam OmeniaClaw.
Cara kerjanya
OmeniaClaw mcp serve memulai server MCP stdio. Klien MCP memiliki proses tersebut. Selama klien menjaga sesi stdio tetap terbuka, bridge tersambung ke OmeniaClaw Gateway lokal atau remote melalui WebSocket dan mengekspos percakapan channel yang dirutekan melalui MCP.
Klien memunculkan bridge
Klien MCP memunculkan OmeniaClaw mcp serve.
Bridge tersambung ke Gateway
Bridge tersambung ke OmeniaClaw Gateway melalui WebSocket.
Sesi menjadi percakapan MCP
Sesi yang dirutekan menjadi percakapan MCP dan alat transkrip/riwayat.
Antrean peristiwa live
Peristiwa live diantrekan di memori selama bridge tersambung.
Push Claude opsional
Jika mode channel Claude diaktifkan, sesi yang sama juga dapat menerima notifikasi push khusus Claude.
Perilaku penting
- status antrean live dimulai saat bridge tersambung
- riwayat transkrip lama dibaca dengan
messages_read - notifikasi push Claude hanya ada selama sesi MCP hidup
- saat klien terputus, bridge keluar dan antrean live hilang
- titik masuk agen sekali jalan seperti
OmeniaClaw agentdanOmeniaClaw infer model runmenghentikan runtime MCP bawaan apa pun yang dibukanya saat balasan selesai, sehingga run berskrip berulang tidak menumpuk proses anak MCP stdio - server MCP stdio yang diluncurkan oleh OmeniaClaw (bawaan atau dikonfigurasi pengguna) dimatikan sebagai pohon proses saat shutdown, sehingga subproses anak yang dimulai oleh server tidak bertahan setelah klien stdio induk keluar
- menghapus atau mereset sesi akan membuang klien MCP sesi tersebut melalui jalur pembersihan runtime bersama, sehingga tidak ada koneksi stdio tersisa yang terikat ke 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 ditambah adapter channel khusus Claude. Aktifkan --claude-channel-mode on atau biarkan default auto.
Yang diekspos serve
Bridge menggunakan metadata rute sesi Gateway yang sudah ada untuk mengekspos percakapan yang didukung channel. Percakapan muncul saat OmeniaClaw 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 inbound baru
- mengirim balasan kembali melalui rute yang sama
- melihat permintaan persetujuan yang masuk saat bridge tersambung
Penggunaan
Gateway lokal
OmeniaClaw mcp serveGateway remote (token)
OmeniaClaw mcp serve --url wss://gateway-host:18789 --token-file ~/.OmeniaClaw/gateway.tokenGateway remote (kata sandi)
OmeniaClaw mcp serve --url wss://gateway-host:18789 --password-file ~/.OmeniaClaw/gateway.passwordVerbose / Claude nonaktif
OmeniaClaw mcp serve --verboseOmeniaClaw mcp serve --claude-channel-mode offAlat bridge
Bridge saat ini mengekspos alat MCP berikut:
conversations_list
Mencantumkan percakapan terbaru yang didukung 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 yang didukung sesi.
attachments_fetch
Mengekstrak blok konten pesan non-teks dari satu pesan transkrip. Ini adalah tampilan metadata atas konten transkrip, bukan penyimpanan blob lampiran tahan lama yang berdiri sendiri.
events_poll
Membaca peristiwa live yang diantrekan sejak kursor numerik.
events_wait
Melakukan long-poll hingga peristiwa terantre berikutnya yang cocok tiba atau timeout berakhir.
Gunakan ini saat klien MCP generik membutuhkan pengiriman nyaris 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 channel, penerima, id akun, dan id thread milik sesi
- hanya mengirim teks
permissions_list_open
Mencantumkan permintaan persetujuan exec/plugin tertunda yang telah diamati bridge sejak tersambung ke Gateway.
permissions_respond
Menyelesaikan satu permintaan persetujuan exec/plugin tertunda dengan:
allow-onceallow-alwaysdeny
Model peristiwa
Bridge menyimpan antrean peristiwa dalam memori selama tersambung.
Jenis peristiwa saat ini:
messageexec_approval_requestedexec_approval_resolvedplugin_approval_requestedplugin_approval_resolvedclaude_permission_request
Notifikasi channel Claude
Bridge juga dapat mengekspos notifikasi channel khusus Claude. Ini adalah padanan OmeniaClaw dari adapter channel Claude Code: alat MCP standar tetap tersedia, tetapi pesan inbound live juga dapat masuk sebagai notifikasi MCP khusus Claude.
off
--claude-channel-mode off: hanya alat MCP standar.
on
--claude-channel-mode on: aktifkan notifikasi channel Claude.
auto (default)
--claude-channel-mode auto: default saat ini; perilaku bridge sama seperti on.
Saat mode channel Claude diaktifkan, server mengiklankan kapabilitas eksperimental Claude dan dapat memancarkan:
notifications/claude/channelnotifications/claude/channel/permission
Perilaku bridge saat ini:
- pesan transkrip
userinbound diteruskan sebagainotifications/claude/channel - permintaan izin Claude yang diterima melalui MCP dilacak dalam memori
- jika percakapan yang ditautkan kemudian mengirim
yes abcdeatauno abcde, bridge mengonversinya menjadinotifications/claude/channel/permission - notifikasi ini hanya untuk sesi live; jika klien MCP terputus, tidak ada target push
Ini sengaja khusus klien. Klien MCP generik sebaiknya mengandalkan alat polling standar.
Konfigurasi klien MCP
Contoh konfigurasi klien stdio:
{ "mcpServers": { "OmeniaClaw": { "command": "OmeniaClaw", "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
OmeniaClaw mcp serve mendukung:
--urlstringURL WebSocket Gateway.
--tokenstringToken Gateway.
--token-filestringBaca token dari file.
--passwordstringKata sandi Gateway.
--password-filestringBaca kata sandi dari file.
--claude-channel-mode"auto" | "on" | "off"Mode notifikasi Claude.
-v, --verbosebooleanLog verbose pada stderr.
Keamanan dan batas kepercayaan
Bridge tidak menciptakan perutean. Bridge hanya mengekspos percakapan yang sudah diketahui Gateway cara merutekannya.
Artinya:
- allowlist pengirim, pairing, dan kepercayaan tingkat channel tetap menjadi milik konfigurasi channel OmeniaClaw yang mendasarinya
messages_sendhanya dapat membalas melalui rute tersimpan yang sudah ada- status persetujuan hanya live/dalam memori untuk sesi bridge saat ini
- auth bridge harus menggunakan kontrol token atau kata sandi Gateway yang sama dengan yang akan Anda percayai untuk klien Gateway remote lainnya
Jika suatu percakapan hilang dari conversations_list, penyebab biasanya bukan konfigurasi MCP. Penyebabnya adalah metadata rute yang hilang atau tidak lengkap dalam sesi Gateway yang mendasarinya.
Pengujian
OmeniaClaw menyediakan smoke Docker deterministik untuk bridge ini:
pnpm test:docker:mcp-channelsSmoke tersebut:
- memulai kontainer Gateway dengan seed
- memulai kontainer kedua yang memunculkan
OmeniaClaw mcp serve - memverifikasi penemuan percakapan, pembacaan transkrip, pembacaan metadata lampiran, perilaku antrean peristiwa live, dan perutean pengiriman outbound
- 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 run pengujian.
Untuk konteks pengujian yang lebih luas, lihat Pengujian.
Pemecahan masalah
Tidak ada percakapan yang dikembalikan
Biasanya berarti sesi Gateway belum dapat dirutekan. Konfirmasikan bahwa sesi yang mendasarinya memiliki channel/provider, penerima, dan metadata rute akun/thread opsional yang tersimpan.
events_poll atau events_wait melewatkan pesan lama
Sesuai perkiraan. Antrean live dimulai saat bridge tersambung. Baca riwayat transkrip lama dengan messages_read.
Notifikasi Claude tidak muncul
Periksa semua ini:
- klien menjaga sesi MCP stdio tetap terbuka
--claude-channel-modeadalahonatauauto- klien benar-benar memahami metode notifikasi khusus Claude
- pesan inbound terjadi setelah bridge tersambung
Persetujuan hilang
permissions_list_open hanya menampilkan permintaan persetujuan yang diamati saat bridge tersambung. Ini bukan API riwayat persetujuan tahan lama.
OmeniaClaw sebagai registri klien MCP
Ini adalah path OmeniaClaw mcp list, show, set, dan unset.
Perintah-perintah ini tidak mengekspos OmeniaClaw melalui MCP. Perintah ini mengelola definisi server MCP milik OmeniaClaw di bawah mcp.servers dalam konfigurasi OmeniaClaw.
Definisi yang disimpan tersebut ditujukan untuk runtime yang diluncurkan atau dikonfigurasi OmeniaClaw nanti, seperti Pi tertanam dan adaptor runtime lainnya. OmeniaClaw menyimpan definisi secara terpusat agar runtime tersebut tidak perlu menyimpan daftar server MCP duplikat miliknya sendiri.
Perilaku penting
- perintah-perintah ini hanya membaca atau menulis konfigurasi OmeniaClaw
- perintah ini tidak terhubung ke server MCP target
- perintah ini tidak memvalidasi apakah perintah, URL, atau transport jarak jauh dapat dijangkau saat ini
- adaptor runtime menentukan bentuk transport mana yang benar-benar mereka dukung pada waktu eksekusi
- Pi tertanam mengekspos alat MCP yang dikonfigurasi dalam profil alat
codingdanmessagingnormal;minimaltetap menyembunyikannya, dantools.deny: ["bundle-mcp"]menonaktifkannya secara eksplisit - runtime MCP terbundel dengan cakupan sesi dibersihkan setelah
mcp.sessionIdleTtlMsmilidetik waktu idle (default 10 menit; atur0untuk menonaktifkan) dan eksekusi tertanam sekali jalan membersihkannya pada akhir eksekusi
Adaptor runtime dapat menormalkan registri bersama ini ke bentuk yang diharapkan klien hilirnya. Misalnya, Pi tertanam menggunakan nilai transport OmeniaClaw secara langsung, sementara Claude Code dan Gemini menerima nilai type asli CLI seperti http, sse, atau stdio.
Definisi server MCP tersimpan
OmeniaClaw juga menyimpan registri server MCP ringan dalam konfigurasi untuk permukaan yang menginginkan definisi MCP yang dikelola OmeniaClaw.
Perintah:
OmeniaClaw mcp listOmeniaClaw mcp show [name]OmeniaClaw mcp set <name> <json>OmeniaClaw mcp unset <name>
Catatan:
listmengurutkan nama server.showtanpa nama mencetak objek server MCP yang dikonfigurasi secara lengkap.setmengharapkan satu nilai objek JSON pada baris perintah.- Gunakan
transport: "streamable-http"untuk server MCP Streamable HTTP.OmeniaClaw mcp setjuga menormalkantype: "http"asli CLI ke bentuk konfigurasi kanonis yang sama untuk kompatibilitas. unsetgagal jika server bernama tersebut tidak ada.
Contoh:
OmeniaClaw mcp listOmeniaClaw mcp show context7 --jsonOmeniaClaw mcp set context7 '{"command":"uvx","args":["context7-mcp"]}'OmeniaClaw mcp set docs '{"url":"https://mcp.example.com","transport":"streamable-http"}'OmeniaClaw mcp unset context7Contoh bentuk konfigurasi:
{ "mcp": { "servers": { "context7": { "command": "uvx", "args": ["context7-mcp"] }, "docs": { "url": "https://mcp.example.com", "transport": "streamable-http" } } }}Transport stdio
Meluncurkan proses turunan lokal dan berkomunikasi melalui stdin/stdout.
| Kolom | Deskripsi |
|---|---|
command |
Eksekutabel untuk 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.
| Kolom | Deskripsi |
|---|---|
url |
URL HTTP atau HTTPS server jarak jauh (wajib) |
headers |
Peta key-value opsional untuk header HTTP (misalnya token auth) |
connectionTimeoutMs |
Timeout koneksi per server dalam ms (opsional) |
Contoh:
{ "mcp": { "servers": { "remote-tools": { "url": "https://mcp.example.com", "headers": { "Authorization": "Bearer <token>" } } } }}Nilai sensitif dalam url (userinfo) dan headers disunting dalam log dan output status.
Transport Streamable HTTP
streamable-http adalah opsi transport tambahan bersama sse dan stdio. Ini menggunakan streaming HTTP untuk komunikasi dua arah dengan server MCP jarak jauh.
| Kolom | Deskripsi |
|---|---|
url |
URL HTTP atau HTTPS server jarak jauh (wajib) |
transport |
Atur ke "streamable-http" untuk memilih transport ini; jika dihilangkan, OmeniaClaw menggunakan sse |
headers |
Peta key-value opsional untuk header HTTP (misalnya token auth) |
connectionTimeoutMs |
Timeout koneksi per server dalam ms (opsional) |
Konfigurasi OmeniaClaw menggunakan transport: "streamable-http" sebagai ejaan kanonis. Nilai MCP asli CLI type: "http" diterima saat disimpan melalui OmeniaClaw mcp set dan diperbaiki oleh OmeniaClaw doctor --fix dalam konfigurasi yang sudah ada, tetapi transport adalah yang dikonsumsi langsung oleh Pi tertanam.
Contoh:
{ "mcp": { "servers": { "streaming-tools": { "url": "https://mcp.example.com/stream", "transport": "streamable-http", "connectionTimeoutMs": 10000, "headers": { "Authorization": "Bearer <token>" } } } }}Batasan saat ini
Halaman ini mendokumentasikan bridge sebagaimana dikirimkan saat ini.
Batasan saat ini:
- penemuan percakapan bergantung pada metadata rute sesi Gateway yang ada
- belum ada protokol push generik selain adaptor 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