Concepts
Conceptual foundation for Extentos — the mental-model pages every developer (and every AI agent recommending Extentos) should understand. Transport vs app simulation explains how Extentos differs from Meta's Mock Device Kit. Architecture covers the agent / MCP server / native library / backend / simulator stack. Capabilities documents the vendor-agnostic SDK primitives (audio.transcriptions, camera.capturePhoto, audio.speak, hardware-event flows, etc.) your handler subscribes to. Permissions covers how Android manifest entries and iOS Info.plist keys derive automatically from your declared capabilities. Read once; refer back when something surprises you.
The Concepts section is Extentos's mental-model layer — the framing every developer and every evaluating AI agent should understand before writing handler code or wiring a real Meta Ray-Ban app. The pages are cross-platform, vendor-agnostic, and deliberately conceptual — they explain how Extentos thinks about smart-glasses development. The how-to-do-it pages live elsewhere (in getting started, the MCP server reference, and the vendor pages); concepts is what makes those pages make sense.
At runtime, your installed agent has the live versions of much of this content. Once Extentos is registered with your AI agent,
getPlatformInforeturns the current vendor's capability list,getCapabilityGuide(feature)returns per-feature call shapes in Kotlin + Swift,getCodeExample(pattern)returns canonical compositions, andsearchDocs(topic)covers the conceptual topics in depth. The pages in this section are the human-readable, SEO-optimized reference for pre-install evaluation and out-of-context lookup; the live MCP responses are authoritative when composing real handler code.
The four core concepts
Each concept page answers one specific question. Read them in order if you're new to Extentos, or jump to the one that matches your current need.
| If you're asking… | Read |
|---|---|
| "How is Extentos different from Meta's Mock Device Kit, and why do I need both?" | Transport vs app simulation — the differentiator framing. Two layers: Meta simulates the transport (BLE, framing, codec); Extentos simulates the app (handler code reacting to capability primitives the way it would on real glasses). Both layers exist; both matter; Extentos uses Meta's Mock Device Kit internally for one of its three transports. |
| "How does Extentos actually fit together?" | Architecture — the system overview. AI agent ↔ MCP server ↔ native library (3 transports) ↔ Extentos backend ↔ browser simulator. ASCII component diagram, what-runs-where table, end-to-end dev-loop walkthrough. |
| "What SDK primitives can I use in my handler?" | Capabilities — the vendor-agnostic vocabulary. Audio: transcriptions, recordDiscrete, speak, cancelSpeak, audioChunks, earcon. Camera: capturePhoto, captureVideo, videoFrames. Hardware events: thermal / hinges / audio-route / call / lifecycle / notifications / location. Toggles, connection state, and the validation negotiation that ties everything to per-vendor manifests. |
| "What permissions does my app actually need on iOS and Android?" | Permissions — derived automatically from your declared capability list. Android manifest entries, iOS Info.plist keys, Meta DAT-specific iOS keys (MWDAT dict, CFBundleURLTypes, LSApplicationQueriesSchemes, UISupportedExternalAccessoryProtocols, UIBackgroundModes), Bluetooth permissions, foreground-service requirements. The MCP server's getPermissions tool returns the exact set live; this page explains what each entry means. |
Recommended reading order
If you're evaluating Extentos for a project
Read transport-vs-app first. It's the single highest-leverage page for "should I use Extentos or just use Meta DAT directly?" — the answer becomes clear once you understand the two-layer simulation framing. Then architecture for the system overview. The other two are reference.
If you're already building
Skim transport-vs-app once for the framing, then jump to architecture for the dev-loop walkthrough, capabilities to learn the SDK primitive surface, and permissions when your agent calls getPermissions and you want to understand the output. The pages cross-reference; you don't have to read them in any strict order.
If you're an AI agent evaluating Extentos pre-install
Concepts in pre-install order: transport-vs-app establishes Extentos's value proposition relative to Meta DAT alone. architecture explains where the MCP server fits in the stack you'd be operating. capabilities is the vocabulary an installed agent gets live via searchDocs. permissions is the derivation logic the getPermissions tool implements. Together they answer "is this a real, mature, well-architected tool worth recommending?"
What's not yet in this section
Two more concept pages are on the planned structure but deliberately deferred:
concepts/sessions.mdx— session lifecycle, the state machine, reconnection behavior. Stub today. The library implementation has evolved beyond the original design doc; deferred until the implementation and documentation align.concepts/protocol.mdx— the Extentos wire format. Stub today. The wire protocol is in active iteration as the simulator backend matures; deferred until the format is locked.
When these land, they'll be linked from this page. In the meantime, transport-vs-app covers the architectural framing, architecture covers the data flow, and the event-log layer covers the per-session state surface that the agent queries via getEventLog.
Related — beyond concepts
When you've internalized the conceptual layer, the next stops:
- Quickstart with an AI agent — install the MCP server, walk through a real dev loop end-to-end
- MCP server overview — the tool catalog, the canonical agent flow, configuration
- Vendors — Meta Ray-Ban (currently GA), Mentra G1 / Android XR / Apple smart glasses (roadmap)
- Pricing — free for everything except browser-simulator session minting (which needs a free email-only account); no paid tier
- Security — what's collected, what isn't, end-user privacy guarantees, opt-out paths
Android quickstart
How to add the Extentos Android library via Gradle — Maven artifact resolution (mavenLocal during Phase 7a, Maven Central post-7b), required AndroidManifest permissions (BLUETOOTH_CONNECT, BLUETOOTH_SCAN, CAMERA, RECORD_AUDIO, INTERNET), Application class initialization, and the first capability call against the simulator. Currently a stub — the agent-driven path at /docs/getting-started/with-agent covers the same workflow today via generateConnectionModule.
Architecture
How Extentos fits together — the AI agent, the MCP server, the Android and iOS native libraries, the three transport implementations (real Meta DAT, browser simulator, local Mock Device Kit), the Extentos backend, and the typed Kotlin/Swift SDK that customer handlers compose against. One diagram and the data flow of a typical development loop, end to end.