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