Skip to main content
Glama
thundersoft-td

speech-mcp-server

Speech Model Context Protocol Server

An MCP server implementation for speech of volcengine

Features

Tools

  • asr Automatic Speech Recognition: Converts audio to text.

    • Args:

      • content: url or absolute path of the audio file to transcribe.

    • Returns:

      • Asr text

  • tts Text-to-Speech: Synthesizes text into audio.

    • Args:

      • text: The text to synthesize into speech.

      • speed: Speech speed (e.g., 1.0 for normal). default: 1.0.

      • encoding: Desired audio output format (e.g., 'mp3', 'wav'). default: 'mp3'.

    • Returns:

      • Return the path of audio file.

Related MCP server: whisper-transcribe-mcp

Configuration

The server requires the following environment variables to be set:

  • VOLC_APPID: Required, The APP ID for the VolcEngine.

  • VOLC_TOKEN: Required, The Access Token for the VolcEngine.

  • VOLC_VOICE_TYPE: Optional, Large speech synthesis model service voice_type, default is 'zh_female_meilinvyou_moon_bigtts'

  • VOLC_CLUSTER: Required, Large speech synthesis model service cluster ID

The services that need to be activated on Volcengine are: Large speech synthesis modelStreaming speech recognition large modelLarge model for audio file recognition

You can set these environment variables in your shell.

MCP Settings Configuration

To add this server to your MCP configuration, add the following to your MCP settings file:

{
  "mcpServers": {
    "speech-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_server_speech",
        "run",
        "main.py"
      ]
    }
  }
}

or

{
    "mcpServers": {
        "speech-mcp-server": {
            "command": "uvx",
            "args": [
                "--from",
                "git+https://github.com/thundersoft-td/mcp-server-speech",
                "mcp-server-speech"
            ],
            "env": {
                "VOLC_APPID": "your appid",
                "VOLC_TOKEN": "your token",
                "VOLC_VOICE_TYPE": "tts voice type",
                "VOLC_CLUSTER": "tts cluster id",
            }
        }
    }
}

Usage

Running the Server

# Run the server with stdio transport (default)
python -m mcp_server_speech [--transport/-t {sse,stdio}]

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Available Tools

2 tools
asrB
Automatic Speech Recognition: Converts audio to text.
ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesurl or absolute path of the audio file to transcribe.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only states the core conversion without disclosing supported audio formats, language restrictions, output structure, or any failure/limit behavior. This is minimal disclosure for a tool with no structured safety hints.

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 extremely concise and front-loaded, containing only essential information in eight words. It avoids redundancy and the title is null, so there is no wasted content.

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 tool is low-complexity with one parameter and no output schema, and the description plus schema are adequate for basic selection and invocation. However, there are notable gaps: no mention of accepted audio formats, response format beyond 'text', or any operational details, making it merely adequate.

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 documents the single 'content' parameter as 'url or absolute path of the audio file to transcribe' with 100% coverage. The description adds no extra semantic detail beyond what the schema already provides, so the baseline score of 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?

The description 'Converts audio to text' clearly identifies the tool's function and resource, and the name 'asr' expands to Automatic Speech Recognition. It distinguishes from the sibling 'tts' by being the speech-to-text direction, though it does not explicitly name the alternative.

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

Usage Guidelines3/5

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

The description implies usage when transcription is needed, but it provides no explicit when-to-use or when-not-to-use guidance and does not mention the sibling 'tts' as an alternative. This is acceptable but not clearly stated.

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

ttsA
Text-to-Speech: Synthesizes text into audio.
Return the path of audio file.
ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe text to synthesize into speech.
speedNoSpeech speed (e.g., 1.0 for normal). default: 1.0.
encodingNoDesired audio output format (e.g., 'mp3', 'wav'). default: 'mp3'.mp3

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns a file path, a key behavioral detail. However, it does not mention side effects like file creation location, persistence, or prerequisites, leaving some ambiguity.

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 concise and front-loaded: two short sentences that deliver the core purpose and return value. No wasted words or repetition.

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?

The tool is simple with 3 parameters fully described in the schema, and the description states the return value. It is sufficient for a basic TTS tool, though it could benefit from noting the nature of the returned path (e.g., absolute vs. relative, temporary).

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 has 100% coverage for all three parameters ('text', 'speed', 'encoding') with descriptions. The tool description adds no extra parameter semantics, so the baseline of 3 is appropriate.

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 tool's function: 'Synthesizes text into audio' and specifies the return value ('Return the path of audio file'). This distinguishes it from the sibling tool 'asr' (speech recognition) by explicitly framing it as text-to-speech.

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

Usage Guidelines3/5

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

The description implies usage for text-to-speech conversion, but it does not explicitly mention when to use this tool versus alternatives such as 'asr' or provide any exclusions or conditions. The context is clear but lacks explicit guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.0
    • First observedasr
    • First observedtts

TDQS

A3.7/5.0
Disambiguation5/5

The two tools, tts and asr, have completely distinct purposes: one synthesizes speech from text, the other converts audio to text. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both tool names are lowercase three-letter acronyms (tts, asr), following a consistent and predictable pattern. The naming style is uniform across the set.

Tool Count3/5

With only 2 tools, this is on the thin side. However, the two tools cover the essential capabilities of a speech server (synthesis and recognition), making the count borderline appropriate.

Completeness4/5

The tool set covers the two core directions of speech processing (text-to-speech and automatic speech recognition), representing solid coverage. Minor gaps such as voice selection or streaming are not included, but the fundamental workflows are fully supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/thundersoft-td/mcp-server-speech'

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