AI & Machine Learning
ttsforfree.com
An MCP server for TTSForFree text-to-speech that lists supported languages and AI voices, retrieves voice metadata, and manages custom and favorite voices.
ENDPOINT 1
https://api.ttsforfree.com/mcp
MCP server metadata
- Name
- ttsforfree
- Version
- 1.0.0
TTSForFree turns text into natural speech (thousands of AI voices, 100+ languages) and returns hosted MP3 URLs. Rules: 1. Voice first. If the user did not name a voice: call list_favorite_voices and list_my_custom_voices, then list_voices(language). Always pass the exact `voice` token (v1:...) you received; never build or edit tokens. 2. Pick the tool by who controls the timeline: - text_to_speech: one voice, the audio length may follow the speech (narration, articles, lessons, a new video where scenes can follow the audio). - multi_voice_to_speech: several speakers in order, no fixed timestamps (podcast, dialogue, interview). - srt_to_speech: an existing video or subtitle timeline must be kept (voiceover, dubbing, translated subtitles). Cues start at their timestamps and speed auto-fits each cue. 3. Jobs are asynchronous. If a result says PENDING, call get_job_status with the same job_id and job_type; do not create the job again and never invent or fetch an audio_url before SUCCESS. 4. Credits are real money for the user. For long scripts or many segments call get_account_status first, tell the user the approximate size, and avoid duplicate jobs (check list_recent_jobs when retrying). 5. Video editing: write subtitles with accurate start/end times (one sentence per cue, cue duration >= ~1s per 15 characters), call srt_to_speech, then mux the MP3 with ffmpeg using the commands returned in `video_merge`. The MP3 timeline starts at 00:00 of the video. 6. Show the final audio_url to the user as a link. Report tool errors verbatim; on 429 wait and retry later instead of looping. 7. Video or audio files: create_upload_url, then PUT the file (curl -T), then use public_url. transcribe_media returns the SRT; localize_video dubs a whole video into several languages at once (one audio_url per language for YouTube multi-language audio, plus a dubbed video). YouTube or other external links are never downloaded: ask the user for the original file. If you cannot run commands, ask them to upload on ttsforfree.com and paste the file link. NOTE: Sign-in required. Ask the user to connect their TTSForFree account: in Claude open Settings > Connectors > TTSForFree and click Connect (free account at https://ttsforfree.com). Scripts and agents can instead send the header X-API-Key: YOUR_API_KEY (key from https://ttsforfree.com/en/profile/). Voice browsing (list_languages, list_voices, get_voice_details) works without sign-in.
Known tools 21
get_voice_detailsGet full metadata for one voice token: persona, use case, accent, pitch, styles, preview audio and credit cost.
Inferred read-onlylist_my_custom_voicesList the user's personal voices created with Voice Design (from a text prompt) or Voice Clone (from an audio sample), plus the remaining custom-voice quota.
Inferred read-onlylist_favorite_voicesList the voices the user marked as favorites, in their saved order.
Inferred read-onlyremove_favorite_voiceRemove a voice from the user's favorites (only when the user asks).
Potential side effectsdesign_custom_voiceCreate a new personal AI voice from a natural-language description (Gemini Voice Design).
Potential side effectsget_account_statusShow the user's plan tier, remaining characters/credits, max characters per request, max blocks per multi-voice/SRT job and API rate limits.
Inferred read-onlymulti_voice_to_speechRender ordered segments, each with its own voice, into ONE merged MP3.
Inferred read-onlysrt_to_speechCreate ONE MP3 that follows a subtitle timeline: every cue starts at its timestamp and speech speed auto-fits the cue duration.
Potential side effectslist_recent_jobsList the user's most recent speech jobs with status and audio URLs, to reuse earlier audio instead of paying again.
Inferred read-onlyget_job_detailGet a multi_voice_to_speech or srt_to_speech job with every segment: text, voice and its own audio_url, plus the merged audio.
Inferred read-onlycreate_upload_urlGet a one-time URL to upload a local video or audio file (mp4, mov, webm, mkv, mp3, wav, m4a.
Potential side effectstranscribe_mediaSpeech-to-text for an uploaded video or audio file: returns timestamped SRT (the timeline to rewrite, translate or re-voice with srt_to_speech).
Inferred read-onlyestimate_video_localizationEstimate the credits to dub one video into one or more languages (speech-to-text + translation + voice + video merge) before running localize_video.
Inferred read-onlylocalize_videoFull automatic dubbing of an uploaded video: transcribe once, translate, voice every target language with its own voice and render a dubbed video per language.
Inferred read-onlyget_localization_statusStatus of localize_video jobs: current step, and when Completed the dubbed audio_url, final_video_url and translated SRT for each language.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.ttsforfree]
url = "https://api.ttsforfree.com/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"ttsforfree": {
"type": "http",
"url": "https://api.ttsforfree.com/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: ttsforfree
Remote MCP URL: https://api.ttsforfree.com/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"ttsforfree": {
"url": "https://api.ttsforfree.com/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"ttsforfree": {
"type": "http",
"url": "https://api.ttsforfree.com/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "ttsforfree",
"transport": "streamable-http",
"url": "https://api.ttsforfree.com/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.