YarnGPT MCP by Nova (CIVAI)
Server Details
Turn text into speech with Nigerian and African-accented voices.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one enumerates voices, the other synthesizes speech. The descriptions even state the dependency order (call list_voices before text_to_speech when voice choice is unclear), making misselection unlikely.
Both names are snake_case and readable, but they follow different grammatical patterns: list_voices is verb_noun while text_to_speech is a noun phrase. Minor deviation from a strict verb_noun convention.
Two tools is on the thin side even for a narrow TTS wrapper; the surface is minimal with no helper for validation, quotas, or formats. It is not bloated, but it sits at the borderline of feeling under-scoped.
The pair covers the essential lifecycle: discover voices, then synthesize audio with configurable format. Minor gaps remain, such as no voice preview, quota/length-check helper, or handling for text exceeding the 2000-character limit.
Available Tools
2 toolslist_voicesAInspect
List all available YarnGPT voices with names and descriptions. Use before text_to_speech when the user asks which voices exist or which voice to pick. Voices: Idera, Emma, Zainab, Osagie, Wura, Jude, Chinenye, Tayo, Regina, Femi, Adaora, Umar, Mary, Nonso, Remi, Adam.
| Name | Required | Description | Default |
|---|---|---|---|
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description still discloses the payload (voice names plus descriptions) and the operational sequencing relative to text_to_speech, so the agent knows this is a cheap read used for discovery. It does not say whether the list is static, whether it can fail, or what the notification_message parameter does on failure, which keeps it short of a 5.
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 tight sentences front-load the purpose and routing rule. The trailing enumeration of 16 voice names is the only questionable content: it duplicates what the tool returns and could go stale, though it lets the agent answer basic questions without a call.
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?
There is no output schema, so the description correctly carries the return shape (names and descriptions) — that burden is met. For a zero-required-parameter read tool with no annotations, the remaining gaps (failure behavior, list freshness) are minor.
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% and the single parameter (notification_message) is fully documented in the schema, so the baseline is 3. The description adds nothing about that parameter — notably it does not explain how a fallback notification relates to a list operation — but there is no gap to compensate for.
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?
States a specific verb and resource ("List all available YarnGPT voices") and immediately says what the result contains (names and descriptions). It is clearly distinguishable from the only sibling, text_to_speech, which synthesizes speech rather than enumerating 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?
Explicit routing: "Use before text_to_speech when the user asks which voices exist or which voice to pick." It names the alternative tool and the exact user intents that select this one, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_to_speechAInspect
Convert text to speech with YarnGPT. Pass text (required, max 2000 characters) and voice (required). response_format defaults to mp3 (mp3, wav, opus, or flac). Use list_voices to discover voices. API key comes from global_variables.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to convert to speech. Max 2000 characters. | |
| voice | Yes | Voice character to use. One of: Idera, Emma, Zainab, Osagie, Wura, Jude, Chinenye, Tayo, Regina, Femi, Adaora, Umar, Mary, Nonso, Remi, Adam. Default Idera if unsure; call list_voices for descriptions. | |
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully mentions the API key source, max text length, and default output format, but it does not describe what the tool returns, whether generation is synchronous, or any cost/rate-limit 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 compact and front-loads the core action and required inputs. The only wasted or confusing clause is the response_format mention, which refers to a parameter not present in the input schema.
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 simple generation tool with rich schema descriptions, the definition covers key operational details such as auth source and voice discovery. However, with no output schema, it leaves the return behavior unclear and includes a response_format detail that does not match the actual schema.
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 the schema already defines all three parameters. The description repeats the text and voice requirements and adds some context, but it also mentions response_format even though that parameter is absent from the schema, while omitting notification_message.
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 states a specific verb and resource: convert text to speech using YarnGPT. It distinguishes the tool from its sibling by telling the agent to use list_voices for voice discovery, so the purpose is immediately clear.
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 explains required inputs, the character limit, default audio format, voice discovery via list_voices, and that the API key comes from global_variables. It gives clear usage context, though it does not specify when not to use this tool.
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.
2 tool updates
- First observed
list_voices - First observed
text_to_speech
Related MCP Connectors
Text to speech in 200+ languages, voice cloning, voice design and SRT captions.
Turn text into natural-sounding MP3 voice-overs in 6 languages. Free plan included.
Generate English and Chinese speech, split long text, track batch jobs, and download audio.
Hosted pay-per-use TTS: 54 neural voices, 9 languages incl. Brazilian Portuguese. $10 free credits.
Related MCP Servers
- 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

audio.ditto/ttsofficial
FlicenseNot gradedqualityCmaintenanceEnables AI clients to browse voices and languages and synthesize text into downloadable audio links, including batch jobs of up to 1,000 texts.1-- AlicenseBqualityDmaintenanceEnables natural language-driven speech synthesis using Fish Audio's Text-to-Speech API, supporting multiple voices, streaming, and flexible configuration.28 npmMIT
- FlicenseAqualityDmaintenanceConverts text or transcripts into MP3 audio using Microsoft Edge's free neural voices. Provides text-to-speech and voice listing tools with no API key required.2-
Glama MCP Gateway
Add one secure layer between your agents and this server.