Voice MCP
The Voice MCP server provides pay-per-call speech synthesis via the https://voice.forgemesh.io API, supporting 20 voices, 10 personas, and 31 languages. Payments are made in USDC on the Base network; no API keys or subscriptions are needed.
list_voice_catalog(Free): Discover all available voices, personas, language codes, pricing tiers, character limits, and speed/quality controls before making any paid call.generate_standard_voice($0.001–$0.003): Convert text (up to 2,000 characters) to WAV audio using 10 standard voices (M1–M5,F1–F5) across 31 languages. Ideal for simple narration, alerts, and status updates.generate_controlled_voice($0.003–$0.006): Produce WAV speech with granular control over speed (0.7x–2.0x) and quality steps (1–100) for precise pacing or polished audio fidelity.generate_persona_voice($0.005–$0.01): Synthesize expressive WAV audio using 10 distinct persona voices (e.g., Storyteller, Narrator, Announcer, Assistant, Urgent, Velvet, Echo), with speed and quality controls. Best for branded agents, characters, and premium experiences.generate_openai_compatible_voice($0.001–$0.003): Submit speech requests using an OpenAI/v1/audio/speech-shaped payload (input,voice,model,response_format), supporting WAV, FLAC, and OGG output. Ideal for apps already built around the OpenAI audio API format.generate_batch_voices($0.002–$0.005): Process up to 20 texts in a single call with per-item voice and language settings, perfect for notification queues, scripted sequences, and multi-step agent workflows.
All audio is returned as audio_base64-encoded output. Input validation (voice names, language codes, character limits, speed/quality ranges) happens locally before any paid call is made.
Provides tools for generating speech using an OpenAI-compatible API, enabling text-to-speech with multiple voices, personas, languages, speed, quality controls, and batch generation.
Click on "Deploy 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., "@Voice MCPspeak 'Hello, how are you?' in F1 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.
Voice MCP
Give Your Agent A Voice: x402 pay-per-call speech with 20 voices, 10 personas, 31 languages, granular speed and quality controls, OpenAI-shaped requests, and batch audio.
This MCP wraps https://voice.forgemesh.io, an x402 Voice API with standard voices, persona voices, OpenAI-shaped speech requests, 31 languages, speed controls, quality controls, and batch generation. Payments are made per call in USDC on Base.
Voice Coverage
10 standard voices:
M1-M5,F1-F510 persona voices:
Storyteller,Narrator,Announcer,Assistant,Urgent,Sage,Spark,Anchor,Velvet,Echo31 languages:
en,ko,ja,ar,bg,cs,da,de,el,es,et,fi,fr,hi,hr,hu,id,it,lt,lv,nl,pl,pt,ro,ru,sk,sl,sv,tr,uk,viGranular control: speed
0.7x-2.0x, quality steps1-100, persona selection, OpenAI-shaped audio format requests, and batch generation for up to 20 textsVoice samples are generated on demand by the paid speech tools and returned as
audio_base64WAV output
Related MCP server: forgemesh-imagegen
Voice Samples
Tools
Tool | Price | Purpose |
| Free | Voices, personas, languages, pricing, buckets, and controls |
| $0.001 / $0.003 | Low-cost speech with 10 standard voices |
| $0.003 / $0.006 | Speech with granular speed and quality controls |
| $0.005 / $0.01 | Storyteller, Velvet, Narrator, Announcer, Assistant, Urgent, and more |
| $0.001 / $0.003 | OpenAI-shaped |
| $0.002 / $0.005 | Up to 20 texts per call |
Short prices apply to 1-500 characters. Long prices apply to 501-2000 characters.
The MCP validates voice names, language codes, audio formats, speed/quality ranges, batch item count, and character limits locally before making a paid x402 call.
Install
npm install -g @forgemeshlabs/voice-mcpDocker
Build:
docker build -t voice-mcp .Run over stdio:
docker run --rm -i \
-e WALLET_PRIVATE_KEY=0x... \
voice-mcpCMD arguments:
["node", "index.js"]MCP Config
{
"mcpServers": {
"voice": {
"command": "voice-mcp",
"env": {
"WALLET_PRIVATE_KEY": "0x..."
}
}
}
}Optional:
{
"X402_VOICE_BASE_URL": "https://voice.forgemesh.io",
"BASE_RPC_URL": "https://mainnet.base.org"
}Notes
Paid tools require a Base wallet private key with USDC.
The server returns
audio_base64for audio tools so MCP clients can store, play, or forward the WAV bytes.No API keys or subscriptions are required for the voice service itself.
Available Tools
6 toolsgenerate_batch_voicesGenerate Batch VoicesA
Generate WAV audio for up to 20 text items in one paid call using standard voices. Best for queues, notifications, scripted sequences, content batches, and multi-step agent workflows. Costs $0.002 for up to 500 total chars or $0.005 for 501-2000 total chars.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Array of text items; total text across all items must be <= 2000 chars | |
| defaults | No | Default standard voice and language |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses cost and batch size but does not explain return format, synchronization behavior, or any side effects. Adds some value but lacks rich behavioral context.
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?
Two sentences: one functional overview and one usage advice. Front-loaded with key info. Efficient but could be slightly more structured with bullet points.
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 no output schema and 2 parameters, the description covers functionality, limits, cost, and use cases. It does not explain error handling or return format, but for a batch generation tool with clear schema, it is fairly complete.
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 100% (items and defaults have descriptions). The description only reiterates the batch limit and character limit already in schema, adding no further meaning.
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 it generates WAV audio for up to 20 text items using standard voices, distinguishing it from siblings like generate_controlled_voice or generate_standard_voice. The verb 'generate', resource 'WAV audio', and scope 'batch' are specific.
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?
Explicitly lists use cases: queues, notifications, scripted sequences, etc. It does not directly state when not to use or name alternatives, but the context implies single items should use generate_standard_voice. Clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_controlled_voiceGenerate Controlled VoiceA
Generate WAV speech with granular controls for speed and quality. Use this when an agent needs faster, slower, clearer, more polished, or more deliberate delivery. Costs $0.003 for 1-500 chars or $0.006 for 501-2000 chars.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language code, default en | |
| text | Yes | Text to synthesize, max 2000 characters | |
| speed | No | Speech speed, 0.7-2.0 | |
| steps | No | Quality steps, 1-100 | |
| voice | No | Standard voice: M1-M5 or F1-F5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It adds cost information ('$0.003 for 1-500 chars or $0.006 for 501-2000 chars') and output format ('WAV speech'), which are not in the schema. It does not cover potential side effects or rate limits, but the cost transparency is valuable for an agent.
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 only two sentences, both front-loaded with key information: first sentence states purpose, second gives usage and pricing. No redundant words; every word earns its place.
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 no output schema and no annotations, the description covers purpose, usage, and cost. It implies maximum length via pricing tiers (up to 2000 chars) but does not explicitly state the character limit. Output format is specified as WAV, which is sufficient for a speech generation tool. Minor gaps like explicit length limit and potential response format details prevent a 5.
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 100%, so all parameters are described in the schema. The description mentions 'speed and quality' inline but does not add new semantic details beyond what the schema provides (e.g., speed range, steps range). Baseline 3 is appropriate as the description adds minimal extra meaning.
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 'Generate WAV speech with granular controls for speed and quality', specifying the verb 'Generate', the resource 'WAV speech', and the key differentiator 'granular controls'. This distinguishes it from siblings like generate_standard_voice (basic) and generate_batch_voices (batch processing), making the purpose unambiguous.
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?
Explicitly says 'Use this when an agent needs faster, slower, clearer, more polished, or more deliberate delivery', providing clear context for when this tool is appropriate. It does not explicitly state when to avoid it or mention alternatives, but the sibling names and context signals imply which other tools might be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_openai_compatible_voiceGenerate OpenAI-Compatible VoiceA
Generate speech using an OpenAI-shaped request with input, voice, model, and response_format fields. Use this for agents or apps already designed around /v1/audio/speech style payloads. Costs $0.001 for 1-500 chars or $0.003 for 501-2000 chars.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Text to synthesize, max 2000 characters | |
| model | No | Optional model field; service uses ForgeMesh Voice | |
| voice | No | Standard voice: M1-M5 or F1-F5 | |
| response_format | No | wav, flac, or ogg |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses cost tiers based on character count, which is a behavioral trait beyond schema. However, it omits other behavioral details like the actual model used (ForgeMesh Voice), rate limits, idempotency, or response format 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?
Three sentences: purpose, usage context, pricing. Each sentence earns its place with no wasted words. Purpose is front-loaded, making it easy to scan.
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 no output schema, the description does not cover return values. However, it explains the API compatibility and pricing. Parameter enums are described in schema. Adequate but could mention output behavior or side effects.
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 coverage is 100%, so baseline is 3. The description adds minimal parameter-level meaning beyond 'OpenAI-shaped' framing; cost info is contextual but not per-parameter. Schema already describes each parameter adequately.
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 generates speech using an OpenAI-shaped request, listing the fields (input, voice, model, response_format). It distinguishes from sibling tools by specifying compatibility with agents/apps designed around the OpenAI /v1/audio/speech endpoint.
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 explicitly advises using this tool for agents or apps already designed around OpenAI-style payloads, providing clear context. It does not mention when not to use or name alternatives, but the context signals list sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_persona_voiceGenerate Persona VoiceA
Generate expressive WAV speech with persona voices such as Storyteller, Narrator, Announcer, Assistant, Urgent, Sage, Spark, Anchor, Velvet, or Echo. Best for branded agents, characters, demos, stories, alerts, and premium user experiences. Costs $0.005 for 1-500 chars or $0.01 for 501-2000 chars.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language code, default en | |
| text | Yes | Text to synthesize, max 2000 characters | |
| speed | No | Speech speed, 0.7-2.0 | |
| steps | No | Quality steps, 1-100 | |
| voice | No | Voice name; personas include Storyteller, Narrator, Announcer, Assistant, Urgent, Sage, Spark, Anchor, Velvet, Echo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It adds cost tiers and character limits, and mentions output format (WAV). However, it lacks details on authentication, rate limits, or whether the operation is safe/side-effect-free. The cost info is helpful but not comprehensive.
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 three sentences, front-loaded with purpose, and every sentence adds value (what it does, when to use, cost). No wasted words.
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 5 parameters, no output schema, and no annotations, the description covers purpose, usage context, cost, and parameter hints. Minor gap: no explicit description of return format beyond 'WAV', though it's implied. Overall fairly complete for a speech generation tool.
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 coverage is 100%, so baseline is 3. The description adds some context by listing persona names and use cases, but the schema already provides descriptions for each parameter including the enum values. The description does not significantly enhance parameter understanding beyond the schema.
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 it generates expressive WAV speech with persona voices, listing 10 specific persona names. It differentiates from sibling tools by focusing on persona voices and specific use cases like branded agents and premium experiences.
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 provides explicit use cases (branded agents, characters, demos, stories, alerts, premium user experiences) but does not explicitly state when not to use or compare with alternatives like generate_standard_voice. Sibling names are present in context, providing implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_standard_voiceGenerate Standard VoiceA
Generate low-cost WAV speech from text using one of 10 standard voices across 31 languages. Best for simple agent narration, status updates, alerts, and short spoken responses. Costs $0.001 for 1-500 chars or $0.003 for 501-2000 chars.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language code, default en | |
| text | Yes | Text to synthesize, max 2000 characters | |
| voice | No | Standard voice: M1-M5 or F1-F5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses cost structure, which is a behavioral trait. With no annotations, the description provides minimal additional behavioral info (e.g., no latency, synchronicity, or idempotency details).
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?
Two sentences: front-loaded with purpose, then usage advice and cost. No fluff, every sentence earns its place.
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 no output schema, the description covers purpose, usage, cost, and constraints. It mentions output format (WAV) but lacks details on audio properties or handling of errors. Adequate for a simple tool.
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 coverage is 100% with clear descriptions for each parameter. The description adds context about count of voices and languages, but does not significantly augment parameter semantics beyond what the schema already provides.
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?
Clearly states the tool generates low-cost WAV speech from text using standard voices across languages. However, it does not explicitly differentiate from sibling tools like generate_batch_voices or generate_controlled_voice.
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?
Provides usage context for simple narration, alerts, etc., and mentions cost tiers. But lacks when-not-to-use or alternatives, leaving the agent to infer based on context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_voice_catalogList Voice CatalogA
Free discovery tool. Lists all 20 voices, 10 persona voices, 31 language codes, price buckets, character limits, and granular speed/quality controls before a paid voice generation call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides good behavioral context by stating it is a free discovery tool and listing the data it returns, implying it is a read-only, non-destructive operation.
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, concise sentence that is front-loaded with 'Free discovery tool' and efficiently lists all included elements without any waste.
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 the absence of parameters and output schema, the description adequately covers what the tool does and what it returns, though it could have explicitly stated it is a read-only operation.
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?
The tool has no parameters, and the schema coverage is 100%, so the description does not need to add parameter information. The baseline score of 4 is appropriate.
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 lists the voice catalog, specifying exactly what it includes (20 voices, 10 persona voices, language codes, price buckets, etc.), and it is clearly distinguished from generation sibling tools.
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 this tool is for discovery before paid voice generation calls, and the sibling tools are all generation tools, making the usage context clear. However, it does not explicitly state when not to use it.
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.
5 tool updates
v0.1.4- Changed
generate_batch_voices7 fields changed- added
Input schema / properties / defaults / properties / lang / enumAdded value: +[ + "en", + "ko", + "ja", + "ar", + "bg", + "cs", + "da", + "de", + "el", + "es", + "et", + "fi", + "fr", + "hi", + "hr", + "hu", + "id", + "it", + "lt", + "lv", + "nl", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sv", + "tr", + "uk", + "vi" +] - added
Input schema / properties / defaults / properties / voice / enumAdded value: +[ + "M1", + "M2", + "M3", + "M4", + "M5", + "F1", + "F2", + "F3", + "F4", + "F5" +] - changed
Input schema / properties / items / descriptionPrevious value: -"Array of text items"New value: +"Array of text items; total text across all items must be <= 2000 chars" - added
Input schema / properties / items / items / properties / lang / enumAdded value: +[ + "en", + "ko", + "ja", + "ar", + "bg", + "cs", + "da", + "de", + "el", + "es", + "et", + "fi", + "fr", + "hi", + "hr", + "hu", + "id", + "it", + "lt", + "lv", + "nl", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sv", + "tr", + "uk", + "vi" +] - added
Input schema / properties / items / items / properties / text / maxLengthAdded value: +2000 - added
Input schema / properties / items / items / properties / text / minLengthAdded value: +1 - added
Input schema / properties / items / items / properties / voice / enumAdded value: +[ + "M1", + "M2", + "M3", + "M4", + "M5", + "F1", + "F2", + "F3", + "F4", + "F5" +]
- Changed
generate_controlled_voice8 fields changed- added
Input schema / properties / lang / enumAdded value: +[ + "en", + "ko", + "ja", + "ar", + "bg", + "cs", + "da", + "de", + "el", + "es", + "et", + "fi", + "fr", + "hi", + "hr", + "hu", + "id", + "it", + "lt", + "lv", + "nl", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sv", + "tr", + "uk", + "vi" +] - added
Input schema / properties / speed / maximumAdded value: +2 - added
Input schema / properties / speed / minimumAdded value: +0.7 - added
Input schema / properties / steps / maximumAdded value: +100 - added
Input schema / properties / steps / minimumAdded value: +1 - added
Input schema / properties / text / maxLengthAdded value: +2000 - added
Input schema / properties / text / minLengthAdded value: +1 - added
Input schema / properties / voice / enumAdded value: +[ + "M1", + "M2", + "M3", + "M4", + "M5", + "F1", + "F2", + "F3", + "F4", + "F5" +]
- Changed
generate_openai_compatible_voice4 fields changed- added
Input schema / properties / input / maxLengthAdded value: +2000 - added
Input schema / properties / input / minLengthAdded value: +1 - added
Input schema / properties / response_format / enumAdded value: +[ + "wav", + "flac", + "ogg" +] - added
Input schema / properties / voice / enumAdded value: +[ + "M1", + "M2", + "M3", + "M4", + "M5", + "F1", + "F2", + "F3", + "F4", + "F5" +]
- Changed
generate_persona_voice9 fields changed- added
Input schema / properties / lang / enumAdded value: +[ + "en", + "ko", + "ja", + "ar", + "bg", + "cs", + "da", + "de", + "el", + "es", + "et", + "fi", + "fr", + "hi", + "hr", + "hu", + "id", + "it", + "lt", + "lv", + "nl", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sv", + "tr", + "uk", + "vi" +] - added
Input schema / properties / speed / maximumAdded value: +2 - added
Input schema / properties / speed / minimumAdded value: +0.7 - added
Input schema / properties / steps / maximumAdded value: +100 - added
Input schema / properties / steps / minimumAdded value: +1 - added
Input schema / properties / text / maxLengthAdded value: +2000 - added
Input schema / properties / text / minLengthAdded value: +1 - changed
Input schema / properties / voice / descriptionPrevious value: -"Persona voice name, default Storyteller"New value: +"Voice name; personas include Storyteller, Narrator, Announcer, Assistant, Urgent, Sage, Spark, Anchor, Velvet, Echo" - added
Input schema / properties / voice / enumAdded value: +[ + "M1", + "M2", + "M3", + "M4", + "M5", + "F1", + "F2", + "F3", + "F4", + "F5", + "Storyteller", + "Narrator", + "Announcer", + "Assistant", + "Urgent", + "Sage", + "Spark", + "Anchor", + "Velvet", + "Echo" +]
- Changed
generate_standard_voice4 fields changed- added
Input schema / properties / lang / enumAdded value: +[ + "en", + "ko", + "ja", + "ar", + "bg", + "cs", + "da", + "de", + "el", + "es", + "et", + "fi", + "fr", + "hi", + "hr", + "hu", + "id", + "it", + "lt", + "lv", + "nl", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sv", + "tr", + "uk", + "vi" +] - added
Input schema / properties / text / maxLengthAdded value: +2000 - added
Input schema / properties / text / minLengthAdded value: +1 - added
Input schema / properties / voice / enumAdded value: +[ + "M1", + "M2", + "M3", + "M4", + "M5", + "F1", + "F2", + "F3", + "F4", + "F5" +]
12 tool updates
v0.1.2- Removed
batch_speak - Added
generate_batch_voices - Added
generate_controlled_voice - Added
generate_openai_compatible_voice - Added
generate_persona_voice - Added
generate_standard_voice - Removed
list_tts_voices - Added
list_voice_catalog - Removed
openai_speech - Removed
speak_persona - Removed
speak_pro - Removed
speak_standard
6 tool updates
v0.1.0- First observed
batch_speak - First observed
list_tts_voices - First observed
openai_speech - First observed
speak_persona - First observed
speak_pro - First observed
speak_standard
TDQS
Scored across 6 tools
Each generate tool targets a distinct use case (batch, controlled, OpenAI-compatible, persona, standard), and list_voice_catalog is clearly separate as a discovery tool. No overlapping purposes.
All tools follow a clear verb_noun pattern: generate_* for voice generation and list_voice_catalog for listing. The verbs are appropriate and the pattern is consistent.
Six tools cover the core functionality of a TTS server well. The count is not excessive and each tool has a clear role, making the set scoped and manageable.
The set covers all major text-to-speech workflows: standard, controlled, persona, batch, API-compatible generation, plus catalog discovery. No obvious gaps for the intended domain.
Maintenance
Related MCP Connectors
AI voice agents that make real phone calls: single calls or campaigns, with transcripts and notes.
Hosted pay-per-use TTS: 54 neural voices, 9 languages incl. Brazilian Portuguese. $10 free credits.
- DialMCPOAuthcom.dialmcp
Let AI agents place real phone calls from your verified number, with transcripts and recordings.
Give your AI agent a phone: place calls, navigate IVRs, wait on hold, get structured answers.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides high-quality text-to-speech synthesis with 10 natural voices, emotion control, and dynamic pacing for professional applications requiring expressive speech output.52MIT

forgemesh-imagegenofficial
AlicenseAqualityCmaintenanceMCP server for AI image generation with automatic USDC payments on Base mainnet. Generate, remove backgrounds, and upscale images via simple tool calls.4101 npm1MIT- AlicenseAqualityDmaintenanceEnables AI agents to synthesize natural speech using either platform system voices or premium OpenAI TTS, with automatic engine selection and graceful fallback.19 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to generate high-quality speech with 54+ voices in multiple languages via MCP tools.19Apache 2.0