Implementation Guidance tools
The Extentos MCP server's guidance tools — getVoiceCommandGuidance (analyze proposed wake / command phrases for UX issues) and getPermissions (derive exact platform permissions, Meta DAT requirements, and foreground-service needs from the declared SDK capability list). Side-quest helpers the agent calls during composition.
Two helpers the agent calls between scaffolding and validation. Both are pure-read, no side effects.
getVoiceCommandGuidance
Analyze proposed wake / command phrases for UX issues — length, homophones, digit-usage, Meta wake-word collision (hey meta, hey facebook, ok meta are reserved), ambiguity against existing phrases — before the agent wires them into a glasses.audio.transcriptions() consumer.
Parameters: phrases: string[] (required), existingPhrases: string[] (optional, so the tool can flag ambiguity against phrases the handler already matches), glasses: "meta_rayban".
Response: per-phrase analysis with issues[] (length / homophones / digits / wake-word collision), suggestions[] (concrete rewrites), collisions[] (other phrases too similar), plus a roll-up summary.
Post-pivot voice matching is plain string contains/regex inside the customer's handler — this tool catches the issues the customer can't see at runtime ("didn't match"-style failures with no signal from the recognizer).
getPermissions
Derive Android manifest permissions, iOS Info.plist keys, and Meta DAT scopes from the list of SDK capabilities the handler uses. Run after the agent decides which primitives (capture_photo, transcription_incremental, speak, …) the handler will subscribe to.
Parameters: capabilities: string[] (required; feature names from getPlatformInfo.features[].name), platform: "android" | "ios".
Response: { android: { permissions[], manifestEntries[], foregroundService, ... }, ios: { plistKeys[], ... }, metaDat: { scopes[], registrationRequired, ... }, summary }. Drops in directly to AndroidManifest.xml / Info.plist.
The capability → permission map is centralized in mcp-server/src/tools/util/permissions.ts. transcription_incremental adds RECORD_AUDIO + NSMicrophoneUsageDescription + NSSpeechRecognitionUsageDescription; capture_photo adds CAMERA + NSCameraUsageDescription; continuous-capture capabilities (video_frames, audio_chunks, transcription_incremental) additionally require FOREGROUND_SERVICE on Android 14+. See concepts/permissions for the full mapping table.
Update extentos.manifest.json's capabilities array as your handler grows; re-run getPermissions and write the diff into the manifest / Info.plist.
Related
- Capabilities — the SDK primitive vocabulary
- Permissions — the full per-capability permission mapping
- Tools overview — back to the full tool catalog
Related
Tools reference
The Extentos MCP server exposes a tight set of deterministic tools across deterministic categories — discovery + SDK reference, generation, guidance, validation, simulation, production, agent configuration, and search. Per-tool reference covering input parameters, response shapes, when to call each tool, and worked examples. Verified from the actual tool definitions and handler implementations in @extentos/mcp-server.
Setup and Generation tools
The Extentos MCP server's Setup and Generation surface — generateConnectionModule (the one-shot project scaffold that emits the bootstrap module, build-script changes, dependencies, permissions, and the integration manifest) plus the four connection-page-config tools (getConnectionPageConfig, setConnectionPageConfig, regenerateConnectionPageFile, adoptConnectionPageFile). After scaffolding, the customer (or their agent) writes handler classes against the SDK primitives surfaced by getCapabilityGuide / getCodeExample.
Capabilities
The Extentos capability vocabulary — the vendor-agnostic SDK primitives (audio, camera, voice, assistant, display, hardware events) your handler subscribes to.
Permissions
Extentos derives Android permissions and iOS Info.plist keys from the capabilities your handler uses, plus the always-required Bluetooth and Meta DAT keys.
Setup and Generation tools
The Extentos MCP server's Setup and Generation surface — generateConnectionModule (the one-shot project scaffold that emits the bootstrap module, build-script changes, dependencies, permissions, and the integration manifest) plus the four connection-page-config tools (getConnectionPageConfig, setConnectionPageConfig, regenerateConnectionPageFile, adoptConnectionPageFile). After scaffolding, the customer (or their agent) writes handler classes against the SDK primitives surfaced by getCapabilityGuide / getCodeExample.
Validation tools
The Extentos MCP server's validation tools — inspectIntegration (read-only project snapshot) and validateIntegration (whole-project correctness gate before testing). The pre-test sanity checks the agent runs after structural changes.