Skip to main content
Glama
extentos

extentos

injectTranscript

Injects synthetic STT transcripts into a live simulator to drive voice handlers, enabling automated end-to-end voice-flow testing without a human in the loop.

Instructions

Inject a synthetic STT transcript into a live simulator session, the same way the simulator browser tab's click-to-fire chips do. Closes the agent-driven end-to-end test loop: after createSimulatorSession returns and your app attaches, call this with the wake phrase text to drive your voice handler — no human in the loop. Frame travels through the same hub path as a real browser click, so handler dispatch + event-log entries (visible via getEventLog) are identical. Drives the glasses.voice.onPhrase matcher: a wake-phrase match dispatches the handler exactly as a real utterance would. USE for automated voice-flow validation (createSimulatorSession → injectTranscript → getEventLog). DON'T USE for static validation (use validateIntegration) or capability discovery (use getPlatformInfo). See getCodeExample(pattern: 'agent_driven_e2e_full_loop') for the full agent-driven recipe.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesThe transcript text to inject. For wake-phrase tests, pass the exact phrase your onPhrase / transcriptions matcher expects (case-insensitive substring match — "start recording" matches "please start recording now").
isFinalNoWhen true (default for type=stt_transcript), the frame is a final transcript that fires onPhrase matchers. When false, it's a partial — most matchers wait for finals, but the simulator UI + live-captions consumers see both.
partialNoConvenience: when true, send as stt_partial (a not-yet-final transcript). Sets isFinal=false by default. Use for testing live-captions UI that consumes partials.
sessionIdYes
confidenceNoSTT confidence value (0-1). Defaults to 0.99 to match the manual_trigger semantics the simulator's click-to-fire uses.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavior: it follows the same hub path as real browser clicks, produces identical handler dispatch and event-log entries, triggers the glasses.voice.onPhrase matcher, and clarifies final vs. partial transcript semantics, giving agents a complete mental model.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized: starts with the core purpose, then explains the mechanism, usage pattern, exclusions, and adds a pointer to an example—every sentence contributes value without redundancy, making it dense but efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, no annotations, and no output schema, the description is comprehensive: it covers when and how to use, what happens during execution (handler dispatch and event-log entries), and how to verify via getEventLog, leaving no critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, but the description adds significant semantic context: it explains the wake-phrase matching behavior, case-insensitive substring matching, the purpose of isFinal/partial for testing live-captions, and the confidence default matching manual_trigger, all of which enrich the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action: injecting a synthetic STT transcript into a live simulator session, and explicitly distinguishes from siblings by contrasting with validateIntegration and getPlatformInfo, as well as referencing related tools like createSimulatorSession and getEventLog.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit USE/DON'T USE guidance, specifying when to use injectTranscript (automated voice-flow validation) and when not to (static validation via validateIntegration, capability discovery via getPlatformInfo), plus a reference to getCodeExample for a full recipe.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/extentos/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server