Extentos MCP
ทางการExtentos เป็นแพลตฟอร์มพัฒนาจากหลายผู้ขายสำหรับเพิ่มความสามารถของสมาร์ทกลาสส์ให้กับแอป iOS และ Android ที่มีอยู่แล้ว การเปรียบเทียบที่ง่ายที่สุดคือ Stripe สำหรับสมาร์ทกลาสส์
คุณทำอะไรได้บ้างด้วย Extentos MCP?
-
Scaffold a smart-glasses app — ให้เอเจนต์ของคุณรัน
generateConnectionModuleเพื่อบูตสแตรปโมดูล iOS/Android พร้อมการเชื่อมต่อ Gradle/SPM สิทธิ์การใช้งาน และ manifest ในครั้งเดียว -
Get canonical code patterns — ใช้
getCodeExampleเพื่อดึงโค้ด Kotlin/Swift ฉบับเต็มสำหรับผู้ช่วยเสียง การถอดเสียงแบบเรียลไทม์ การบรรยายภาพ และความสามารถอื่นๆ ของ SDK -
Validate integration correctness — รัน
validateIntegrationเพื่อตรวจสอบ manifest สิทธิ์การใช้งาน dependencies และ bootstrap calls ก่อนการทดสอบ เพื่อจับปัญหาตั้งแต่เนิ่นๆ -
Drive simulator sessions — สร้างและดำเนินการเซสชันบนเบราว์เซอร์ด้วย
createSimulatorSessionฉีด transcripts หรือปุ่มฮาร์ดแวร์ และยืนยัน tool calls สำหรับการทดสอบ E2E ที่ขับเคลื่อนโดยเอเจนต์ -
Debug with event traces — ดึงล็อกแบบมีโครงสร้างผ่าน
getEventLogโดยกรองตามข้อผิดพลาด เสียง กล้อง จอแสดงผล หรือ AI เพื่อวินิจฉัยปัญหาในเซสชันสด -
Check production readiness — รัน
getProductionChecklistเพื่อรับการตรวจสอบก่อนเปิดตัวแบบเฉพาะบุคคล ครอบคลุมข้อมูลรับรอง สิทธิ์การใช้งาน และข้อกำหนดรายการในสโตร์
เอกสาร
MCP server
เซิร์ฟเวอร์ Extentos MCP (@extentos/mcp-server\) คือแพ็กเกจ npm ที่เอเจนต์ AI (Claude Code, Cursor, Windsurf, Cline) ติดตั้งเพียงครั้งเดียว จากนั้นจึงใช้เพื่อเพิ่มความสามารถของแว่นตาอัจฉริยะ Meta Ray-Ban ให้กับแอป iOS หรือ Android ดั้งเดิม โดยเซิร์ฟเวอร์นี้จะเปิดเผยชุดเครื่องมือแบบดีเทอร์มินิสติกที่กระชับใน 10 หมวดหมู่ ได้แก่ การค้นพบ การสร้าง การกำหนดค่าเอเจนต์ ข้อมูลประจำตัว การวิเคราะห์ คำแนะนำ การตรวจสอบความถูกต้อง การจำลองสถานการณ์ ความพร้อมสำหรับการผลิต และเอกสารประกอบ พร้อมด้วย CLI สำหรับการเชื่อมโยงบัญชี การยินยอมด้านการวัดและส่งข้อมูลทางไกล และการตรวจสอบอัปเดต นี่คือคู่มือการใช้งานของเอเจนต์
เซิร์ฟเวอร์ MCP คือวิธีที่เอเจนต์ 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 โปรดดูเส้นทางการติดตั้ง agent prompt หรือ manual JSON ข้อมูลอ้างอิงการติดตั้งฉบับเต็มที่ /docs/mcp-server/install
เครื่องมือ จำแนกตามหมวดหมู่
เซิร์ฟเวอร์เปิดเผยพื้นผิวเครื่องมือแบบดีเทอร์มินิสติก (ตรวจสอบแล้วใน mcp-server/src/tools/definitions.ts) จัดเป็น 10 หมวดหมู่ หมวดหมู่เหล่านี้คือแผนผังความคิดของเอเจนต์ เอเจนต์ที่เข้าใจว่าเครื่องมือใดอยู่ในหมวดหมู่ใดจะสามารถตัดสินใจได้ว่าเมื่อใดควรเรียกใช้ แคตตาล็อกฉบับเต็มที่เป็นปัจจุบันเสมอคือ ข้อมูลอ้างอิงเครื่องมือ ที่สร้างขึ้น
1. การค้นพบและการอ้างอิง SDK (4 เครื่องมือ)
การเรียกครั้งแรกในงานใหม่ใดๆ ราคาถูก ทั้งหมดอยู่ในเครื่อง ไม่มีผลข้างเคียง
| เครื่องมือ | ฟังก์ชัน |
|---|---|
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 |
getMigrationGuide | สำหรับแอปที่สร้างบน Meta DAT ดิบอยู่แล้ว — ส่งคืนแผนที่ที่คีย์ด้วยสัญลักษณ์ DAT ที่มีอยู่ของคุณไปยังพรีมิทีฟ Extentos ที่แทนที่ พร้อมแผนการเปลี่ยนผ่านตามลำดับ |
2. การตั้งค่าและการสร้าง
| เครื่องมือ | ฟังก์ชัน |
|---|---|
generateConnectionModule | สร้างโครงโปรเจกต์ในครั้งเดียว — บูตสแตรปโมดูล การเชื่อมต่อ Gradle/SPM ดีเพนเดนซี สิทธิ์ manifest โฟลว์สองการเรียก: การเรียกครั้งแรกโดยไม่มี placement จะส่งคืนคำถามว่าควรวาง ExtentosConnectionPage ไว้ที่ใด การเรียกครั้งที่สองพร้อมตำแหน่งที่เลือกจะส่งคืนชุดไฟล์ทั้งหมด |
getConnectionPageConfig / setConnectionPageConfig | อ่าน / เขียนการกำหนดค่าหน้าเชื่อมต่อต่อโปรเจกต์ (โทเคนธีม + การมองเห็นส่วน) ที่แดชบอร์ด/เซิร์ฟเวอร์เก็บไว้ |
regenerateConnectionPageFile / adoptConnectionPageFile | ซิงค์ extentos.connection-page.json ที่คอมมิตแล้วกับการกำหนดค่าเซิร์ฟเวอร์ — สร้างใหม่ (เซิร์ฟเวอร์→ไฟล์) หรือนำเข้า (ไฟล์→เซิร์ฟเวอร์) |
หลังจากสร้างโครงโปรเจกต์ เอเจนต์จะเขียนคลาสแฮนเดิลของตัวเองกับพรีมิทีฟ SDK ที่เปิดเผยโดย getCapabilityGuide / getCodeExample โค้ดแฮนเดิลคือพื้นผิวการเขียนของผู้ใช้ — ไม่มีขั้นตอน initSpec หรือการเติม DSL
3. การกำหนดค่าและการใช้งานเอเจนต์ (5 เครื่องมือ)
จำกัดเฉพาะบัญชี — ต้องมีบัญชีที่เชื่อมโยง และถูกจำกัดต่อโปรเจกต์โดย สิทธิ์เข้าถึง MCP (ค่าเริ่มต้นคืออ่าน+เขียน)
| เครื่องมือ | ฟังก์ชัน |
|---|---|
getAssistantConfig / setAssistantConfig | อ่านหรือเปลี่ยนการตั้งค่าผู้ช่วยที่จัดการโดยแดชบอร์ดของโปรเจกต์ — โมเดล OpenAI Realtime เสียง โมเดลหน่วยความจำ (การบีบอัด) และโหมดหน่วยความจำภายในเซสชัน set คือการอัปเดตบางส่วน ตรวจสอบแต่ละค่ากับแคตตาล็อก และสะท้อนผลกระทบด้านต้นทุนของการเปลี่ยนโมเดล |
getGatewayUsage | อ่านการใช้งานเกตเวย์ที่จัดการ + ต้นทุนที่แน่นอนของโปรเจกต์ในช่วงเวลาล่าสุด — จำนวนโทเคนและราคารายการเป็น USD จากบัญชีการเรียกเก็บเงิน แยกตามโมเดล ข้อมูลเมตาเท่านั้น ไม่มีทรานสคริปต์หรือเนื้อหา |
4. ข้อมูลประจำตัว (2 เครื่องมือ)
จำกัดเฉพาะบัญชี + จำกัดต่อโปรเจกต์ เขียนโดยไม่ต้องรู้ — ความลับไม่ผ่านเอเจนต์
| เครื่องมือ | ฟังก์ชัน |
|---|---|
getCredentialStatus | อ่านว่ามีการตั้งค่าอัตลักษณ์บิลด์ Meta DAT ของโปรเจกต์หรือไม่ — เฉพาะคำใบ้ที่ถูกปกปิด + เวลาที่อัปเดต ไม่ใช่ค่า |
setCredential | เริ่มการป้อนข้อมูลประจำตัวแบบเขียนโดยไม่ต้องรู้ — ส่งคืนลิงก์แดชบอร์ดที่เจ้าของที่ลงชื่อเข้าสู่ระบบวางความลับลงในคลังที่เข้ารหัสโดยตรง ไม่รับอาร์กิวเมนต์ความลับโดยการออกแบบ |
5. การวิเคราะห์ (1 เครื่องมือ)
| เครื่องมือ | ฟังก์ชัน |
|---|---|
getProjectAnalytics | อ่านการวิเคราะห์ การผลิต ของโปรเจกต์ — การวัดและส่งข้อมูลทางไกลแบบรวมจากการติดตั้ง App Store / Play Store ที่เผยแพร่ (เหตุการณ์ การติดตั้งที่ใช้งานอยู่ ตามเหตุการณ์ / วัน / ผู้จำหน่าย / แพลตฟอร์ม) ข้อมูลเมตาเท่านั้น จำกัดเฉพาะบัญชี ตรวจสอบความเป็นเจ้าของ จำกัดโดยสิทธิ์การวิเคราะห์ ว่างเปล่าจนกว่าแอปจะเผยแพร่และส่งเหตุการณ์ที่ยืนยันการผลิต (ใช้ getEventLog สำหรับสตรีม dev/sim แบบสด) |
6. คำแนะนำการนำไปใช้ (2 เครื่องมือ)
เครื่องมือเสริมที่เอเจนต์เรียกใช้ระหว่างการประกอบ
| เครื่องมือ | ฟังก์ชัน |
|---|---|
getVoiceCommandGuidance | วิเคราะห์วลีปลุก / คำสั่งที่เสนอสำหรับปัญหาด้าน UX (การชนกัน ความกำกวม คำที่จดจำยาก ความขัดแย้งกับคำปลุก Meta) ก่อนเชื่อมต่อเข้ากับคอนซูเมอร์ glasses.audio.transcriptions() |
getPermissions | หาสิทธิ์แพลตฟอร์มที่แน่นอน ข้อกำหนด Meta DAT และความต้องการบริการเบื้องหน้าจากรายการความสามารถ เรียกใช้เมื่อเพิ่มหรือลบพรีมิทีฟจากแฮนเดิลของคุณ |
7. การตรวจสอบความถูกต้อง (2 เครื่องมือ)
เกตความถูกต้อง เรียกใช้หลังการเปลี่ยนแปลงโครงสร้าง (ประกาศความสามารถใหม่ อัปเกรดดีเพนเดนซี แก้ไข manifest)
| เครื่องมือ | ฟังก์ชัน |
|---|---|
inspectIntegration | สแนปช็อตโปรเจกต์แบบอ่านอย่างเดียว — manifest แฮชไฟล์ที่สร้าง รายการดีเพนเดนซี การกำหนดค่าหน้าเชื่อมต่อ เรียกใช้ก่อนการแก้ไขด้วยตนเองเพื่อทำความเข้าใจสถานะปัจจุบัน |
validateIntegration | การตรวจสอบความถูกต้องทั้งโปรเจกต์ — manifest ไฟล์ที่สร้าง ดีเพนเดนซีที่ประกาศ สิทธิ์ครอบคลุมความสามารถที่ประกาศ บูตสแตรปเรียก ExtentosGlasses.create(...) เวอร์ชันทูลเชน คำแนะนำบริการเบื้องหน้าสำหรับโฟลว์การจับภาพต่อเนื่อง เกตก่อนการทดสอบ |
8. การจำลองสถานการณ์
จัดเตรียมและดำเนินการเซสชันจำลองสถานการณ์บนเบราว์เซอร์ พร้อมเครื่องมือทดสอบที่ขับเคลื่อนโดยเอเจนต์ซึ่งปิดวงจร end-to-end โดยไม่ต้องมีมนุษย์
| เครื่องมือ | ฟังก์ชัน |
|---|---|
createSimulatorSession | รับหรือสร้างเซสชันโหมดเบราว์เซอร์ที่ extentos.com/s ส่งคืนซิมที่บันทึกไว้สำหรับโปรเจกต์นี้หากมีอยู่ (status: "resumed") หรือสร้างใหม่ (status: "active") แนบแอปที่กำลังทำงานอัตโนมัติผ่านบริดจ์ในเครื่องเมื่อเข้าถึงได้ มิฉะนั้นจะปล่อยสニปเปต BuildConfig.EXTENTOS_SESSION_URL (Android) หรือเพย์โหลด extentos.session.plist (iOS) การหมุน sessionId คือ deleteSimulatorSession จากนั้นสร้าง — ไม่มีแฟลกบังคับใหม่ |
ensureSimulatorBrowser | เปิด + ยืนยันแท็บเบราว์เซอร์จำลองสถานการณ์ที่เชื่อมต่อ — เงื่อนไขเบื้องต้นสำหรับโฟลว์กล้องและการฉีด |
completeAuthLink | หลังจาก createSimulatorSession ส่งคืน status: "auth_required" (การติดตั้งแบบไม่ระบุชื่อต้องเชื่อมโยงเพื่อสร้างเซสชัน) โพลแบ็กเอนด์จนกว่าผู้ใช้จะลงทะเบียนเสร็จ จากนั้นเก็บ bearer token ไว้ที่ ~/.extentos/auth.json |
getEventLog | ดึงร่องรอยเหตุการณ์แบบมีโครงสร้างจากเซสชัน ค่ากรอง: all (ไม่มีตัวกรอง) บวกชิปเจ็ดตัว errors, voice, camera, display, ai, lifecycle, custom — หนึ่งชิปต่อเหตุการณ์ โดย errors ดูดซับความรุนแรง≥warn โดยไม่คำนึงถึงรูปแบบ บวก cursor, follow, limit สำหรับขอบเขตระดับร่องรอย เครื่องมือดีบักหลัก |
getSimulatorStatus | อ่านสถานะปัจจุบันของเซสชันสด — เฟส ฮาร์ดแวร์พร้อม บทบาทที่แนบ สตรีมความสามารถที่ใช้งานอยู่ ค่าท็อกเกิลปัจจุบัน |
injectTranscript / injectAssistantUtterance / assertToolCalled | ขับวลีปลุกหรือเทิร์นผู้ช่วย จากนั้นยืนยันว่าโมเดลเรียกใช้เครื่องมือใด — ลูป E2E ที่ขับเคลื่อนโดยเอเจนต์ ไม่ต้องใช้มนุษย์ |
injectHardwareButton | กดปุ่มจับภาพฮาร์ดแวร์ของแว่นตาจำลอง — แตะเพื่อหยุดชั่วคราว/เล่นต่อสตรีมกล้องสด กดค้างเพื่อหยุด — เพื่อให้เอเจนต์ทดสอบท่าทางความเป็นส่วนตัวของผู้สวมใส่ (และทดสอบ CaptureError.StreamPaused ที่เกิดขึ้น) โดยไม่ต้องมีมนุษย์ |
setSimVideo / setSimDevice | ป้อนวิดีโอทดสอบเข้าสู่กล้องจำลอง สลับโมเดลอุปกรณ์จำลอง (เช่น rayban_display เพื่อทดสอบเส้นทางจอแสดงผล) |
getDisplayState / injectInput | อ่านทรีจอแสดงผลที่เรนเดอร์ปัจจุบัน + ขับอินพุตจอแสดงผล (select / navigate / back) |
9. การผลิต (2 เครื่องมือ)
การตรวจสอบก่อนเผยแพร่
| เครื่องมือ | ฟังก์ชัน |
|---|---|
getProductionChecklist | รายการตรวจสอบความพร้อมสำหรับการผลิตเฉพาะบุคคลตามความสามารถที่ประกาศ + ชื่อแฮนเดิล — การเชื่อมต่อข้อมูลประจำตัว การตรวจสอบสิทธิ์ ข้อกำหนดบริการเบื้องหน้า (เมื่อใช้การจับภาพต่อเนื่อง) การลบ URL จำลองสถานการณ์จากบิลด์เผยแพร่ ความพร้อมของรายการในสโตร์ |
getCredentialGuide | การตั้งค่าข้อมูลประจำตัวทีละขั้นตอนสำหรับผู้ให้บริการ 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 ก่อน หัวข้อที่เกี่ยวข้องอื่นๆ: voice_integration, agent_e2e_testing, managed_gateway, conversation_memory, display บวกชุดแนวคิดที่เสถียร — getting_started, custom_handlers (เอกสารการประกอบ SDK มาตรฐาน), simulator_browser_mode, simulator_session_lifecycle, event_log_schema, toggles, library_api, permissions, multi_platform_projects ID หัวข้อมีความเสถียร อินพุตเครื่องมือสดเป็นข้อมูลที่เชื่อถือได้ |
ข้อมูลอ้างอิงเครื่องมือฉบับเต็มพร้อมสคีมาอินพุต รูปแบบการตอบสนอง และตัวอย่างการใช้งาน: /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
สำหรับการวนซ้ำ: แก้ไขโค้ดแฮนเดิล → สร้างใหม่ + ติดตั้งใหม่ → แอปแนบกับเซสชันจำลองสถานการณ์เดียวกันโดยอัตโนมัติ (ไม่ต้องสร้างใหม่ URL มีความเสถียร) ก่อนเผยแพร่: getProductionChecklist และ getCredentialGuide
การกำหนดค่า
เซิร์ฟเวอร์ MCP อ่านตัวแปรสภาพแวดล้อมเหล่านี้ (ตรวจสอบแล้วใน mcp-server/src/):
| ตัวแปร | ค่าเริ่มต้น | ฟังก์ชัน |
|---|---|---|
EXTENTOS_BACKEND_URL | แบ็กเอนด์การผลิต | แทนที่ URL แบ็กเอนด์ (tools/util/backendClient.ts) สำหรับการพัฒนา Extentos ในเครื่อง |
EXTENTOS_CONFIG_DIR | ~/.extentos | แทนที่ไดเรกทอรีการกำหนดค่า/การตรวจสอบสิทธิ์ (telemetry/consent.ts) |
EXTENTOS_TELEMETRY | ไม่ได้ตั้งค่า (ค่าเริ่มต้นการยินยอม) | ตั้งเป็น 0 เพื่อปฏิเสธการวัดและส่งข้อมูลทางไกลโดยไม่ต้องรันคำสั่งยินยอม CLI |
EXTENTOS_NO_AUTO_OPEN | ไม่ได้ตั้งค่า | ตั้งเป็น 1 เพื่อปิดการเปิดเบราว์เซอร์อัตโนมัติเมื่อสร้างเซสชันจำลองสถานการณ์ (มีประโยชน์ในสภาพแวดล้อมแบบ headless) |
ข้อมูลอ้างอิงการกำหนดค่าฉบับเต็ม: /docs/mcp-server/configuration
คำสั่งย่อย CLI
Running npx @extentos/mcp-server@latest โดยไม่มีอาร์กิวเมนต์จะเริ่มเซิร์ฟเวอร์ MCP ผ่าน stdio (เส้นทางที่เอเจนต์ใช้) เมื่อมีซับคอมมานด์ จะทำหน้าที่เป็น CLI สำหรับนักพัฒนา:
| ซับคอมมานด์ | ฟังก์ชัน |
|---|---|
login | เชื่อมโยงการติดตั้งนี้กับบัญชี Extentos ผ่าน device-code flow (เชิงรุก — มีประโยชน์ก่อนเซสชันซิมูเลเตอร์ครั้งแรก หรือหลัง logout เพื่อเชื่อมโยงใหม่) |
logout | ล้าง ~/.extentos/auth.json การติดตั้งจะกลับสู่ระดับไม่ระบุชื่อ; การเรียกเซสชันซิมูเลเตอร์ครั้งถัดไปจะเรียก device-code flow ใหม่ |
whoami | ยังไม่ได้ใช้งาน (Phase-0 stub) จะพิมพ์ installId, accountId (หากเชื่อมโยง), ระดับสิทธิ์, วันหมดอายุการรับรอง |
setup | ตรวจสอบสภาพแวดล้อมบิลด์ในเครื่องล่วงหน้า — ตรวจสอบ GitHub Packages PAT (read:packages) ที่ Meta DAT artifacts ต้องการ สำหรับแอปที่พึ่งพา com.extentos:glasses-meta พร้อมข้อกำหนดเบื้องต้นอื่น ๆ |
accept-privacy | บันทึกความยินยอมด้านความเป็นส่วนตัว (เปิดใช้งานการอัปโหลดเทเลเมทรี) |
decline-privacy | บันทึกการปฏิเสธความเป็นส่วนตัว (ปิดใช้งานการอัปโหลดเทเลเมทรี) |
status | พิมพ์สถานะความยินยอม, ID การติดตั้ง, บัญชีที่เชื่อมโยง, เวอร์ชัน MCP/ไลบรารี |
update | ตรวจสอบการอัปเดตเซิร์ฟเวอร์ MCP (ไม่มีการทำงานบนการติดตั้ง npx @latest) |
เอกสารอ้างอิง CLI ฉบับเต็ม: /docs/mcp-server/auth
โมเดลการรับรองความถูกต้อง
เซิร์ฟเวอร์ MCP เป็นแบบ ไม่ระบุชื่อเป็นหลัก การค้นพบ, คู่มือความสามารถ, ตัวอย่างโค้ด, การตรวจสอบความถูกต้อง, การค้นหาเอกสาร, การจำลองบนอุปกรณ์ และการทดสอบฮาร์ดแวร์จริงทั้งหมดทำงานได้โดยไม่ต้องเข้าสู่ระบบ สามสิ่งที่เชื่อมโยงบัญชีฟรี: การสร้างเซสชันซิมูเลเตอร์เบราว์เซอร์ (createSimulatorSession, HTTP 402), ขั้นตอนการสร้างโครง generateConnectionModule (สร้างคีย์โปรเจกต์ที่ผูกกับบัญชีของคุณ — ใช้ device-code flow แบบ 402 เดียวกัน; การเรียกครั้งแรกที่ให้ข้อมูลเป็นแบบไม่ระบุชื่อ) และเครื่องมือโปรเจกต์ที่จำกัดขอบเขตบัญชี (การกำหนดค่าผู้ช่วย, ข้อมูลประจำตัว, การเขียนหน้าคอนเนกชัน, การวิเคราะห์ — HTTP 401)
device-code flow: การเรียกที่ถูกจำกัดครั้งแรกจะคืนค่า status: "auth_required" พร้อม URL สำหรับตรวจสอบ เอเจนต์เรียก completeAuthLink เพื่อสอบถามแบ็กเอนด์; นักพัฒนาลงทะเบียนด้วยบัญชีฟรีที่ใช้อีเมลเท่านั้นที่ URL (Google หรืออีเมล + รหัสผ่าน ไม่มีการชำระเงิน); แบ็กเอนด์ออกโทเค็น; การเรียกเครื่องมือเดิมจะลองใหม่โดยอัตโนมัติ หลังเชื่อมโยง เซสชันซิมูเลเตอร์จะไม่จำกัด
เครื่องมือ, การสร้างโค้ด, การตรวจสอบความถูกต้อง, SDK และซิมูเลเตอร์เบราว์เซอร์ของ Extentos ฟรี — ไม่มีค่าธรรมเนียมต่อที่นั่งหรือค่าสมัครสมาชิกเพื่อสร้างและเผยแพร่ พื้นผิวเดียวที่วัดการใช้งานคือ เกตเวย์ AI ที่มีการจัดการ เบื้องหลังผู้ช่วยเสียง 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
บริดจ์ในเครื่อง — วนรอบ dev loop แบบผูกอัตโนมัติ
เมื่อเซิร์ฟเวอร์เริ่มทำงาน จะเปิดตัวฟัง HTTP 127.0.0.1:31337/whoami (mcp-server/src/localBridge.ts) ไลบรารี Extentos บนแอปของนักพัฒนาจะตรวจสอบเอนด์พอยต์นี้ที่รันไทม์เพื่อเรียนรู้ installId ของโฮสต์ MCP ผลลัพธ์: ทุกการเรียก createSimulatorSession จากเอเจนต์จะแนบแอปที่กำลังรันเข้ากับเซสชันใหม่โดยอัตโนมัติ — ไม่ต้องบิลด์ใหม่ ไม่ต้องวาง 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) ที่นักพัฒนาวาง จากนั้นบิลด์แอปใหม่ครั้งเดียว ดูไม่หรูเท่า 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+
- ก่อนเวอร์ชัน 1.0 — API อาจเปลี่ยนแปลงระหว่างเวอร์ชันย่อยจนกว่าวนทดสอบฮาร์ดแวร์จะเสร็จสิ้น ปักหมุดเวอร์ชันที่แน่นอนหากคุณต้องการความสามารถในการทำซ้ำข้ามเซสชัน
เกี่ยวข้อง
- เริ่มต้นอย่างรวดเร็วกับเอเจนต์ AI — ติดตั้งเซิร์ฟเวอร์และเดินผ่าน dev loop จริง
- เอกสารอ้างอิงเครื่องมือ — API ต่อเครื่องมือฉบับเต็ม
- การกำหนดค่า — ตัวแปรสภาพแวดล้อม, ไฟล์กำหนดค่า, การตั้งค่าตอนติดตั้ง
- การรับรองความถูกต้อง — device-code flow, การเชื่อมโยงบัญชี, คำสั่ง CLI การรับรองความถูกต้อง
- เอเจนต์ที่รองรับ — คำแนะนำการติดตั้งต่อโฮสต์
- สถาปัตยกรรม — เซิร์ฟเวอร์ MCP เข้ากับระบบ Extentos ที่กว้างขึ้นอย่างไร
- การจำลองการขนส่งเทียบกับแอป — ซิมูเลเตอร์ที่ MCP เป็นตัวกลางทำอะไรจริง
[
Alibaba Qianwen AI Glasses
Alibaba Qianwen AI Glasses สำหรับนักพัฒนาบุคคลที่สาม — แพลตฟอร์ม Skill ของ 千问AI硬件开放平台, การรวมเครื่องมือ MCP, โมเดลแอป, การกระจาย, ความสามารถและ AI และตำแหน่งในภูมิทัศน์สมาร์ทกลาสปี 2026
](https://extentos.com/docs/ecosystem/platforms/alibaba-qianwen)[
ติดตั้งเซิร์ฟเวอร์ MCP
วิธีติดตั้งเซิร์ฟเวอร์ Extentos MCP (@extentos/mcp-server) ในเอเจนต์เขียนโค้ด AI ที่เข้ากันได้กับ MCP ใด ๆ — Claude Code, Cursor, Windsurf, Cline และอื่น ๆ คำสั่งติดตั้งต่อโฮสต์, ตำแหน่งไฟล์กำหนดค่า, สนิปเป็ต JSON ที่คัดลอกได้, ขั้นตอนรีสตาร์ทและตรวจสอบ, การปักหมุดเวอร์ชัน, การอัปเดต, การแก้ไขข้อผิดพลาดทั่วไป และคำแนะนำการถอนการติดตั้ง เส้นทางการติดตั้งที่ยืนยันแล้วสำหรับแต่ละโฮสต์ที่รองรับ