yuppie-mcp-tts
This server provides a free, no-API-key text-to-speech MCP server powered by edge-tts, letting you convert text into natural-sounding speech.
text_to_speech – Convert text to speech and get back base64-encoded MP3 audio; optional voice and speed settings.
list_voices – List 50+ available voices across English, Chinese, and many other languages.
text_to_speech_file – Convert text to speech and save it directly as an MP3 file to disk.
Supports custom voice selection and speech speed (0.1–3.0x).
No API key or configuration required; works with MCP clients like Claude Code, Cursor, Cherry Studio, and others.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@yuppie-mcp-ttssay 'hello world' in a female British voice"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
yuppie-mcp-tts
TTS (文字转语音) MCP Server — 基于 edge-tts (微软 Edge 免费 TTS 引擎),无需 API Key,无需配置。
功能
工具名 | 说明 |
| 文字转语音,返回 base64 MP3 音频(可选嗓音、语速) |
| 列出 50+ 可用嗓音(中英文等多语种) |
| 文字转语音并保存为 MP3 文件到磁盘 |
参数说明:
voice: 嗓音名称,如en-US-JennyNeural、zh-CN-XiaoxiaoNeural,默认en-US-JennyNeuralspeed: 语速倍率 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-ttsimport 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 toolslist_voicesARead-onlyIdempotent
列出所有可用的 TTS 嗓音(50+,覆盖中英文等多语种)。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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_speechARead-onlyIdempotent
将文字转换为语音,返回 base64 编码的 MP3 音频。无需 API Key。
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| speed | No | ||
| voice | No | en-US-JennyNeural |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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。
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| speed | No | ||
| voice | No | en-US-JennyNeural | |
| output_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
Each tool has a distinct purpose: listing voices, generating speech as base64, and generating speech as a file. No overlap or confusion.
All tool names follow a consistent verb_noun pattern in snake_case: list_voices, text_to_speech, text_to_speech_file.
3 tools is slightly minimal but appropriate for a simple TTS server: list voices, generate speech (return and save). Each tool is necessary.
Covers core TTS operations: listing voices and generating speech. Missing explicit control over voice selection in generation tools, but the set is functional.
Maintenance
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
Hosted pay-per-use TTS: 54 neural voices, 9 languages incl. Brazilian Portuguese. $10 free credits.
AI voice generation: text-to-speech and voice cloning from any MCP client.
ElevenLabs in natural language: generate speech in any language, create and manage voices, compose m
AI content generation with 50+ models: image, video, TTS, voice cloning, and more.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides text-to-speech functionality for AI agents using Microsoft Edge's text-to-speech technology, supporting multiple voices, languages, and voice customization.28MIT
- AlicenseNot gradedqualityDmaintenanceEnables text-to-speech synthesis using VOICEPEAK software with support for custom narrators, emotions, and pronunciation dictionaries. Allows generating and playing audio files from text with configurable voice parameters.226MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to convert text to speech using Microsoft Edge's Text-to-Speech service with customizable voice options, speech rate, volume, and pitch parameters.MIT
- AlicenseBqualityDmaintenanceEnables natural language-driven speech synthesis using Fish Audio's Text-to-Speech API, supporting multiple voices, streaming, and flexible configuration.221MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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