Skip to main content
Glama
theYahia

salutespeech-mcp

by theYahia

synthesize_speech

Convert text into base64-encoded audio with selectable voice and format options, using text-to-speech synthesis.

Instructions

Text-to-speech via SaluteSpeech. Accepts text, returns Base64-encoded audio.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesText to synthesize (max 4000 chars incl. spaces/markup)
voiceNoVoice id <speaker>_<rate>. Speakers: Nec (Наталья), Bys (Борис), May (Марфа), Tur (Тарас), Ost (Александра), Pon (Сергей), Kin (Kira, English). Rate suffix 24000 or 8000 (telephony) sets the sample rate. Other languages are selected via SSML lang, not the voice id.Nec_24000
formatNoAudio container/codec: opus, wav16, pcm16, alaw (sample rate comes from the voice suffix)opus

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.2.0
    • changedInput schema / properties / format / description
      Previous value: -"Audio format: opus, wav16, pcm16"New value: +"Audio container/codec: opus, wav16, pcm16, alaw (sample rate comes from the voice suffix)"
    • changedInput schema / properties / text / description
      Previous value: -"Text to synthesize into speech"New value: +"Text to synthesize (max 4000 chars incl. spaces/markup)"
    • addedInput schema / properties / text / maxLength
      Added value: +4000
    • addedInput schema / properties / text / minLength
      Added value: +1
    • changedInput schema / properties / voice / description
      Previous value: -"Voice: Nec_24000, Bys_24000, May_24000, Tur_24000, Ost_24000, Pon_24000"New value: +"Voice id <speaker>_<rate>. Speakers: Nec (Наталья), Bys (Борис), May (Марфа), Tur (Тарас), Ost (Александра), Pon (Сергей), Kin (Kira, English). Rate suffix 24000 or 8000 (telephony) sets the sample rate. Other languages are selected via SSML lang, not the voice id."
  2. First observedv1.1.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations present, the description carries the burden of behavioral disclosure. It adds one key fact beyond the schema: the output is Base64-encoded audio. However, it does not mention whether the call is synchronous, whether any authentication is needed, whether there are side effects, or the processing interface details. The basic output contract is present, but more depth would be expected for full transparency.

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 sentence that immediately states the primary behavior and output. It is brief and front-loaded with 'Text-to-speech via SaluteSpeech' before touching the operation. There is no superfluous structure or repetition, though it leaves some behavioral detail out.

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

Completeness4/5

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

For a 3-parameter tool with a fully documented input schema and no output schema, this description provides the key missing piece: the return envelope is Base64-encoded audio. It gives enough to make a correct call and understand the result, though it could mention potential limitations like the audio duration or output size. The sibling `get_task_status` raises a possible async concern, but the description's statement that it 'returns Base64-encoded audio' resolves that by implying a direct response.

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?

The input schema covers all 3 parameters with detailed descriptions (text length, voice id syntax, format options). The description adds no additional parameter-specific meaning beyond the schema, such as the decision between opus and wav16 or when to set the telephony rate. Since schema coverage is 100%, the description's lack of parameter commentary is acceptable, but it doesn't exceed the baseline.

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 states a specific verb and resource: 'Text-to-speech via SaluteSpeech'. It also clearly distinguishes the tool from the recognition siblings (recognize_speech, recognize_file) by specifying the direction of the operation (text-to-speech) and the output (Base64-encoded audio). An agent can immediately tell this is the generation-side protocol, not recognition.

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 explicit when-to-use or when-not-to-use guidance. The phrase 'Text-to-speech' implies the scenario of converting text into audio, but the description never references the sibling tools or says when to choose this over recognition. The agent would have to infer the usage context from the message only, with no stated exclusions or alternative recommendations.

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