Skip to main content
Glama

Speak text with Android TTS

tts_speak

Converts text to speech on Android using Termux:API. Specify text, rate, pitch, and language for spoken output.

Instructions

Speak text aloud using the Android text-to-speech engine via Termux:API.

Input Schema

NameRequiredDescriptionDefault
rateNoSpeech rate. Default 1.
textYesText to speak.
pitchNoSpeech pitch. Default 1.
languageNoBCP-47 language tag, e.g. en-US or zh-CN.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the description should add context the annotations cannot convey. It says nothing about whether the call blocks until speech finishes, how long a 4000-character utterance takes, that the Termux:API package must be installed, or what a failure looks like. It largely restates the title.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though the brevity shades into under-specification for a tool that produces spoken output with timing side effects.

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

Completeness3/5

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

The schema fully documents the four parameters and there is no output schema, so the input contract is covered. What is missing is behavioral context an agent needs — blocking duration, dependency on termux-api, and whether audio plays locally only — which matters for an open-world, non-idempotent side-effecting tool.

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

Parameters3/5

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

Schema description coverage is 100% — text, rate, pitch, and language each carry bounds and defaults ('Default 1', BCP-47 example 'en-US'). The description adds nothing about parameters, so the baseline 3 applies.

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

Purpose4/5

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

Names a specific verb ('Speak text aloud') and a specific resource/engine ('Android text-to-speech engine via Termux:API'), which separates it from audio-adjacent siblings like notify, toast, and vibrate. It stops just short of a 5 because it never explicitly says how it differs from those siblings or what happens to the audio.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no named alternative. An agent must infer that this is for spoken output rather than toast/notify/vibrate notifications, and nothing tells it whether this is appropriate for long text, blocking callers, or repeated invocations.

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