Extentos MCP
About
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
Details
- Author
- Unknown
- Categories
- Developer Tools, Knowledge Base, Other
Jump to
3. Agent configuration & usage (5 tools)
Account-scoped — require a linked account and are gated per-project by the](https://extentos.com/docs/reference/mcp-tools)MCP access grant(default Read+Write).
Account-scoped + per-project gated. Write-without-knowing — the secret never passes through the agent.
Side-quest tools the agent calls during composition.
Correctness gates. Run after structural changes (new capability declared, dependency bumped, manifest edited).
Provision and operate browser-based simulator sessions, plus the agent-driven testing tools that close the end-to-end loop without a human.
Full per-tool reference with input schemas, response shapes, and worked examples:/docs/mcp-server/tools.
In a fresh project, the agent invokes the tools in this order:
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
For iteration: edit handler code → rebuild + reinstall → the app auto-attaches to the same simulator session (no remint, the URL is stable). Before shipping:getProductionChecklistandgetCredentialGuide.
The MCP server reads these environment variables (verified inmcp-server/src/):
Full configuration reference:/docs/mcp-server/configuration.
Runningnpx @extentos/mcp-server@latestwith no arguments starts the MCP server over stdio (the path the agent uses). With a subcommand, it acts as a developer CLI:
Full CLI reference:/docs/mcp-server/auth.
The MCP server isanonymous-first. Discovery, capability guides, code examples, validation, docs search, on-device simulation, and real-hardware testing all work without ever signing in. Three things link a free account: minting browser-simulator sessions (createSimulatorSession, HTTP 402), thegenerateConnectionModulescaffold step (it mints your account-bound project key — same 402 device-code flow; the informational first call is anonymous), and the account-scoped project tools (assistant config, credentials, connection-page writes, analytics — HTTP 401).
The device-code flow: the first gated call returnsstatus: "auth_required"with a verification URL. The agent callscompleteAuthLinkto poll the backend; the developer signs up with a free email-only account at the URL (Google or email + password, no payment); the backend issues a token; the original tool call retries automatically. After linking, simulator sessions are unlimited.
Extentos's tools, codegen, validation, SDK, and the browser simulator are free — there's no per-seat or subscription fee to build and ship. The one surface that meters usage is themanaged AI gatewaybehind the Phase-4 voice assistant. Full auth model:/docs/mcp-server/auth; pricing:/docs/resources/pricing.
On first run, the MCP server injects a one-time privacy notice into the response. Telemetry is anonymous (tagged withinstallId, no source code or personal data) and is dismissed-by-continuing by default — same pattern as Vercel CLI, Astro, Vite. Decline at any time:
npx @extentos/mcp-server@latest decline-privacy # or EXTENTOS_TELEMETRY=0 (env var, persistent for the shell)
Privacy notice content is inmcp-server/src/index.ts(PRIVACY_NOTICEconstant). Notice is shown once per install viaclaimFirstPrivacyNotice— never repeats.
- Claude Code— primary target. One-line install viaclaude mcp add.
- Cursor— JSON config in~/.cursor/mcp.json.
- Windsurf— JSON config in~/.codeium/windsurf/mcp_config.json.
- Cline— JSON config in Cline's MCP settings.
- Any MCP-compatible host— drop the standardmcpServers.extentosJSON block in.
The MCP server speaks the standard MCP protocol over stdio (@modelcontextprotocol/sdk); no host-specific code paths exist on the server side. Per-host install steps:/docs/mcp-server/agents.
When the server starts, it opens a127.0.0.1:31337/whoamiHTTP listener (mcp-server/src/localBridge.ts). The Extentos library on the developer's app probes this endpoint at runtime to learn its host MCP'sinstallId. The result: everycreateSimulatorSessioncall from the agent auto-attaches the running app to the new session — no rebuild, no URL paste.
- Android emulator:http://10.0.2.2:31337/whoami(host-loopback NAT alias)
- iOS Simulator:http://localhost:31337/whoami(shares host network namespace)
- Physical Android phone via USB:adb reverse tcp:31337 tcp:31337once, thenlocalhost:31337from the device
- Cellular phone or cloud-hosted agent:probe times out. The agent uses the URL-bake path instead —createSimulatorSessionreturns aBuildConfig.EXTENTOS_SESSION_URLsnippet (Android) orextentos.session.plistpayload (iOS) the developer pastes in, then rebuilds the app once. Less elegant than auto-bind but works on any topology.
Bound to127.0.0.1only. TheinstallIdis not a secret — it's the same value the MCP sends toapi.extentos.comon every tool call. No auth needed at this layer.
If port31337is in use (rare; another MCP instance already running), startup logs a warning and continues. Auto-bind silently fails for that session; the developer uses the URL-bake path until the port frees up.
- Quickstart with an AI agent— install the server and walk through a real dev loop
- Tools reference— full per-tool API
- Configuration— environment variables, config files, install-time settings
- Auth— device-code flow, account linking, CLI auth commands
- Supported agents— per-host install instructions
- Architecture— how the MCP server fits into the broader Extentos system
- Transport vs app simulation— what the simulator the MCP brokers actually does
HTC VIVE Eagle for third-party developers — SDK access, app model, distribution, capabilities & AI, and where it sits in the 2026 smart-glasses landscape.
]([](https://extentos.com/docs/ecosystem/platforms/htc-vive-eagle)%5B)<<<https://extentos.com/docs/ecosystem/platforms/htc-vive-eagle)
How to install the Extentos MCP server (@extentos/mcp-server) in any MCP-compatible AI coding agent — Claude Code, Cursor, Windsurf, Cline, and others. Per-host install commands, config file locations, copy-pasteable JSON snippets, restart and verify steps, version pinning, updating, troubleshooting common errors, and uninstall instructions. Verified install paths for each supported host.
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
An MCP server tailored for React Native–first development using Gluestack UI
Create and read feature flags, review experiments, generate flag types, search docs, and interact with GrowthBook's feature flagging and experimentation platform.
Gives AI agents public URLs (tunnels) for localhost, live HTTP traffic inspection, snapshot publishing, and access control.
Understand, develop, and debug authorization policies in Oso Cloud.
Up-to-date documentation for your coding agent. Covers 1000s of public repos and sites. Built by ref.tools
Points agents to the canonical Agentry install docs for errors, product analytics, and deploy attribution.
Gives coding agents deterministic, read-only documentation handoffs with edit boundaries, ownership, and required checks before repository changes.
Deterministic JSON checks with signed evidence and x402-paid execution
Search Apple's Developer Documentation with smart search and wildcard support.
Tamper-evident action logging for AI agents: hash-chained ledger_append/ledger_verify MCP tools over one JSONL file, zero dependencies — proves the record wasn't altered in place (limits stated honestly in the docs).](https://extentos.com/docs/mcp-server/install)
Ask your AI assistant to scaffold, validate, and test Meta Ray-Ban smart-glasses features in your iOS or Android app.
- Scaffold the connection module—generateConnectionModulebootstraps the module, Gradle/SPM wiring, and permissions for iOS or Android.
- Validate the integration—validateIntegrationchecks manifest, permissions, and bootstrap calls before you test.
- Run agent-driven simulator tests— UsecreateSimulatorSessionandinjectTranscriptto drive voice flows and assert tool calls.
- Get a production-readiness checklist—getProductionChecklistreturns personalized pre-ship checks based on your declared capabilities.
- Search documentation by topic—searchDocsfinds aligned guides likeassistant_runtimeorcustom_handlers.
The Extentos MCP server (@extentos/mcp-server) is an npm package an AI agent (Claude Code, Cursor, Windsurf, Cline) installs once and then uses to add Meta Ray-Ban smart-glasses capabilities to a native iOS or Android app. It exposes a tight set of deterministic tools across 10 categories — discovery, generation, agent configuration, credentials, analytics, guidance, validation, simulation, production-readiness, and documentation — plus a CLI for account linking, telemetry consent, and update checks. This is the agent's operating manual.
The MCP server is how an AI agent — Claude Code, Cursor, Windsurf, Cline, or anyModel Context Protocol-compatible host — operates Extentos. The agent invokes deterministic tools; the server primes the agent on what capabilities the glasses expose, returns canonical SDK code patterns in Kotlin and Swift, scaffolds the project, brokers simulator sessions, and queries debugging traces. The server itself hasno planning tool— agents are better planners than regex bundles. Tools are typed primitives the agent composes in sequence.
This page is the section landing — what the server is, the tools at a glance, the canonical agent-driven flow, configuration knobs, the CLI, and how the auth model works. Sub-pages cover each in depth.
claude mcp add extentos -- npx -y @extentos/mcp-server@latest
For non-Claude-Code hosts, see theagent prompt or manual JSONinstall paths. Full install reference at/docs/mcp-server/install.
The server exposes a deterministic tool surface (verified inmcp-server/src/tools/definitions.ts), organized into 10 categories. The categories are the agent's mental map; an agent that understands which category a tool lives in can decide when to call it. The always-current full catalog is the generatedtools reference.
1. Discovery and SDK reference (4 tools)
The first calls in any new task. Cheap, all local, no side effects.
After scaffolding, the agent writes its own handler classes against the SDK primitives surfaced bygetCapabilityGuide/getCodeExample. Handler code is the customer's authoring surface — there's noinitSpecor DSL-population step.
3. Agent configuration & usage (5 tools)
Account-scoped — require a linked account and are gated per-project by theMCP access grant(default Read+Write).
Account-scoped + per-project gated. Write-without-knowing — the secret never passes through the agent.
Side-quest tools the agent calls during composition.
Correctness gates. Run after structural changes (new capability declared, dependency bumped, manifest edited).
Provision and operate browser-based simulator sessions, plus the agent-driven testing tools that close the end-to-end loop without a human.
Full per-tool reference with input schemas, response shapes, and worked examples:/docs/mcp-server/tools.
In a fresh project, the agent invokes the tools in this order:
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
For iteration: edit handler code → rebuild + reinstall → the app auto-attaches to the same simulator session (no remint, the URL is stable). Before shipping:getProductionChecklistandgetCredentialGuide.
The MCP server reads these environment variables (verified inmcp-server/src/):
Full configuration reference:/docs/mcp-server/configuration.
Runningnpx @extentos/mcp-server@latestwith no arguments starts the MCP server over stdio (the path the agent uses). With a subcommand, it acts as a developer CLI:
Full CLI reference:/docs/mcp-server/auth.
The MCP server isanonymous-first. Discovery, capability guides, code examples, validation, docs search, on-device simulation, and real-hardware testing all work without ever signing in. Three things link a free account: minting browser-simulator sessions (createSimulatorSession, HTTP 402), thegenerateConnectionModulescaffold step (it mints your account-bound project key — same 402 device-code flow; the informational first call is anonymous), and the account-scoped project tools (assistant config, credentials, connection-page writes, analytics — HTTP 401).
The device-code flow: the first gated call returnsstatus: "auth_required"with a verification URL. The agent callscompleteAuthLinkto poll the backend; the developer signs up with a free email-only account at the URL (Google or email + password, no payment); the backend issues a token; the original tool call retries automatically. After linking, simulator sessions are unlimited.
Extentos's tools, codegen, validation, SDK, and the browser simulator are free — there's no per-seat or subscription fee to build and ship. The one surface that meters usage is themanaged AI gatewaybehind the Phase-4 voice assistant. Full auth model:/docs/mcp-server/auth; pricing:/docs/resources/pricing.
On first run, the MCP server injects a one-time privacy notice into the response. Telemetry is anonymous (tagged withinstallId, no source code or personal data) and is dismissed-by-continuing by default — same pattern as Vercel CLI, Astro, Vite. Decline at any time:
npx @extentos/mcp-server@latest decline-privacy # or EXTENTOS_TELEMETRY=0 (env var, persistent for the shell)
Privacy notice content is inmcp-server/src/index.ts(PRIVACY_NOTICEconstant). Notice is shown once per install viaclaimFirstPrivacyNotice— never repeats.
- Claude Code— primary target. One-line install viaclaude mcp add.
- Cursor— JSON config in~/.cursor/mcp.json.
- Windsurf— JSON config in~/.codeium/windsurf/mcp_config.json.
- Cline— JSON config in Cline's MCP settings.
- Any MCP-compatible host— drop the standardmcpServers.extentosJSON block in.
The MCP server speaks the standard MCP protocol over stdio (@modelcontextprotocol/sdk); no host-specific code paths exist on the server side. Per-host install steps:/docs/mcp-server/agents.
When the server starts, it opens a127.0.0.1:31337/whoamiHTTP listener (mcp-server/src/localBridge.ts). The Extentos library on the developer's app probes this endpoint at runtime to learn its host MCP'sinstallId. The result: everycreateSimulatorSessioncall from the agent auto-attaches the running app to the new session — no rebuild, no URL paste.
- Android emulator:http://10.0.2.2:31337/whoami(host-loopback NAT alias)
- iOS Simulator:http://localhost:31337/whoami(shares host network namespace)
- Physical Android phone via USB:adb reverse tcp:31337 tcp:31337once, thenlocalhost:31337from the device
- Cellular phone or cloud-hosted agent:probe times out. The agent uses the URL-bake path instead —createSimulatorSessionreturns aBuildConfig.EXTENTOS_SESSION_URLsnippet (Android) orextentos.session.plistpayload (iOS) the developer pastes in, then rebuilds the app once. Less elegant than auto-bind but works on any topology.
Bound to127.0.0.1only. TheinstallIdis not a secret — it's the same value the MCP sends toapi.extentos.comon every tool call. No auth needed at this layer.
If port31337is in use (rare; another MCP instance already running), startup logs a warning and continues. Auto-bind silently fails for that session; the developer uses the URL-bake path until the port frees up.
- Quickstart with an AI agent— install the server and walk through a real dev loop
- Tools reference— full per-tool API
- Configuration— environment variables, config files, install-time settings
- Auth— device-code flow, account linking, CLI auth commands
- Supported agents— per-host install instructions
- Architecture— how the MCP server fits into the broader Extentos system
- Transport vs app simulation— what the simulator the MCP brokers actually does
HTC VIVE Eagle for third-party developers — SDK access, app model, distribution, capabilities & AI, and where it sits in the 2026 smart-glasses landscape.
]([](https://extentos.com/docs/ecosystem/platforms/htc-vive-eagle)%5B)<<<https://extentos.com/docs/ecosystem/platforms/htc-vive-eagle)
How to install the Extentos MCP server (@extentos/mcp-server) in any MCP-compatible AI coding agent — Claude Code, Cursor, Windsurf, Cline, and others. Per-host install commands, config file locations, copy-pasteable JSON snippets, restart and verify steps, version pinning, updating, troubleshooting common errors, and uninstall instructions. Verified install paths for each supported host.
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
An MCP server tailored for React Native–first development using Gluestack UI
Create and read feature flags, review experiments, generate flag types, search docs, and interact with GrowthBook's feature flagging and experimentation platform.
Gives AI agents public URLs (tunnels) for localhost, live HTTP traffic inspection, snapshot publishing, and access control.
Understand, develop, and debug authorization policies in Oso Cloud.
Up-to-date documentation for your coding agent. Covers 1000s of public repos and sites. Built by ref.tools
Points agents to the canonical Agentry install docs for errors, product analytics, and deploy attribution.
Gives coding agents deterministic, read-only documentation handoffs with edit boundaries, ownership, and required checks before repository changes.
Deterministic JSON checks with signed evidence and x402-paid execution
Search Apple's Developer Documentation with smart search and wildcard support.
Tamper-evident action logging for AI agents: hash-chained ledger_append/ledger_verify MCP tools over one JSONL file, zero dependencies — proves the record wasn't altered in place (limits stated honestly in the docs).](https://extentos.com/docs/mcp-server/install)
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





