Extentos MCP
ทางการExtentos is a multi-vendor development platform for adding smart-glasses capabilities to existing iOS and Android apps. The simplest analogy is Stripe for smart glasses
คุณทำอะไรได้บ้างด้วย Extentos MCP?
- Discover platform capabilities and SDK features — เรียก
getPlatformInfoเพื่อดึงแคตตาล็อกความสามารถทั้งหมดของ Meta Ray-Ban, เวอร์ชันของไลบรารี และระดับผู้ให้บริการ ก่อนเริ่มเขียนโค้ดใดๆ - Retrieve canonical code examples and usage guides — ใช้
getCodeExampleและgetCapabilityGuideเพื่อรับรูปแบบ Kotlin/Swift สำหรับผู้ช่วยเสียง, การโต้ตอบกับจอแสดงผล, การถอดความ และพื้นฐานอื่นๆ ของ SDK - Scaffold a complete connection module — รัน
generateConnectionModuleเพื่อบูตสแตรปการเชื่อมต่อ Gradle/SPM, สิทธิ์, รายการใน manifest และหน้าเชื่อมต่อ Extentos เข้าสู่โปรเจกต์เนทีฟ - Validate project correctness before testing — เรียก
validateIntegrationเพื่อตรวจสอบการประกาศใน manifest, เวอร์ชันของ dependencies, ความครอบคลุมของสิทธิ์ และการเรียกบูตสแตรปเทียบกับความสามารถที่ประกาศไว้ - Provision and drive simulator sessions — เรียก
createSimulatorSessionเพื่อสร้างเซสชันบนเบราว์เซอร์ จากนั้นใช้injectTranscript,assertToolCalledและgetEventLogเพื่อรันการทดสอบแบบ end-to-end ที่ขับเคลื่อนโดยเอเจนต์ โดยไม่ต้องมีมนุษย์ - Audit production readiness — รัน
getProductionChecklistและgetCredentialGuideเพื่อตรวจสอบการเชื่อมต่อข้อมูลประจำตัว, ข้อกำหนดของ foreground-service และความพร้อมในการเผยแพร่บนร้านค้า ก่อนจัดส่ง
เอกสาร
MCP server
MCP server
Extentos MCP server (@extentos/mcp-server\) เป็นแพ็คเกจ npm ที่เอเจนต์ AI (Claude Code, Cursor, Windsurf, Cline) ติดตั้งเพียงครั้งเดียว แล้วใช้เพื่อเพิ่มความสามารถของแว่นตาอัจฉริยะ Meta Ray-Ban ให้กับแอป iOS หรือ Android แบบเนทีฟ โดยเปิดเผยชุดเครื่องมือที่กำหนดตายตัวใน 10 หมวดหมู่ — การค้นพบ, การสร้าง, การกำหนดค่าเอเจนต์, ข้อมูลประจำตัว, การวิเคราะห์, คำแนะนำ, การตรวจสอบความถูกต้อง, การจำลอง, ความพร้อมสำหรับการใช้งานจริง และเอกสารประกอบ — พร้อมด้วย CLI สำหรับการเชื่อมโยงบัญชี, การยินยอมทางเทเลเมทรี และการตรวจสอบอัปเดต นี่คือคู่มือการใช้งานสำหรับเอเจนต์
MCP server คือวิธีที่เอเจนต์ AI — Claude Code, Cursor, Windsurf, Cline หรือโฮสต์ใดๆ ที่เข้ากันได้กับ Model Context Protocol — ใช้งาน Extentos เอเจนต์เรียกใช้เครื่องมือที่กำหนดตายตัว; เซิร์ฟเวอร์จะเตรียมเอเจนต์ให้ทราบถึงความสามารถที่แว่นตาเปิดเผย, ส่งคืนรูปแบบโค้ด SDK มาตรฐานใน Kotlin และ Swift, สร้างโครงร่างโปรเจกต์, เป็นนายหน้าให้กับเซสชันซิมูเลเตอร์ และสอบถามร่องรอยการดีบัก ตัวเซิร์ฟเวอร์เอง ไม่มีเครื่องมือวางแผน — เอเจนต์เป็นนักวางแผนที่ดีกว่ากลุ่ม regex เครื่องมือคือพื้นฐานที่มีชนิดข้อมูลซึ่งเอเจนต์ประกอบตามลำดับ
หน้านี้คือหน้าเริ่มต้นของส่วน — อธิบายว่าเซิร์ฟเวอร์คืออะไร, ภาพรวมเครื่องมือ, โฟลว์มาตรฐานที่ขับเคลื่อนโดยเอเจนต์, ปุ่มปรับแต่งค่า, CLI และวิธีการทำงานของโมเดลการตรวจสอบสิทธิ์ หน้าย่อยจะครอบคลุมแต่ละหัวข้อในเชิงลึก
การติดตั้ง
claude mcp add extentos -- npx -y @extentos/mcp-server@latest
สำหรับโฮสต์ที่ไม่ใช่ Claude Code ให้ดูที่พรอมต์ของเอเจนต์หรือเส้นทางการติดตั้ง JSON ด้วยตนเอง คู่มือการติดตั้งฉบับเต็มอยู่ที่ /docs/mcp-server/install
เครื่องมือ แยกตามหมวดหมู่
เซิร์ฟเวอร์เปิดเผยพื้นผิวเครื่องมือที่กำหนดตายตัว (ตรวจสอบแล้วใน mcp-server/src/tools/definitions.ts) ซึ่งจัดเป็น 10 หมวดหมู่ หมวดหมู่คือแผนที่ความคิดของเอเจนต์; เอเจนต์ที่เข้าใจว่าเครื่องมือใดอยู่ในหมวดหมู่ใดสามารถตัดสินใจได้ว่าจะเรียกใช้เมื่อใด แคตตาล็อกฉบับเต็มที่เป็นปัจจุบันเสมอคือเอกสารอ้างอิงเครื่องมือที่สร้างขึ้น
1. การค้นพบและการอ้างอิง SDK (3 เครื่องมือ)
การเรียกครั้งแรกในทุกงานใหม่ ต้นทุนต่ำ, ทำงานภายในทั้งหมด, ไม่มีผลข้างเคียง
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| getPlatformInfo | ส่งคืนแคตตาล็อกแพลตฟอร์มแบบคงที่ — เวอร์ชันไลบรารี, รายการความสามารถของ SDK ที่แว่นตาเปิดเผย, ระดับต่อผู้จำหน่าย เป็นการเรียกแรกที่ถูกต้องเสมอ |
| getCapabilityGuide | การใช้งานขั้นต่ำต่อฟีเจอร์ใน Kotlin + Swift — รูปแบบการเรียก, อาร์กิวเมนต์การกำหนดค่า, ข้อควรระวัง ใช้คู่กับ getPlatformInfo (ซึ่งระบุชื่อฟีเจอร์) เพื่อบอกเอเจนต์ว่าจะเรียกใช้แต่ละอย่างอย่างไร |
| getCodeExample | องค์ประกอบมาตรฐานฉบับเต็มในทั้งสองภาษา เริ่มต้นด้วย assistant_agent_loop (โฟลว์ผู้ช่วยเสียงมาตรฐานระยะที่ 4) และ agent_driven_e2e_full_loop (การทดสอบ E2E ที่ขับเคลื่อนโดยเอเจนต์) ยังครอบคลุมถึง 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 และ video_frames_ml ถอดแบบจากสิ่งเหล่านี้เมื่อเขียนโค้ดแฮนด์เลอร์ รายการแจกแจงฉบับเต็มสร้างขึ้นที่ /docs/reference/mcp-tools |
2. การตั้งค่าและการสร้าง
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| generateConnectionModule | สร้างโครงร่างครั้งเดียว — โมดูลบูตสแตรป, การเชื่อมต่อ Gradle/SPM, การพึ่งพา, สิทธิ์, แมนิเฟสต์ โฟลว์การเรียกสองครั้ง: การเรียกครั้งแรกโดยไม่ระบุตำแหน่งจะส่งคืนคำถามว่าควรวาง ExtentosConnectionPage ไว้ที่ใด; การเรียกครั้งที่สองพร้อมตำแหน่งที่เลือกจะส่งคืนชุดไฟล์เต็ม |
| getConnectionPageConfig / setConnectionPageConfig | อ่าน / เขียนการกำหนดค่า connection-page ต่อโปรเจกต์ (โทเค็นการตกแต่ง + การมองเห็นส่วน) ที่แดชบอร์ด/เซิร์ฟเวอร์เก็บไว้ |
| regenerateConnectionPageFile / adoptConnectionPageFile | ซิงค์ไฟล์ extentos.connection-page.json ที่คอมมิตกับการกำหนดค่าเซิร์ฟเวอร์ — regenerate (เซิร์ฟเวอร์→ไฟล์) หรือ adopt (ไฟล์→เซิร์ฟเวอร์) |
หลังจากการสร้างโครงร่าง เอเจนต์จะเขียนคลาสแฮนด์เลอร์ของตนเองโดยอิงกับพื้นฐาน SDK ที่เปิดเผยโดย getCapabilityGuide / getCodeExample โค้ดแฮนด์เลอร์คือพื้นผิวการเขียนของลูกค้า — ไม่มีขั้นตอน initSpec หรือการเติมข้อมูล DSL
3. การกำหนดค่าและการใช้งานเอเจนต์ (3 เครื่องมือ)
กำหนดขอบเขตตามบัญชี — ต้องการบัญชีที่เชื่อมโยงและถูกควบคุมต่อโปรเจกต์โดยการให้สิทธิ์การเข้าถึง MCP (ค่าเริ่มต้นคือ Read+Write)
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| getAssistantConfig / setAssistantConfig | อ่านหรือเปลี่ยนแปลงการตั้งค่าผู้ช่วยที่จัดการโดยแดชบอร์ดของโปรเจกต์ — โมเดล OpenAI Realtime, เสียง, โมเดลหน่วยความจำ (การบีบอัด) และโหมดหน่วยความจำภายในเซสชัน set เป็นการอัปเดตบางส่วน ตรวจสอบแต่ละค่ากับแคตตาล็อก และสะท้อนผลกระทบด้านต้นทุนของการเปลี่ยนโมเดล |
| getGatewayUsage | อ่านการใช้งานเกตเวย์ที่มีการจัดการ + ต้นทุนที่แน่นอนของโปรเจกต์ในช่วงเวลาล่าสุด — จำนวนโทเค็นและราคาตามรายการเป็น USD จากบัญชีแยกประเภทการเรียกเก็บเงิน แยกตามโมเดล เฉพาะเมทาดาทา ไม่มีบันทึกการสนทนาหรือเนื้อหา |
4. ข้อมูลประจำตัว (2 เครื่องมือ)
กำหนดขอบเขตตามบัญชี + ควบคุมต่อโปรเจกต์ เขียนโดยไม่รู้ — ความลับไม่เคยผ่านเอเจนต์
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| getCredentialStatus | อ่านว่าคีย์ OpenAI API (BYOK) และข้อมูลประจำตัวบิลด์ Meta DAT ของโปรเจกต์ถูกตั้งค่าไว้หรือไม่ — เฉพาะคำใบ้ที่ถูกปิดบัง + อัปเดตเมื่อ, ไม่มีทางเป็นค่า |
| setCredential | เริ่มการป้อนข้อมูลประจำตัวแบบเขียนโดยไม่รู้ — ส่งคืนลิงก์แดชบอร์ดที่เจ้าของที่ลงชื่อเข้าใช้วางความลับลงในวอลต์ที่เข้ารหัสโดยตรง โดยการออกแบบไม่รับอาร์กิวเมนต์ที่เป็นความลับ |
5. การวิเคราะห์ (1 เครื่องมือ)
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| getProjectAnalytics | อ่านการวิเคราะห์ การใช้งานจริง ของโปรเจกต์ — เทเลเมทรีรวมจากการติดตั้งที่เผยแพร่ใน App Store / Play Store (เหตุการณ์, การติดตั้งที่ใช้งานอยู่, แยกตามเหตุการณ์ / วัน / ผู้จำหน่าย / แพลตฟอร์ม) เฉพาะเมทาดาทา, กำหนดขอบเขตตามบัญชี, ตรวจสอบความเป็นเจ้าของ, ควบคุมโดยการให้สิทธิ์ Analytics ว่างเปล่าจนกว่าแอปจะเผยแพร่และส่งเหตุการณ์ที่รับรองการใช้งานจริง (ใช้ getEventLog สำหรับสตรีมการพัฒนา/ซิมแบบสด) |
6. คำแนะนำการนำไปใช้ (2 เครื่องมือ)
เครื่องมือภารกิจรองที่เอเจนต์เรียกใช้ระหว่างการประกอบ
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| getVoiceCommandGuidance | วิเคราะห์วลีปลุก / คำสั่งที่เสนอสำหรับปัญหา UX (การชนกัน, ความคลุมเครือ, คำที่จดจำยาก, ข้อขัดแย้งกับคำปลุกของ Meta) ก่อนเชื่อมต่อเข้ากับผู้บริโภค glasses.audio.transcriptions() |
| getPermissions | หาสิทธิ์ของแพลตฟอร์มที่แน่นอน, ข้อกำหนด Meta DAT และความต้องการบริการ foreground จากรายการความสามารถ รันเมื่อเพิ่มหรือลบพื้นฐานจากแฮนด์เลอร์ของคุณ |
7. การตรวจสอบความถูกต้อง (2 เครื่องมือ)
ประตูความถูกต้อง รันหลังจากการเปลี่ยนแปลงโครงสร้าง (ประกาศความสามารถใหม่, อัปเกรดการพึ่งพา, แก้ไขแมนิเฟสต์)
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| inspectIntegration | สแนปชอตโปรเจกต์แบบอ่านอย่างเดียว — manifest, แฮชของไฟล์ที่สร้าง, รายการ dependencies, การกำหนดค่าหน้าเชื่อมต่อ รันก่อนการแก้ไขด้วยตนเองเพื่อทำความเข้าใจสถานะปัจจุบัน |
| validateIntegration | การตรวจสอบความถูกต้องของโปรเจกต์ทั้งหมด — manifest, ไฟล์ที่สร้าง, dependency ที่ประกาศ, สิทธิ์ครอบคลุมความสามารถที่ประกาศ, bootstrap เรียก ExtentosGlasses.create(...), เวอร์ชัน toolchain, คำแนะนำ foreground-service สำหรับโฟลว์การจับภาพต่อเนื่อง ด่านตรวจสอบก่อนการทดสอบ |
8. การจำลองสถานการณ์
จัดเตรียมและดำเนินการเซสชันจำลองสถานการณ์บนเบราว์เซอร์ รวมถึงเครื่องมือทดสอบที่ขับเคลื่อนโดยเอเจนต์ซึ่งปิดวงจรแบบ end-to-end โดยไม่ต้องใช้มนุษย์
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| createSimulatorSession | รับหรือสร้างเซสชันโหมดเบราว์เซอร์ที่ extentos.com/s ส่งคืนซิมที่บันทึกไว้สำหรับโปรเจกต์นี้หากมีอยู่ (สถานะ: "resumed") หรือสร้างใหม่ (สถานะ: "active") แนบแอปที่กำลังทำงานโดยอัตโนมัติผ่าน local bridge เมื่อสามารถเข้าถึงได้ มิฉะนั้นจะส่ง snippet BuildConfig.EXTENTOS_SESSION_URL (Android) หรือ payload extentos.session.plist (iOS) ส่ง resetFresh: true เพื่อหมุน sessionId สำหรับการเริ่มต้นใหม่ทั้งหมด |
| ensureSimulatorBrowser | เปิด + ยืนยันแท็บเบราว์เซอร์จำลองสถานการณ์ที่เชื่อมต่อ — เงื่อนไขเบื้องต้นสำหรับโฟลว์กล้องและการแทรก |
| completeAuthLink | หลังจาก createSimulatorSession ส่งคืนสถานะ: "auth_required" (การติดตั้งแบบไม่ระบุตัวตนจำเป็นต้องเชื่อมโยงเพื่อสร้างเซสชัน) จะโพล backend จนกว่าผู้ใช้จะลงทะเบียนเสร็จ จากนั้นเก็บ bearer token ไว้ที่ ~/.extentos/auth.json |
| getEventLog | ดึงข้อมูลการติดตามเหตุการณ์ที่มีโครงสร้างจากเซสชัน ค่าการกรอง: all (ไม่กรอง) บวกกับเจ็ดชิป errors, voice, camera, display, ai, lifecycle, custom — หนึ่งชิปต่อเหตุการณ์ โดย errors จะดูดซับ severity≥warn โดยไม่คำนึงถึง modality รวมถึง cursor, follow, limit สำหรับขอบเขตระดับการติดตาม เครื่องมือดีบักหลัก |
| getSimulatorStatus | อ่านสถานะปัจจุบันของเซสชันสด — เฟส, ความพร้อมของฮาร์ดแวร์, บทบาทที่แนบ, สตรีมความสามารถที่ทำงานอยู่, ค่าการสลับปัจจุบัน |
| injectTranscript / injectAssistantUtterance / assertToolCalled | ขับเคลื่อนวลีปลุกหรือเทิร์นของผู้ช่วย จากนั้นยืนยันว่าโมเดลเรียกเครื่องมือใด — วงจร E2E ที่ขับเคลื่อนโดยเอเจนต์ ไม่ต้องใช้มนุษย์ |
| setSimVideo / setSimDevice | ส่งวิดีโอทดสอบไปยังกล้องจำลอง; สลับรุ่นอุปกรณ์จำลอง (เช่น rayban_display เพื่อทดสอบเส้นทางการแสดงผล) |
| getDisplayState / injectInput | อ่านแผนผังการแสดงผลที่กำลังเรนเดอร์ + ขับเคลื่อนอินพุตการแสดงผล (เลือก / นำทาง / ย้อนกลับ) |
9. การใช้งานจริง (2 เครื่องมือ)
การตรวจสอบก่อนการเผยแพร่
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| getProductionChecklist | รายการตรวจสอบความพร้อมสำหรับการใช้งานจริงเฉพาะบุคคลตามความสามารถที่ประกาศ + ชื่อ handler — การเชื่อมต่อ credential, การตรวจสอบสิทธิ์, ข้อกำหนด foreground-service (เมื่อใช้การจับภาพต่อเนื่อง), การลบ simulator-URL ออกจากบิลด์ release, ความพร้อมของรายการร้านค้า |
| getCredentialGuide | การตั้งค่า credential ทีละขั้นตอนสำหรับผู้ให้บริการ AI สำหรับการใช้งานจริง — anthropic, openai, google_cloud_vision, google_translate, google_gemini, deepl, azure_cognitive, aws_bedrock, huggingface, หรือ custom — รวมถึงการลงทะเบียน Meta DAT |
10. เอกสารประกอบ & การค้นหา (1 เครื่องมือ)
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
| searchDocs | ค้นหาเอกสารประกอบ Extentos ตามหัวข้อหรือคำสำคัญ สำหรับผู้ช่วยเสียงอ่าน assistant_runtime ก่อน; conversation_runtime เป็นรันไทม์ Phase-3 ที่เลิกใช้แล้ว (ใช้สำหรับอ้างอิงการย้ายข้อมูลเท่านั้น) หัวข้ออื่นๆ ที่เกี่ยวข้อง: voice_integration, agent_e2e_testing, managed_gateway, conversation_memory, display รวมถึงชุดแนวคิดที่เสถียร — getting_started, custom_handlers (เอกสารประกอบ SDK-composition มาตรฐาน), simulator_browser_mode, event_log_schema, toggles, library_api, permissions, multi_platform_projects รหัสหัวข้อมีความเสถียร; อินพุตเครื่องมือสดเป็นข้อมูลที่เชื่อถือได้ |
ข้อมูลอ้างอิงแบบเต็มต่อเครื่องมือพร้อม schema อินพุต รูปร่างการตอบสนอง และตัวอย่างการทำงาน: /docs/mcp-server/tools
โฟลว์มาตรฐานที่ขับเคลื่อนโดยเอเจนต์
ในโปรเจกต์ใหม่ เอเจนต์จะเรียกใช้เครื่องมือตามลำดับนี้:
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
สำหรับการวนซ้ำ: แก้ไขโค้ด handler → rebuild + reinstall → แอปจะแนบตัวเองเข้ากับเซสชันจำลองสถานการณ์เดิมโดยอัตโนมัติ (ไม่ต้องสร้างใหม่ URL มีความเสถียร) ก่อนการเผยแพร่: getProductionChecklist และ getCredentialGuide
การกำหนดค่า
เซิร์ฟเวอร์ MCP อ่านตัวแปรสภาพแวดล้อมเหล่านี้ (ตรวจสอบแล้วใน mcp-server/src/):
| ตัวแปร | ค่าเริ่มต้น | สิ่งที่ทำ |
|---|---|---|
| EXTENTOS_BACKEND_URL | แบ็กเอนด์สำหรับการใช้งานจริง | แทนที่ URL แบ็กเอนด์ (tools/util/backendClient.ts) สำหรับการพัฒนา Extentos เองในเครื่อง |
| EXTENTOS_CONFIG_DIR | ~/.extentos | แทนที่ไดเรกทอรี config/auth (telemetry/consent.ts) |
| EXTENTOS_TELEMETRY | ไม่ได้ตั้งค่า (ค่าเริ่มต้นความยินยอม) | ตั้งค่าเป็น 0 เพื่อปฏิเสธ telemetry โดยไม่ต้องรันคำสั่ง CLI consent |
| EXTENTOS_NO_AUTO_OPEN | ไม่ได้ตั้งค่า | ตั้งค่าเป็น 1 เพื่อปิดใช้งานการเปิดเบราว์เซอร์อัตโนมัติเมื่อสร้างเซสชันจำลองสถานการณ์ (มีประโยชน์ในสภาพแวดล้อมแบบ headless) |
ข้อมูลอ้างอิงการกำหนดค่าแบบเต็ม: /docs/mcp-server/configuration
คำสั่งย่อย CLI
การรัน npx @extentos/mcp-server@latest โดยไม่มีอาร์กิวเมนต์จะเริ่มเซิร์ฟเวอร์ MCP ผ่าน stdio (เส้นทางที่เอเจนต์ใช้) เมื่อใช้กับคำสั่งย่อย จะทำหน้าที่เป็น CLI สำหรับนักพัฒนา:
| คำสั่งย่อย | หน้าที่ |
|---|---|
| login | เชื่อมโยงการติดตั้งนี้กับบัญชี Extentos ผ่านขั้นตอน device-code (เชิงรุก — มีประโยชน์ก่อนเซสชันซิมูเลเตอร์ครั้งแรก หรือหลังจากออกจากระบบเพื่อเชื่อมโยงใหม่) |
| logout | ล้างไฟล์ ~/.extentos/auth.json การติดตั้งจะกลับไปยังระดับ anonymous; การเรียกเซสชันซิมูเลเตอร์ครั้งถัดไปจะกระตุ้นขั้นตอน device-code อีกครั้ง |
| whoami | ยังไม่ได้ดำเนินการ (โครงร่าง Phase-0) จะพิมพ์ installId, accountId (หากเชื่อมโยง), ระดับ, วันหมดอายุการตรวจสอบสิทธิ์ |
| setup | ตรวจสอบสภาพแวดล้อมการ build ในเครื่องล่วงหน้า — ตรวจสอบ GitHub Packages PAT (read:packages) ที่อาร์ติแฟกต์ Meta DAT แบบส่งผ่านต้องการ รวมถึงข้อกำหนดเบื้องต้นอื่นๆ |
| accept-privacy | บันทึกความยินยอมด้านความเป็นส่วนตัว (เปิดใช้งานการอัปโหลดเทเลเมทรี) |
| decline-privacy | บันทึกการปฏิเสธความเป็นส่วนตัว (ปิดใช้งานการอัปโหลดเทเลเมทรี) |
| status | พิมพ์สถานะความยินยอม, รหัสการติดตั้ง, บัญชีที่เชื่อมโยง, เวอร์ชัน MCP/ไลบรารี |
| update | ตรวจสอบการอัปเดตเซิร์ฟเวอร์ MCP (ไม่มีผลกับการติดตั้งแบบ npx @latest) |
ข้อมูลอ้างอิง CLI ฉบับเต็ม: /docs/mcp-server/auth
โมเดลการตรวจสอบสิทธิ์
เซิร์ฟเวอร์ MCP เป็นแบบ anonymous-first การค้นพบ, คู่มือความสามารถ, ตัวอย่างโค้ด, การตรวจสอบความถูกต้อง, การค้นหาเอกสาร, การจำลองบนอุปกรณ์, และการทดสอบฮาร์ดแวร์จริง ทั้งหมดทำงานได้โดยไม่ต้องลงชื่อเข้าใช้เลย มีสามสิ่งที่เชื่อมโยงบัญชีฟรี: การสร้างเซสชัน browser-simulator (createSimulatorSession, HTTP 402), ขั้นตอน scaffold generateConnectionModule (มันสร้างคีย์โปรเจกต์ที่ผูกกับบัญชีของคุณ — ใช้ขั้นตอน device-code 402 เดียวกัน; การเรียกครั้งแรกเพื่อข้อมูลนั้นเป็นแบบไม่ระบุตัวตน), และเครื่องมือโปรเจกต์ที่กำหนดขอบเขตตามบัญชี (การกำหนดค่า assistant, ข้อมูลประจำตัว, การเขียนหน้า connection-page, การวิเคราะห์ — HTTP 401)
ขั้นตอน device-code: การเรียกที่มีการควบคุมครั้งแรกจะส่งคืน status: "auth_required" พร้อม URL การยืนยัน เอเจนต์เรียก completeAuthLink เพื่อสำรวจแบ็กเอนด์; นักพัฒนาลงทะเบียนด้วยบัญชีอีเมลฟรีเท่านั้นที่ URL (Google หรืออีเมล + รหัสผ่าน, ไม่ต้องชำระเงิน); แบ็กเอนด์ออกโทเค็น; การเรียกเครื่องมือเดิมจะลองใหม่โดยอัตโนมัติ หลังจากเชื่อมโยงแล้ว เซสชันซิมูเลเตอร์จะไม่จำกัด
เครื่องมือ, การสร้างโค้ด, การตรวจสอบความถูกต้อง, SDK และ browser simulator ของ Extentos นั้นฟรี — ไม่มีค่าธรรมเนียมต่อที่นั่งหรือค่าสมัครสมาชิกเพื่อสร้างและจัดส่ง สิ่งเดียวที่วัดปริมาณการใช้งานคือ managed AI gateway ที่อยู่เบื้องหลังผู้ช่วยเสียง Phase-4 โมเดลการตรวจสอบสิทธิ์ฉบับเต็ม: /docs/mcp-server/auth; ราคา: /docs/resources/pricing
ความเป็นส่วนตัวและเทเลเมทรี
ในการรันครั้งแรก เซิร์ฟเวอร์ MCP จะแทรกประกาศความเป็นส่วนตัวแบบครั้งเดียวลงในการตอบกลับ เทเลเมทรีไม่ระบุตัวตน (ติดแท็กด้วย installId, ไม่มีซอร์สโค้ดหรือข้อมูลส่วนบุคคล) และถูกยกเลิกโดยการดำเนินการต่อตามค่าเริ่มต้น — รูปแบบเดียวกับ Vercel CLI, Astro, Vite ปฏิเสธได้ตลอดเวลา:
npx @extentos/mcp-server@latest decline-privacy
# or
EXTENTOS_TELEMETRY=0 (env var, persistent for the shell)
เนื้อหาประกาศความเป็นส่วนตัวอยู่ใน mcp-server/src/index.ts (ค่าคงที่ PRIVACY_NOTICE) ประกาศจะแสดงครั้งเดียวต่อการติดตั้งผ่าน claimFirstPrivacyNotice — ไม่ซ้ำอีก
โฮสต์ MCP ที่เข้ากันได้
ตรวจสอบแล้วว่าทำงานกับ:
- Claude Code — เป้าหมายหลัก ติดตั้งบรรทัดเดียวผ่าน
claude mcp add - Cursor — การกำหนดค่า JSON ใน
~/.cursor/mcp.json - Windsurf — การกำหนดค่า JSON ใน
~/.codeium/windsurf/mcp_config.json - Cline — การกำหนดค่า JSON ในการตั้งค่า MCP ของ Cline
- โฮสต์ที่เข้ากันได้กับ MCP ใดๆ — วางบล็อก JSON
mcpServers.extentosมาตรฐานลงไป
เซิร์ฟเวอร์ MCP สื่อสารด้วยโปรโตคอล MCP มาตรฐานผ่าน stdio (@modelcontextprotocol/sdk); ไม่มีเส้นทางโค้ดเฉพาะโฮสต์บนฝั่งเซิร์ฟเวอร์ ขั้นตอนการติดตั้งต่อโฮสต์: /docs/mcp-server/agents
บริดจ์ภายใน — วงจรการพัฒนาแบบ auto-bind
เมื่อเซิร์ฟเวอร์เริ่มทำงาน มันจะเปิดตัวรับฟัง HTTP 127.0.0.1:31337/whoami (mcp-server/src/localBridge.ts) ไลบรารี Extentos บนแอปของนักพัฒนาจะตรวจสอบปลายทางนี้ ณ รันไทม์เพื่อเรียนรู้ installId ของ MCP โฮสต์ของมัน ผลลัพธ์: ทุกการเรียก createSimulatorSession จากเอเจนต์จะแนบแอปที่กำลังรันเข้ากับเซสชันใหม่โดยอัตโนมัติ — ไม่ต้อง build ใหม่, ไม่ต้องวาง URL
เส้นทางการเข้าถึง:
- Android emulator:
http://10.0.2.2:31337/whoami(นามแฝง NAT แบบ host-loopback) - iOS Simulator:
http://localhost:31337/whoami(ใช้เนมสเปซเครือข่ายโฮสต์ร่วมกัน) - โทรศัพท์ Android จริงผ่าน USB:
adb reverse tcp:31337 tcp:31337หนึ่งครั้ง, จากนั้นlocalhost:31337จากอุปกรณ์ - โทรศัพท์มือถือหรือเอเจนต์ที่โฮสต์บนคลาวด์: การตรวจสอบหมดเวลา เอเจนต์ใช้เส้นทาง URL-bake แทน —
createSimulatorSessionส่งคืนตัวอย่างBuildConfig.EXTENTOS_SESSION_URL(Android) หรือเพย์โหลดextentos.session.plist(iOS) ที่นักพัฒนาวางลงไป, จากนั้น build แอปใหม่หนึ่งครั้ง ดูหรูหราน้อยกว่า auto-bind แต่ทำงานได้กับทุกโทโพโลยี
ผูกกับ 127.0.0.1 เท่านั้น installId ไม่ใช่ความลับ — มันเป็นค่าเดียวกับที่ MCP ส่งไปยัง api.extentos.com ในทุกการเรียกเครื่องมือ ไม่จำเป็นต้องมีการตรวจสอบสิทธิ์ในชั้นนี้
หากพอร์ต 31337 ถูกใช้งานอยู่ (พบได้ยาก; มีอีกอินสแตนซ์ MCP กำลังทำงานอยู่แล้ว), การเริ่มต้นจะบันทึกคำเตือนและดำเนินการต่อ Auto-bind จะล้มเหลวอย่างเงียบๆ สำหรับเซสชันนั้น; นักพัฒนาใช้เส้นทาง URL-bake จนกว่าพอร์ตจะว่าง
สถานะ
- แพ็คเกจ:
@extentos/mcp-serverบน npm (สัญญาอนุญาต MIT) - เอนจิน: Node.js 20+
- Pre-1.0 — API อาจเปลี่ยนแปลงระหว่างเวอร์ชันย่อยจนกว่าวงจรการทดสอบฮาร์ดแวร์จะปิดลง ตรึงไว้ที่เวอร์ชันที่แน่นอนหากคุณต้องการความสามารถในการทำซ้ำข้ามเซสชัน
เกี่ยวข้อง
- เริ่มต้นอย่างรวดเร็วด้วยเอเจนต์ AI — ติดตั้งเซิร์ฟเวอร์และดำเนินการผ่านวงจรการพัฒนาจริง
- ข้อมูลอ้างอิงเครื่องมือ — API แบบเต็มต่อเครื่องมือ
- การกำหนดค่า — ตัวแปรสภาพแวดล้อม, ไฟล์กำหนดค่า, การตั้งค่า ณ เวลาติดตั้ง
- การตรวจสอบสิทธิ์ — ขั้นตอน device-code, การเชื่อมโยงบัญชี, คำสั่ง CLI การตรวจสอบสิทธิ์
- เอเจนต์ที่รองรับ — คำแนะนำการติดตั้งต่อโฮสต์
- สถาปัตยกรรม — วิธีที่เซิร์ฟเวอร์ MCP เข้ากับระบบ Extentos โดยรวม
- Transport vs app simulation — สิ่งที่ซิมูเลเตอร์ที่ MCP เป็นนายหน้าทำจริงๆ
เกี่ยวข้อง
เริ่มต้นอย่างรวดเร็วด้วยเอเจนต์ AI
ติดตั้งเซิร์ฟเวอร์ Extentos MCP และให้เอเจนต์ AI ของคุณ scaffold ความสามารถของแว่นตาอัจฉริยะ Meta Ray-Ban ลงในแอป iOS หรือ Android แบบเนทีฟ เริ่มต้นได้ฟรี
สถาปัตยกรรม
วิธีที่ Extentos ประกอบเข้าด้วยกัน — เอเจนต์ AI, เซิร์ฟเวอร์ MCP, SDK แบบเนทีฟ Kotlin/Swift, การขนส่งสามแบบ (Meta DAT, browser sim, local in-memory sim), และแบ็กเอนด์
Transport vs app simulation
Mock Device Kit ของ Meta จำลองชั้นการขนส่ง; Extentos จำลองชั้นแอปพลิเคชัน — เสียง, การจับภาพ, และประสบการณ์การสวมใส่ ทั้งสองอย่างมีความสำคัญ
ติดตั้งเซิร์ฟเวอร์ MCP
วิธีติดตั้งเซิร์ฟเวอร์ Extentos MCP (@extentos/mcp-server) ในเอเจนต์การเขียนโค้ด AI ที่เข้ากันได้กับ MCP ใดๆ — Claude Code, Cursor, Windsurf, Cline และอื่นๆ คำสั่งการติดตั้งต่อโฮสต์, ตำแหน่งไฟล์กำหนดค่า, ตัวอย่าง JSON ที่คัดลอกและวางได้, ขั้นตอนการรีสตาร์ทและตรวจสอบ, การตรึงเวอร์ชัน, การอัปเดต, การแก้ไขปัญหาข้อผิดพลาดทั่วไป, และคำแนะนำการถอนการติดตั้ง เส้นทางการติดตั้งที่ตรวจสอบแล้วสำหรับแต่ละโฮสต์ที่รองรับ
ข้อมูลอ้างอิงเครื่องมือ
เซิร์ฟเวอร์ Extentos MCP เปิดเผยชุดเครื่องมือที่กำหนดตายตัวในหมวดหมู่ที่กำหนดตายตัว — การค้นพบ + ข้อมูลอ้างอิง SDK, การสร้าง, คำแนะนำ, การตรวจสอบความถูกต้อง, การจำลอง, การผลิต, การกำหนดค่าเอเจนต์, และการค้นหา ข้อมูลอ้างอิงต่อเครื่องมือครอบคลุมพารามิเตอร์อินพุต, รูปร่างการตอบสนอง, เมื่อใดควรเรียกแต่ละเครื่องมือ, และตัวอย่างที่ใช้งานได้จริง ตรวจสอบจากคำจำกัดความเครื่องมือจริงและการดำเนินการตัวจัดการใน @extentos/mcp-server
การกำหนดค่า
กำหนดค่า @extentos/mcp-server — ตัวแปรสภาพแวดล้อม, ไฟล์สถานะ ~/.extentos (รหัสการติดตั้ง, การตรวจสอบสิทธิ์, ความยินยอม), และผู้จำหน่ายเริ่มต้น
การตรวจสอบสิทธิ์
วิธีที่การตรวจสอบสิทธิ์ Extentos ทำงาน เกือบทุกอย่างทำงานโดยไม่มีบัญชี; เฉพาะ browser simulator เท่านั้นที่ต้องลงชื่อเข้าใช้ ผ่านขั้นตอน OAuth 2.0 device-code ไม่มีการชำระเงิน
เอเจนต์ที่รองรับ
ความแตกต่างต่อโฮสต์สำหรับเอเจนต์การเขียนโค้ด AI ที่รัน Extentos — Claude Code, Cursor, Windsurf, Cline, สิ่งที่มีมาใน IDE ขอบเขต, การเข้าถึงข้ามแพลตฟอร์ม, การรองรับ MCP
แว่นตาอัจฉริยะ Apple
แว่นตาอัจฉริยะ Apple สำหรับนักพัฒนาบุคคลที่สาม — การเข้าถึง SDK, โมเดลแอป, การจัดจำหน่าย, ความสามารถ & AI, และตำแหน่งในภูมิทัศน์แว่นตาอัจฉริยะปี 2026
ติดตั้งเซิร์ฟเวอร์ MCP