Skip to main content
Glama
thundersoft-td

speech-mcp-server

README.md
# 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.

## 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 model](https://console.volcengine.com/speech/service/10007)、[Streaming speech recognition large model](https://console.volcengine.com/speech/service/10011)、[Large model for audio file recognition](https://console.volcengine.com/speech/service/10012)

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:

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

or

```json
{
    "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

```bash
# 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.

TDQS

A3.7/5.0

Scored across 2 tools

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