Skip to main content
Glama
yuppie1949

yuppie-mcp-tts

by yuppie1949

yuppie-mcp-tts

TTS (文字转语音) MCP Server — 基于 edge-tts (微软 Edge 免费 TTS 引擎),无需 API Key,无需配置。

功能

工具名

说明

text_to_speech

文字转语音,返回 base64 MP3 音频(可选嗓音、语速)

list_voices

列出 50+ 可用嗓音(中英文等多语种)

text_to_speech_file

文字转语音并保存为 MP3 文件到磁盘

参数说明:

  • voice: 嗓音名称,如 en-US-JennyNeuralzh-CN-XiaoxiaoNeural,默认 en-US-JennyNeural

  • speed: 语速倍率 0.1~3.0,1.0 为正常速度

Related MCP server: VOICEPEAK MCP Server

只需要 TTS 库?(无 MCP)

本包是 MCP 壳:核心合成逻辑在库包 yuppie-tts(PyPI 分发,pip install yuppie-tts),本包依赖它。

如只需在 Python 项目中合成语音(不要 MCP),直接装库包:

pip install yuppie-tts
import asyncio
from yuppie_tts import synthesize

async def main():
    audio = await synthesize("你好世界", voice="zh-CN-XiaoxiaoNeural")
    with open("/tmp/output.mp3", "wb") as f:
        f.write(audio)

asyncio.run(main())

快速开始

安装

pip install yuppie-mcp-tts

运行

yuppie-mcp-tts

无需任何配置,开箱即用。

MCP 集成

Claude Code

.mcp.json 中添加:

{
  "mcpServers": {
    "yuppie-mcp-tts": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--refresh", "yuppie-mcp-tts"]
    }
  }
}

Cursor / Cherry Studio / Claude Desktop / OpenCode

{
  "mcpServers": {
    "yuppie-mcp-tts": {
      "command": "uvx",
      "args": ["--refresh", "yuppie-mcp-tts"]
    }
  }
}

可用嗓音

50+ 嗓音覆盖多种语言和地区变体:

英语 (US): JennyNeural, GuyNeural, AriaNeural, DavisNeural, JaneNeural, JasonNeural, NancyNeural, SaraNeural, TonyNeural

英语 (UK): SoniaNeural, RyanNeural, LibbyNeural, MaisieNeural

英语 (AU): NatashaNeural, WilliamNeural

英语 (CA): ClaraNeural, LiamNeural

英语 (IN): NeerjaNeural, PrabhatNeural

中文: XiaoxiaoNeural, YunxiNeural, YunjianNeural, XiaoyiNeural, YunyangNeural

其他: 法语、德语、日语、韩语、葡萄牙语、西班牙语等

使用 list_voices 工具可查看完整列表。

示例

用户: 把 "你好世界" 转成语音
AI: [调用 text_to_speech(text="你好世界", voice="zh-CN-XiaoxiaoNeural")]

用户: 把 "Hello World" 用英式发音保存到 /tmp/hello.mp3
AI: [调用 text_to_speech_file(text="Hello World", voice="en-GB-SoniaNeural", output_path="/tmp/hello.mp3")]

开发

uv pip install -e ".[dev]"
uv run pytest -v

本地调试

npx @modelcontextprotocol/inspector uv run yuppie-mcp-tts

许可证

MIT

Available Tools

3 tools
list_voicesA
Read-onlyIdempotent

列出所有可用的 TTS 嗓音(50+,覆盖中英文等多语种)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare safe read-only, idempotent behavior. The description adds value by specifying the approximate number of voices and language coverage, providing more concrete expectations without contradicting annotations.

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?

Single, front-loaded sentence with no wasted words. Every part is informative, fitting the brevity needed for tool descriptions.

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 zero-parameter listing tool with an output schema, the description fully covers what the tool does and what it returns. No additional details are necessary given the simplicity and annotation support.

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

Parameters4/5

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

No parameters exist (schema coverage 100% with empty properties). Baseline for zero parameters is 4, and the description does not need to add parameter details. It adds context about the output.

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 action (list) and resource (TTS voices), specifying a count (50+) and language coverage (Chinese, English, etc.). This distinguishes it from sibling tools like text_to_speech and text_to_speech_file, which generate speech rather than listing voices.

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

Usage Guidelines4/5

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

While not explicit about when to use, the description implies it is a preparatory step before selecting a voice for text-to-speech tasks. The sibling tools are different enough that no exclusion is needed, so the guidance is clear contextually.

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

text_to_speechA
Read-onlyIdempotent

将文字转换为语音,返回 base64 编码的 MP3 音频。无需 API Key。

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
speedNo
voiceNoen-US-JennyNeural

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description is not required to reiterate those. It adds value by disclosing that no API key is needed and that the output is base64-encoded MP3, which is not evident from annotations alone.

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, using just two sentences to convey the core function and a key requirement. Every sentence serves a purpose, and the most critical information is front-loaded.

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?

Given that an output schema exists, the description does not need to elaborate on return values. It covers the essential purpose and the 'no API key' fact, but lacks any guidance on parameter usage, potential limitations (e.g., text length), or how to choose voices, which would enhance completeness for an agent.

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

Parameters2/5

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

With 0% schema description coverage, the description should compensate by explaining parameters, but it does not mention text, speed, or voice at all. The agent receives no information about default values, valid ranges, or how parameters affect the output, leaving a significant gap.

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 clearly states the tool converts text to speech and returns base64 encoded MP3 audio, which identifies the main action and output. However, it does not differentiate this tool from its sibling 'text_to_speech_file' nor specify the scenario for using one over the other.

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 by stating the core function and adding 'No API Key required' as a convenience hint. Yet it offers no explicit guidance on when to choose this tool over 'text_to_speech_file' or 'list_voices', and lacks any exclusions or prerequisites.

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

text_to_speech_fileA

将文字转换为语音并保存为 MP3 文件到磁盘。无需 API Key。

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
speedNo
voiceNoen-US-JennyNeural
output_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false, destructiveHint=false, etc. The description adds that no API key is required, which is a behavioral trait not in annotations. It also discloses the side effect of file saving. However, does not specify if the file is overwritten or appended, or other behavior.

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?

The description is a single sentence, front-loaded with key info (conversion, file saving, no API key). No wasted words. However, it could be structured with bullet points for parameters to improve scannability.

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

Completeness2/5

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

Despite having an output schema and only 4 parameters, the description lacks details on return value, file format confirmation, limits on text length, supported languages, or error handling. Given it writes to disk, more completeness is expected.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does not explain any parameter—like what 'speed' or 'voice' mean or acceptable values. The agent must rely on parameter names and defaults, which is insufficient for correct usage.

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?

Description clearly states the tool converts text to speech and saves as MP3 file to disk, with no API key needed. It distinguishes itself from siblings 'list_voices' and 'text_to_speech' by specifying file saving.

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 includes a useful prerequisite (no API key needed) but does not explicitly tell when to use this tool over the sibling 'text_to_speech' which likely provides audio without saving. Implicitly, use this for persistent file output, but lacking direct guidance.

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

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a distinct purpose: listing voices, generating speech as base64, and generating speech as a file. No overlap or confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: list_voices, text_to_speech, text_to_speech_file.

Tool Count4/5

3 tools is slightly minimal but appropriate for a simple TTS server: list voices, generate speech (return and save). Each tool is necessary.

Completeness4/5

Covers core TTS operations: listing voices and generating speech. Missing explicit control over voice selection in generation tools, but the set is functional.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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/yuppie1949/yuppie-mcp-tts'

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