Frequently asked questions
The Extentos FAQ — what it is, install, cost (mostly free; the AI gateway is metered), supported Ray-Ban/Oakley Meta hardware, and Meta DAT vs Extentos.
Extentos is the smart-glasses development layer for Meta Ray-Ban: install its MCP server, let your AI agent scaffold a native iOS/Android app, and test in a browser simulator — free, except the managed AI gateway is metered. The questions below go deeper.
The most-asked questions about Extentos, organized by topic and cross-linked to the deep documentation. If you don't find your question here, see the support page or email hello@extentos.com.
Getting started
Is Extentos free?
Almost entirely. The discovery, validation, and guidance MCP tools, on-device simulation (LocalSimTransport), and real-hardware testing on Ray-Ban Meta are free with no account, forever. Code generation via generateConnectionModule and the browser simulator both link a free email-only account. The browser simulator at extentos.com/s requires a free email-only account from the first session — Google one-click or email + password, no payment, no card. Once linked, sessions are unlimited.
The one surface that meters usage is the managed AI gateway behind the Phase-4 voice assistant: usage is metered today, and billing runs on a prepaid-credit model — every account starts with $2 of free managed-gateway credit, then draws down a prepaid balance. There is no bring-your-own-key option — you cannot supply a provider key, and none is on the roadmap. Apps that don't use the managed gateway never touch a metered surface. See pricing for the full breakdown.
Do I need an Extentos account to start?
Mostly no. Discovery, guidance, validation, and real-hardware testing on Ray-Ban Meta hardware work without ever creating an Extentos account. A free email-only account (no payment) links the first time you mint a browser-simulator session or run the generateConnectionModule scaffold step (it mints your account-bound project key). See auth for the full flow.
How do I install Extentos in my AI coding agent?
The shortest path is the agent prompt: paste "Install @extentos/mcp-server in my MCP config" into Claude Code, Cursor, Windsurf, or Cline. The agent edits the right config file or runs the right command for its host. For Claude Code specifically, the one-liner is claude mcp add extentos -- npx -y @extentos/mcp-server@latest. See install for per-host instructions and config-file locations.
What prerequisites do I need?
Node.js 20 or newer on PATH. That's it for the MCP server — npx fetches and caches the package on first run. To target real Ray-Ban Meta hardware later, you'll also need a Meta Wearables Developer Center account (free, ~15-30 minute setup) for the Meta DAT credentials. See vendors/meta for the Meta-specific setup.
Hardware support
What smart glasses does Extentos support?
As of 2026-07, Extentos is production-supported on Meta Ray-Ban only — every variant in market (Gen 1 Wayfarer, Headliner, Skyler frame styles; Gen 2; Ray-Ban Meta Optics; Meta Ray-Ban Display) plus Oakley Meta HSTN, Oakley Meta Vanguard, and the 2026 Meta Glasses line. Android XR is in preview: the projected transport is built and proven on Google's Android XR emulator, and simulator sessions accept an Android XR device identity, so you can check how your app behaves under it today. The module is deliberately unpublished and no Android XR glasses are buyable yet, so nothing there is production-supported or hardware-verified — see Android XR for the exact status. Apple smart glasses remain a tracked roadmap vendor. See vendors for the full status table.
Does Extentos work with Ray-Ban Meta Display?
Yes. Your Extentos-built app runs on a Meta Ray-Ban Display the same way it runs on Gen 1 or Gen 2 — full camera, voice trigger, and audio support. You can also render UI to the heads-up display via glasses.display.* — it ships in both SDKs and is fully sim-testable on both; on-glasses rendering via Meta DAT is live on Android, with iOS on-glasses delivery in progress. The wearer drives it with captouch + the Neural Band, delivered to your app as abstracted tap events. What's not exposed is raw Neural Band gesture data and the "Hey Meta" engine. See vendors/meta § Compatible models.
Why do Meta's own Display apps look richer than what I can build?
Third-party display rendering is available — Extentos exposes it as glasses.display.* in both SDKs (on-glasses rendering via Meta DAT 0.8.0 is live on Android; iOS on-glasses delivery is in progress). The full-screen experiences on Meta Ray-Ban Display — pedestrian navigation (Meta's own app, not Google Maps), WhatsApp, live captions — are Meta first-party system apps; your surface is the display session. See vendors/meta § Partner integrations.
Do I need real Ray-Ban Meta glasses to develop?
No. Extentos's on-device LocalSimTransport (in-memory local sim) and the Extentos browser simulator (BrowserSimTransport at extentos.com/s) cover the bulk of the dev loop. Real hardware verifies the final-mile fit (camera fidelity, BT latency, real-world coexistence) but isn't required for daily iteration. See transport vs app simulation for what each simulator does.
When will Android XR / Brilliant Labs / Apple be supported?
No committed timelines. A vendor becomes production-supported when adding it makes a real product — transport implementation, simulator coverage, and tested hardware — which depends on each vendor's SDK maturity and hardware availability.
Android XR has the first two: the transport is built and proven on Google's emulator, and the simulator carries the device identity. What it lacks is hardware, so the module stays unpublished until Google's platform leaves developer preview and glasses are buyable (full status). Apple is earlier still — no third-party smart-glasses SDK exists to build against. See the changelog for actual release activity.
Brilliant Labs is the inverse, and worth understanding as a contrast. You can order a Halo today, though the vendor says the first units ship in early August 2026, and nothing has run our transport yet — and unlike Android XR there is no emulator standing in either. The BLE transport, the on-device Lua bundle and the display translation are all built, the wire protocol is verified byte-for-byte against Brilliant's own implementation, and it ships inside the SDK on both platforms (nothing to add on Android, TransportChoice.brilliant on iOS) precisely so that someone with a Halo can be the first to run it. Still capture and the microphone work; video does not and never will, because neither device has a video primitive or a codec. Both devices are selectable in the simulator now. See the Brilliant vendor page.
Pricing and accounts
Why does the browser simulator need an account?
The browser simulator runs on Extentos's backend (WebSocket hub, voice proxy for STT/TTS, event log persistence). It costs Extentos per-session compute, so it takes the same free email-only account as the other backend-provisioned surfaces (the generateConnectionModule scaffold step, which mints your project key, and the account-scoped project tools). Discovery, validation, and guidance run on your machine or talk directly to Meta — no Extentos compute, no account needed. See pricing.
Does my shipped app cost me anything?
It depends on whether it uses the managed AI gateway. A DAT-native app (camera, audio, sensors, voice triggers, display) or one that calls its own AI provider from handler code runs against real Ray-Ban Meta hardware via RealMetaTransport, which doesn't talk to the Extentos backend — runtime cost from Extentos is zero per end-user. If your app ships the Phase-4 voice assistant on the managed gateway, that AI usage is metered and billed on a prepaid-credit model, with no bring-your-own-key option. See pricing.
Will Extentos add a paid tier later?
The free surfaces stay free. The one metered surface — the managed AI gateway — is metered and billed today on a prepaid-credit model, with a $2 free grant per account. Existing accounts will not be retroactively gated on the free surfaces; material changes are communicated via the changelog.
Can I share an Extentos account across my team?
Single accounts only at MVP. Multi-seat billing and team workspaces are deferred post-launch. Each developer should run their own MCP install with their own account — the per-machine installId is anonymous and doesn't conflict with collaboration.
Capabilities and limits
Can my third-party app trigger on "Hey Meta, [my app], do X"?
No. The "Hey Meta" wake word is system-level and not exposed to third-party apps. Your custom voice trigger is recognized on the phone (on real hardware: on-device Vosk on Android, Apple's SFSpeechRecognizer on iOS; the platform recognizer on the dev path) over Bluetooth audio — the wake word is your custom phrase, not "Hey Meta" + your phrase. See vendors/meta § Capabilities NOT in the public toolkit.
Can my app use custom gestures (tap, swipe)?
There's no general gesture API in the public Meta DAT toolkit as of 2026-07. Captouch is system-defined (taps pause/resume your session), and on Meta Ray-Ban Display wearer interactions reach your glasses.display.* UI as abstracted tap events. Session lifecycle signals (pause, resume, stop) work normally.
What can I actually build for Meta Ray-Ban today?
Photo capture, video capture, camera streams, voice-triggered apps (custom phrases via phone-side recognition), always-listening assistants, TTS-driven audio apps — and on Meta Ray-Ban Display, your own UI via glasses.display.*. There is no motion-sensor (IMU) API in DAT. The full capability matrix is at vendors/meta § What's in the Wearables Device Access Toolkit.
Why doesn't Meta's Mock Device Kit simulate voice triggers?
Meta's Mock Device Kit simulates the BLE/SDK layer — your app thinks it's connected to glasses. Voice-trigger recognition runs on the phone's speech recognizer, not on the glasses, so simulating the glasses doesn't simulate the recognizer. Extentos's browser simulator replaces the whole path with the developer's webcam + microphone, which is why it can exercise voice triggers end-to-end. See transport vs app simulation.
Distribution
Can I publish my Meta Ray-Ban app to the Meta App Store?
As of 2026-07, public publishing is partner-gated while Meta's toolkit is in developer preview (Meta says broader publishing arrives in 2026). Everyone else distributes the phone app normally (APK sideload or enterprise on Android; TestFlight on iOS — Meta doesn't support iOS App Store publishing yet) and enrolls users as testers via Meta release channels — no Meta content review. See vendors/meta § Distribution state.
How do users install my Meta Ray-Ban app?
Users install your phone app (Android via APK or Play Store; iOS via TestFlight or App Store). The first time they open it, the Meta DAT registration flow runs and pairs the app with their Ray-Ban Meta. Your app is a regular phone app that talks to the glasses over Bluetooth — there's no "install on the glasses" step.
Privacy and data collection
Does Extentos collect my users' photos, video, voice transcripts, or AI prompts?
No — content is never stored. For handler-code paths (photo bytes, video frames, audio samples, your own AI calls), Extentos's library is architecturally incapable of inspecting the payloads at all. For the managed AI gateway (the Phase-4 voice assistant on Extentos's key), the gateway relays the audio/transcripts/model responses but never persists them — the only thing recorded is the provider's token-usage metadata and computed cost. So Extentos is in the path for managed-gateway traffic but never stores the content. The full never-collect list is in security § What we never collect.
Does Extentos see my AI provider API keys?
It depends on the path. For handler-code AI calls (you call Anthropic / a vision model / a translation API from your own handler), the keys live in your app and your provider's auth headers — Extentos has no callback or hook between the SDK read and your request; no inspection, no proxy. For the managed AI gateway, the assistant runs on Extentos's own provider key (you supply none — that's the zero-config point); there is no option to run it on your own key. See the gateway page and security.
What does Extentos collect, then?
Aggregate metadata — tool calls, install events, vendor adoption rates, capability usage, error rates, library/MCP versions, device models, country (derived from IP, then the IP is dropped). Tagged with anonymous IDs that can never be reversed back to a person. This data powers a developer-facing analytics dashboard (coming soon), Extentos's product roadmap, and aggregate ecosystem signals shared with glasses vendors as market data (10-account aggregation floor). Full schema in security § What we collect.
Will Extentos sell data about my specific app to my competitors?
No. Aggregate ecosystem signals (vendor market share, capability popularity) are sold to glasses vendors only as aggregates over at least 10 distinct accounts, with a second floor that suppresses vendor-level data when fewer than 25 developers ship to that vendor. Individual-developer or individual-end-user data is never shared. These two floors are the structural guarantees against competitive leakage. Developers can also opt their app out of inclusion in vendor aggregates via ExtentosConfig.dataSharingConsent = false (a shipped SDK field; the vendor aggregate product it gates is forthcoming) — separate from disabling telemetry collection.
Can I opt out of telemetry?
Yes — three independent surfaces. (1) EXTENTOS_TELEMETRY=0 env var disables MCP-side telemetry for the current shell. (2) npx @extentos/mcp-server@latest decline-privacy disables it permanently for the install. (3) ExtentosConfig.telemetryConsent = false in your shipped app disables library-runtime telemetry per-app. Any combination works. See security § Three opt-out surfaces.
Architecture and AI agents
Is Extentos a wrapper around Meta's Device Access Toolkit?
Partially. Extentos has four internal transport implementations: RealMetaTransport wraps the real Meta DAT SDK for production hardware; LocalSimTransport is Extentos's own in-memory transport for fast on-device testing (no DAT SDK); BrowserSimTransport is an Extentos-original architecture (browser simulator at extentos.com/s, WebSocket protocol, no DAT involvement) for the headline dev experience. See transport vs app simulation for the deep dive.
Does my code change when targeting different vendors?
No, by design. Your handler subscribes to vendor-agnostic SDK primitives (glasses.audio.transcriptions(), glasses.camera.capturePhoto(), glasses.audio.speak(), etc.). When a vendor gets a transport implementation in Extentos, your existing handler code runs on it without rewrites — Android XR landed that way, and the same handlers run under an Android XR device identity in the simulator today. See capabilities § Why a shared vocabulary.
Which AI coding agent works best with Extentos?
All MCP-compatible agents (Claude Code, Cursor, Windsurf, Cline) work — Extentos's tools are protocol-standard. Claude Code has the smoothest install (single CLI command); the others need a small JSON config edit. Tool capabilities are identical across hosts. See install for per-host setup.
What does the AI agent actually do with the MCP server?
The agent calls Extentos's deterministic tools to discover the SDK capability list, fetch canonical Kotlin/Swift code patterns, scaffold a connection module, validate the integration, and provision a browser simulator session — all without you typing any setup code. The canonical sequence is getPlatformInfo → getCodeExample(pattern) → getCapabilityGuide(feature) (per primitive) → generateConnectionModule → (agent writes handler classes against the SDK) → validateIntegration → createSimulatorSession. See MCP server overview for the full tool catalog.
What happens when the user folds their glasses mid-flow?
When the glasses fold, capture calls fail with CaptureError.HingesClosed, which carries an actionable message ("The glasses are folded. Open them to use the camera."). Your handler pattern-matches the capture result and decides what to do (typically pause active streams via scope.cancel() / task.cancel() and wait for the user to unfold).
Help and resources
Where do I file a bug or feature request?
Email hello@extentos.com with the [bug] prefix. Include your install version (npx @extentos/mcp-server@latest whoami), the platform (Android / iOS), the host (Claude Code / Cursor / Windsurf / Cline), and a minimal reproduction.
Where's the source code and license?
The MCP server (@extentos/mcp-server) is MIT-licensed on npm. The native libraries are distributed as public packages — Android on Maven Central, iOS as a Swift package from swift-glasses on GitHub — that you build against; their source is proprietary. See resources/license for current declarations.
Where do I find release notes?
The changelog tracks notable releases. Pre-1.0 means APIs may shift between minor versions until the hardware test loop closes — pin to an exact version (see the npm package for the current one) if you need cross-session reproducibility.
Related
- Quickstart with an AI agent — install + first prompt + verify
- Transport vs app simulation — the differentiator framing
- Vendors: Meta Ray-Ban — the production target's full capability matrix
- The managed AI gateway — how the assistant's AI runs, and what's metered
- Pricing — what's free, and the one metered surface
- Security — data collection, opt-out, end-user privacy
Related
Quickstart with an AI agent
Install the Extentos MCP server and let your AI agent scaffold Meta Ray-Ban smart-glasses capabilities into a native iOS or Android app. Free to start.
Transport vs app simulation
Meta's Mock Device Kit simulates the transport layer; Extentos simulates the app layer — voice, photo capture, and the wearing experience. Both matter.
The managed AI gateway
How AI runs in an Extentos app — the assistant routes voice AI through the managed gateway. Content relayed, never stored; metered. The assistant always runs on the managed gateway; there is no bring-your-own-key option.
Meta smart glasses (Meta DAT)
Meta smart glasses developer guide: Wearables Device Access Toolkit (DAT 0.8.0) capabilities, supported models (Ray-Ban Meta, Oakley Meta, Ray-Ban Display), 2026 distribution state, and how Extentos abstracts the toolkit.
Pricing
Extentos is free to start — discovery, validation, the on-device simulator, and real-hardware DAT testing need no account. A free account unlocks the browser simulator, project scaffolding, and the managed AI gateway. The gateway is the one metered surface; every account gets $2 of free credit, then prepaid credits at provider list price.
Security and data handling
What Extentos collects (aggregate dev + runtime metadata) and never collects (transcripts, photo/video bytes, AI prompts, PII). Anonymous-first, GDPR-friendly.
Roadmap
The Extentos public roadmap — shipping today (Meta Ray-Ban, both native SDKs, managed AI gateway, the voice assistant, display), in development, and tracked further out.
Changelog
Release notes for Extentos — the MCP server (@extentos/mcp-server), the Android library (com.extentos:glasses), and the iOS library (swift-glasses). Newest first. The MCP server is pre-1.0; APIs may shift between minor versions until the hardware test loop closes. The first stable iOS release (the 1.7.0 lockstep cut), the managed AI gateway, the Phase-4 voice assistant, and the display capability are the most recent additions; the pure-SDK pivot, the browser simulator, getEventLog, auto-bind, and device-code auth landed earlier.