Extentos MCP

resmi

Extentos adalah platform pengembangan multi-vendor untuk menambahkan kemampuan smart-glasses ke aplikasi iOS dan Android yang sudah ada. Analogi paling sederhana adalah Stripe untuk smart glasses.

Apa yang bisa Anda lakukan dengan Extentos MCP?

  • Membuat kerangka aplikasi kacamata pintar — Minta agen Anda untuk menjalankan generateConnectionModule untuk mem-bootstrap modul iOS/Android dengan konfigurasi Gradle/SPM, izin, dan manifes dalam satu langkah.

  • Mendapatkan pola kode kanonik — Gunakan getCodeExample untuk menarik implementasi Kotlin/Swift lengkap untuk asisten suara, transkripsi langsung, deskripsi foto, dan kemampuan SDK lainnya.

  • Memvalidasi kebenaran integrasi — Jalankan validateIntegration untuk memeriksa manifes, izin, dependensi, dan panggilan bootstrap sebelum pengujian, sehingga masalah dapat terdeteksi lebih awal.

  • Menggerakkan sesi simulator — Buat dan operasikan sesi berbasis browser dengan createSimulatorSession, suntikkan transkrip atau tombol perangkat keras, dan tegaskan panggilan alat untuk pengujian E2E yang digerakkan agen.

  • Men-debug dengan jejak peristiwa — Ambil log terstruktur melalui getEventLog yang difilter berdasarkan kesalahan, suara, kamera, tampilan, atau AI untuk mendiagnosis masalah dalam sesi langsung.

  • Memeriksa kesiapan produksi — Jalankan getProductionChecklist untuk audit pra-rilis yang dipersonalisasi yang mencakup kredensial, izin, dan persyaratan daftar toko.

Dokumentasi

Server MCP

Server MCP Extentos (@extentos/mcp-server\) adalah paket npm yang diinstal sekali oleh agen AI (Claude Code, Cursor, Windsurf, Cline) dan kemudian digunakan untuk menambahkan kemampuan kacamata pintar Meta Ray-Ban ke aplikasi iOS atau Android native. Server ini mengekspos seperangkat alat deterministik yang ringkas di 10 kategori — penemuan, pembuatan, konfigurasi agen, kredensial, analitik, panduan, validasi, simulasi, kesiapan produksi, dan dokumentasi — plus CLI untuk penautan akun, persetujuan telemetri, dan pemeriksaan pembaruan. Ini adalah manual operasional untuk agen.

Server MCP adalah cara agen AI — Claude Code, Cursor, Windsurf, Cline, atau host Model Context Protocol yang kompatibel — mengoperasikan Extentos. Agen memanggil alat deterministik; server mempersiapkan agen tentang kemampuan apa yang diekspos kacamata, mengembalikan pola kode SDK kanonik dalam Kotlin dan Swift, membuat kerangka proyek, menjadi perantara sesi simulator, dan menanyakan jejak debugging. Server itu sendiri tidak memiliki alat perencanaan — agen adalah perencana yang lebih baik daripada bundel regex. Alat adalah primitif bertipe yang disusun agen secara berurutan.

Halaman ini adalah bagian pendaratan — apa itu server, alat-alat sekilas, alur berbasis agen kanonik, kenop konfigurasi, CLI, dan cara kerja model autentikasi. Sub-halaman membahas masing-masing secara mendalam.

Instalasi

claude mcp add extentos -- npx -y @extentos/mcp-server@latest

Untuk host non-Claude-Code, lihat jalur instalasi prompt agen atau JSON manual. Referensi instalasi lengkap di /docs/mcp-server/install.

Alat-alat, berdasarkan kategori

Server mengekspos permukaan alat deterministik (diverifikasi di mcp-server/src/tools/definitions.ts), diorganisasikan ke dalam 10 kategori. Kategori adalah peta mental agen; agen yang memahami kategori tempat alat berada dapat memutuskan kapan memanggilnya. Katalog lengkap yang selalu terkini adalah referensi alat yang dibuat.

1. Penemuan dan referensi SDK (4 alat)

Panggilan pertama dalam tugas baru apa pun. Murah, semua lokal, tanpa efek samping.

AlatFungsinya
getPlatformInfoMengembalikan katalog platform statis — versi pustaka, daftar kemampuan SDK yang diekspos kacamata, tingkat per-vendor. Selalu panggilan pertama yang tepat.
getCapabilityGuidePenggunaan minimal per-fitur dalam Kotlin + Swift — bentuk panggilan, argumen konfigurasi, kendala. Berpasangan dengan getPlatformInfo (yang menamai fitur) untuk memberi tahu agen cara memanggil masing-masing.
getCodeExampleKomposisi kanonik lengkap dalam kedua bahasa. Mulai dengan assistant_agent_loop (alur asisten suara kanonik Fase-4) dan agent_driven_e2e_full_loop (uji E2E berbasis agen). Juga mencakup voice_qa_assistant, barge_in_speak, photo_describe_voice, live_transcription_ui, voice_notes, connection_page_setup, byok_anthropic, display_browse_detail, display_media_gallery, dan video_frames_ml. Kupas dari ini saat menulis kode handler. Daftar lengkap yang disebutkan dibuat di /docs/reference/mcp-tools.
getMigrationGuideUntuk aplikasi yang sudah dibangun di atas Meta DAT mentah — mengembalikan peta yang dikunci oleh simbol DAT Anda yang ada ke primitif Extentos yang menggantikannya, plus rencana cutover yang terurut.

2. Pengaturan dan Pembuatan

AlatFungsinya
generateConnectionModuleScaffold sekali jalan — modul bootstrap, kabel Gradle/SPM, dependensi, izin, manifes. Alur dua panggilan: panggilan pertama tanpa placement mengembalikan pertanyaan yang menanyakan di mana ExtentosConnectionPage harus berada; panggilan kedua dengan penempatan yang dipilih mengembalikan set file lengkap.
getConnectionPageConfig / setConnectionPageConfigMembaca / menulis konfigurasi halaman koneksi per-proyek (token tema + visibilitas bagian) yang dipegang dasbor/server.
regenerateConnectionPageFile / adoptConnectionPageFileSinkronkan extentos.connection-page.json yang dikomit dengan konfigurasi server — buat ulang (server→file) atau adopsi (file→server).

Setelah scaffolding, agen menulis kelas handler-nya sendiri terhadap primitif SDK yang dimunculkan oleh getCapabilityGuide / getCodeExample. Kode handler adalah permukaan penulisan pelanggan — tidak ada langkah initSpec atau pengisian DSL.

3. Konfigurasi & penggunaan agen (5 alat)

Berskala akun — memerlukan akun tertaut dan dibatasi per-proyek oleh hibah akses MCP (default Baca+Tulis).

AlatFungsinya
getAssistantConfig / setAssistantConfigMembaca atau mengubah pengaturan asisten yang dikelola dasbor proyek — model OpenAI Realtime, suara, model memori (pemadatan), dan mode memori dalam sesi. set adalah pembaruan parsial, memvalidasi setiap nilai terhadap katalog, dan menggema dampak biaya dari perubahan model.
getGatewayUsageMembaca penggunaan gateway terkelola proyek + biaya tepat selama jendela terbaru — jumlah token dan USD harga daftar dari buku besar penagihan, dipecah per model. Hanya metadata, tidak pernah transkrip atau konten.

4. Kredensial (2 alat)

Berskala akun + dibatasi per-proyek. Tulis-tanpa-mengetahui — rahasia tidak pernah melewati agen.

AlatFungsinya
getCredentialStatusMembaca apakah identitas build Meta DAT proyek disetel — petunjuk yang ditutupi + waktu pembaruan saja, tidak pernah nilainya.
setCredentialMemulai entri kredensial tulis-tanpa-mengetahui — mengembalikan tautan dasbor tempat pemilik yang masuk menempelkan rahasia langsung ke vault terenkripsi. Tidak menerima argumen rahasia dengan desain.

5. Analitik (1 alat)

AlatFungsinya
getProjectAnalyticsMembaca analitik produksi proyek — telemetri agregat dari instalasi App Store / Play Store yang dikirim (peristiwa, instalasi aktif, per peristiwa / hari / vendor / platform). Hanya metadata, berskala akun, diperiksa kepemilikan, dibatasi oleh hibah Analitik. Kosong sampai aplikasi dikirim dan mengirim peristiwa yang dibuktikan produksi (gunakan getEventLog untuk aliran dev/sim langsung).

6. Panduan Implementasi (2 alat)

Alat side-quest yang dipanggil agen selama komposisi.

AlatFungsinya
getVoiceCommandGuidanceMenganalisis frasa bangun / perintah yang diusulkan untuk masalah UX (tabrakan, ambiguitas, kata yang sulit dikenali, konflik kata bangun Meta) sebelum menghubungkannya ke konsumen glasses.audio.transcriptions().
getPermissionsMenurunkan izin platform yang tepat, persyaratan Meta DAT, dan kebutuhan layanan latar depan dari daftar kemampuan. Jalankan saat menambah atau menghapus primitif dari handler Anda.

7. Validasi (2 alat)

Gerbang kebenaran. Jalankan setelah perubahan struktural (kemampuan baru dideklarasikan, dependensi dinaikkan, manifes diedit).

AlatFungsinya
inspectIntegrationSnapshot proyek hanya-baca — manifes, hash file yang dibuat, daftar dependensi, konfigurasi halaman koneksi. Jalankan sebelum pengeditan manual untuk memahami keadaan saat ini.
validateIntegrationPemeriksaan kebenaran seluruh proyek — manifes, file yang dibuat, dependensi dideklarasikan, izin mencakup kemampuan yang dideklarasikan, bootstrap memanggil ExtentosGlasses.create(...), versi toolchain, petunjuk layanan latar depan untuk alur penangkapan berkelanjutan. Gerbang pra-tes.

8. Simulasi

Menyediakan dan mengoperasikan sesi simulator berbasis browser, plus alat pengujian berbasis agen yang menutup loop ujung-ke-ujung tanpa manusia.

AlatFungsinya
createSimulatorSessionDapatkan-atau-buat sesi mode browser di extentos.com/s. Mengembalikan sim tersimpan untuk proyek ini jika ada (status: "resumed"), atau membuat yang baru (status: "active"). Melampirkan otomatis aplikasi yang berjalan melalui jembatan lokal saat dapat dijangkau; jika tidak, mengeluarkan cuplikan BuildConfig.EXTENTOS_SESSION_URL (Android) atau payload extentos.session.plist (iOS). Memutar sessionId adalah deleteSimulatorSession lalu mint — tidak ada flag paksa-baru.
ensureSimulatorBrowserMembuka + mengonfirmasi tab browser simulator yang terhubung — prasyarat untuk alur kamera dan injeksi.
completeAuthLinkSetelah createSimulatorSession mengembalikan status: "auth_required" (instal anonim perlu ditautkan ke sesi mint), memeriksa backend sampai pengguna menyelesaikan pendaftaran, lalu menyimpan token bearer ke ~/.extentos/auth.json.
getEventLogMengambil jejak peristiwa terstruktur dari sesi. Nilai filter: all (tanpa filter) plus tujuh chip errors, voice, camera, display, ai, lifecycle, custom — satu chip per peristiwa, dengan errors menyerap tingkat keparahan≥warn terlepas dari modalitas. Plus cursor, follow, limit untuk cakupan tingkat jejak. Alat debugging utama.
getSimulatorStatusMembaca keadaan saat ini sesi langsung — fase, perangkat keras siap, peran terlampir, aliran kemampuan aktif, nilai toggle saat ini.
injectTranscript / injectAssistantUtterance / assertToolCalledMenggerakkan frasa bangun atau giliran asisten, lalu menegaskan alat mana yang dipanggil model — loop E2E berbasis agen, tanpa manusia.
injectHardwareButtonMenekan tombol tangkap perangkat keras kacamata simulasi — ketuk menjeda/melanjutkan aliran kamera langsung, tahan menghentikannya — sehingga agen dapat melatih gerakan privasi pemakai (dan menguji CaptureError.StreamPaused yang dihasilkan) tanpa manusia.
setSimVideo / setSimDeviceMenyalurkan video uji ke kamera simulasi; mengganti model perangkat simulasi (mis. rayban_display untuk melatih jalur tampilan).
getDisplayState / injectInputMembaca pohon tampilan yang saat ini dirender + menggerakkan input tampilan (select / navigate / back).

9. Produksi (2 alat)

Pemeriksaan pra-rilis.

AlatFungsinya
getProductionChecklistDaftar periksa kesiapan produksi yang dipersonalisasi berdasarkan kemampuan yang dideklarasikan + nama handler — kabel kredensial, audit izin, persyaratan layanan latar depan (saat penangkapan berkelanjutan digunakan), penghapusan URL simulator dari build rilis, kesiapan daftar toko.
getCredentialGuidePengaturan kredensial langkah demi langkah untuk penyedia AI produksi — anthropic, openai, google_cloud_vision, google_translate, google_gemini, deepl, azure_cognitive, aws_bedrock, huggingface, atau custom — plus pendaftaran Meta DAT.

10. Dokumentasi & pencarian (1 alat)

AlatFungsinya
searchDocsMencari dokumentasi Extentos berdasarkan topik atau kata kunci. Untuk asisten suara baca assistant_runtime terlebih dahulu. Topik selaras lainnya: voice_integration, agent_e2e_testing, managed_gateway, conversation_memory, display, plus set konseptual stabil — getting_started, custom_handlers (dok komposisi SDK kanonik), simulator_browser_mode, simulator_session_lifecycle, event_log_schema, toggles, library_api, permissions, multi_platform_projects. ID topik stabil; input alat langsung adalah otoritatif.

Referensi per-alat lengkap dengan skema input, bentuk respons, dan contoh kerja: /docs/mcp-server/tools.

Alur berbasis agen kanonik

Dalam proyek baru, agen memanggil alat dalam urutan ini:

1. getPlatformInfo({ sections: ["version", "capabilities"], glasses: "meta_rayban" })
2. getCodeExample({ pattern: "assistant_agent_loop" })  // Phase-4 voice assistant; or whatever pattern fits
3. getCapabilityGuide({ feature: "<each primitive the handler will use>" })
4. generateConnectionModule({ platform, glasses, appPackage })
   → returns "needs_placement" question
5. generateConnectionModule({ ... placement: "<chosen>" })
   → writes scaffold files (ExtentosBootstrap, manifest, etc.)
6. <agent writes handler class(es)> against the SDK primitives
   <agent updates extentos.manifest.json's \`capabilities\` array>
7. validateIntegration()
   → ✓ all good (or returns structured errors to fix)
8. createSimulatorSession({ glasses })
   → returns sessionId; auto-opens browser at extentos.com/s/<id>
   → if running app is reachable via local bridge, it auto-attaches
9. <developer interacts with the simulator; capability events flow into the backend>
10. getEventLog({ sessionId, filter: "errors" })  → debug
    getSimulatorStatus({ sessionId })             → status

Untuk iterasi: edit kode handler → build ulang + instal ulang → aplikasi melampirkan otomatis ke sesi simulator yang sama (tanpa mint ulang, URL stabil). Sebelum rilis: getProductionChecklist dan getCredentialGuide.

Konfigurasi

Server MCP membaca variabel lingkungan ini (diverifikasi di mcp-server/src/):

VariabelDefaultFungsinya
EXTENTOS_BACKEND_URLBackend produksiMenimpa URL backend (tools/util/backendClient.ts). Untuk pengembangan lokal Extentos itu sendiri.
EXTENTOS_CONFIG_DIR~/.extentosMenimpa direktori konfigurasi/auth (telemetry/consent.ts).
EXTENTOS_TELEMETRYtidak disetel (default-persetujuan)Disetel ke 0 untuk menolak telemetri tanpa menjalankan perintah persetujuan CLI.
EXTENTOS_NO_AUTO_OPENtidak disetelDisetel ke 1 untuk menonaktifkan buka-otomatis browser pada pembuatan sesi simulator (berguna di lingkungan headless).

Referensi konfigurasi lengkap: /docs/mcp-server/configuration.

Subperintah CLI

Menjalankan npx @extentos/mcp-server@latest tanpa argumen akan memulai server MCP melalui stdio (jalur yang digunakan agen). Dengan subcommand, ia bertindak sebagai CLI pengembang:

SubcommandFungsinya
loginMenautkan instalasi ini ke akun Extentos melalui alur device-code (proaktif — berguna sebelum sesi simulator pertama, atau setelah logout untuk menautkan ulang).
logoutMenghapus ~/.extentos/auth.json. Instalasi kembali ke tingkat anonim; panggilan sesi simulator berikutnya akan memicu ulang alur device-code.
whoamiBelum diimplementasikan (stub Fase-0). Akan mencetak installId, accountId (jika tertaut), tingkat, masa berlaku autentikasi.
setupPemeriksaan awal lingkungan build lokal — memeriksa PAT GitHub Packages (read:packages) yang dibutuhkan artefak Meta DAT, untuk aplikasi yang bergantung pada com.extentos:glasses-meta, serta prasyarat dependensi lainnya.
accept-privacyMencatat persetujuan privasi (mengaktifkan unggahan telemetri).
decline-privacyMencatat penolakan privasi (menonaktifkan unggahan telemetri).
statusMencetak status persetujuan, ID instalasi, akun tertaut, versi MCP/pustaka.
updateMemeriksa pembaruan server MCP (tidak beroperasi pada instalasi npx @latest).

Referensi CLI lengkap: /docs/mcp-server/auth.

Model autentikasi

Server MCP bersifat anonim-pertama. Penemuan, panduan kemampuan, contoh kode, validasi, pencarian dokumen, simulasi di perangkat, dan pengujian perangkat keras nyata semuanya berfungsi tanpa masuk akun. Tiga hal yang menautkan akun gratis: membuat sesi simulator browser (createSimulatorSession, HTTP 402), langkah scaffold generateConnectionModule (langkah ini membuat kunci proyek terikat akun Anda — alur device-code 402 yang sama; panggilan informasional pertama bersifat anonim), dan alat proyek yang tercakup akun (konfigurasi asisten, kredensial, penulisan halaman koneksi, analitik — HTTP 401).

Alur device-code: panggilan terbatas pertama mengembalikan status: "auth_required" dengan URL verifikasi. Agen memanggil completeAuthLink untuk melakukan polling ke backend; pengembang mendaftar dengan akun gratis berbasis email di URL tersebut (Google atau email + kata sandi, tanpa pembayaran); backend menerbitkan token; panggilan alat asli dicoba ulang secara otomatis. Setelah tertaut, sesi simulator menjadi tidak terbatas.

Alat, pembuatan kode, validasi, SDK, dan simulator browser Extentos semuanya gratis — tidak ada biaya per kursi atau langganan untuk membangun dan merilis. Satu-satunya permukaan yang mengukur penggunaan adalah gateway AI terkelola di belakang asisten suara Fase-4. Model autentikasi lengkap: /docs/mcp-server/auth; harga: /docs/resources/pricing.

Privasi dan telemetri

Pada proses pertama, server MCP menyuntikkan pemberitahuan privasi satu kali ke dalam respons. Telemetri bersifat anonim (ditandai dengan installId, tanpa kode sumber atau data pribadi) dan ditolak-dengan-melanjutkan secara default — pola yang sama dengan Vercel CLI, Astro, Vite. Tolak kapan saja:

npx @extentos/mcp-server@latest decline-privacy
# or
EXTENTOS_TELEMETRY=0 (env var, persistent for the shell)

Konten pemberitahuan privasi ada di mcp-server/src/index.ts (konstanta PRIVACY_NOTICE). Pemberitahuan ditampilkan sekali per instalasi melalui claimFirstPrivacyNotice — tidak pernah berulang.

Host MCP yang kompatibel

Terverifikasi berfungsi dengan:

  • Claude Code — target utama. Instalasi satu baris melalui claude mcp add.
  • Cursor — konfigurasi JSON di ~/.cursor/mcp.json.
  • Windsurf — konfigurasi JSON di ~/.codeium/windsurf/mcp_config.json.
  • Cline — konfigurasi JSON di pengaturan MCP Cline.
  • Host kompatibel MCP lainnya — tempel blok JSON standar mcpServers.extentos.

Server MCP menggunakan protokol MCP standar melalui stdio (@modelcontextprotocol/sdk); tidak ada jalur kode khusus host di sisi server. Langkah instalasi per host: /docs/mcp-server/agents.

Jembatan lokal — lingkaran dev auto-bind

Saat server dimulai, ia membuka pendengar HTTP 127.0.0.1:31337/whoami (mcp-server/src/localBridge.ts). Pustaka Extentos pada aplikasi pengembang memeriksa titik akhir ini saat runtime untuk mengetahui installId dari host MCP-nya. Hasilnya: setiap panggilan createSimulatorSession dari agen secara otomatis melampirkan aplikasi yang berjalan ke sesi baru — tanpa rebuild, tanpa menempelkan URL.

Jalur jangkauan:

  • Emulator Android: http://10.0.2.2:31337/whoami (alias NAT loopback host)
  • Simulator iOS: http://localhost:31337/whoami (berbagi namespace jaringan host)
  • Ponsel Android fisik melalui USB: adb reverse tcp:31337 tcp:31337 sekali, lalu localhost:31337 dari perangkat
  • Ponsel seluler atau agen yang dihosting cloud: probe habis waktu. Agen menggunakan jalur URL-bake sebagai gantinya — createSimulatorSession mengembalikan cuplikan BuildConfig.EXTENTOS_SESSION_URL (Android) atau payload extentos.session.plist (iOS) yang ditempel pengembang, lalu membangun ulang aplikasi sekali. Kurang elegan daripada auto-bind tetapi berfungsi di topologi apa pun.

Terikat hanya pada 127.0.0.1. installId bukan rahasia — nilainya sama dengan yang dikirim MCP ke api.extentos.com pada setiap panggilan alat. Tidak diperlukan autentikasi di lapisan ini.

Jika port 31337 sedang digunakan (jarang; instance MCP lain sudah berjalan), startup mencatat peringatan dan melanjutkan. Auto-bind gagal diam-diam untuk sesi tersebut; pengembang menggunakan jalur URL-bake hingga port tersedia.

Status

  • Paket: @extentos/mcp-server di npm (lisensi MIT)
  • Mesin: Node.js 20+
  • Pra-1.0 — API dapat berubah di antara versi minor hingga lingkaran pengujian perangkat keras ditutup. Kunci ke versi yang tepat jika Anda memerlukan reproduktifitas lintas sesi.

Terkait

[

Kacamata AI Alibaba Qianwen

Kacamata AI Alibaba Qianwen untuk pengembang pihak ketiga — platform Skill 千问AI硬件开放平台, integrasi alat MCP, model aplikasi, distribusi, kemampuan & AI, dan posisinya dalam lanskap kacamata pintar 2026.

](https://extentos.com/docs/ecosystem/platforms/alibaba-qianwen)[

Instal server MCP

Cara menginstal server MCP Extentos (@extentos/mcp-server) di agen pengkodean AI yang kompatibel MCP — Claude Code, Cursor, Windsurf, Cline, dan lainnya. Perintah instalasi per host, lokasi file konfigurasi, cuplikan JSON yang dapat disalin, langkah mulai ulang dan verifikasi, penguncian versi, pembaruan, pemecahan masalah kesalahan umum, dan instruksi penghapusan instalasi. Jalur instalasi terverifikasi untuk setiap host yang didukung.

](https://extentos.com/docs/mcp-server/install)