Add one address to your assistant and it can read text aloud with 2,253 voices in 149 languages, then hand you the MP3. Free with the standard voices; your FreeTTS account brings your plan, HD voices and the Script mode tools.
https://mcp.freetts.org/mcpYou: Read this in German and give me the MP3: “Guten Abend, und willkommen.”
Assistant: calls freetts text_to_speech
Assistant: Here it is, read by Katja: mcp.freetts.org/audio/…mp3 (4 seconds).
The address is the same everywhere. Pick your client.
In a terminal:
claude mcp add --transport http freetts https://mcp.freetts.org/mcpRun /mcp inside a session to connect your FreeTTS account with the sign-in flow.
Settings, Connectors, Add custom connector, paste the address:
https://mcp.freetts.org/mcpFree tools work at once. When a tool needs your account, Claude shows Connect and a FreeTTS page asks for your key.
Press the button, or add to ~/.cursor/mcp.json:
{
"mcpServers": {
"freetts": { "url": "https://mcp.freetts.org/mcp" }
}
}Press the button, or add to .vscode/mcp.json:
{
"servers": {
"freetts": { "type": "http", "url": "https://mcp.freetts.org/mcp" }
}
}In a terminal (they share one config):
codex mcp add freetts --url https://mcp.freetts.org/mcpSettings, Apps (Developer Mode), add an app with this address:
https://mcp.freetts.org/mcpRead-only tools work on Plus and Pro. Tools that make files may need a Business plan; ChatGPT's own settings say which.
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"freetts": { "serverUrl": "https://mcp.freetts.org/mcp" }
}
}Add to ~/.gemini/settings.json:
{
"mcpServers": {
"freetts": { "httpUrl": "https://mcp.freetts.org/mcp" }
}
}Using your account in a client without a sign-in flow: the README on GitHub shows how to pass your FreeTTS key as a request header. Keys are made in the dashboard under API keys, and never belong in a URL.
text_to_speechText in, MP3 link out. Picks a voice for the language if you name none.
Freelist_voicesVoices for a language or search word, with ids.
Freesuggest_voiceThree voices for a language and a use, with reasons.
Freecheck_usagePlan, characters left, limits.
Freedialogue_to_speechName: line script, a voice per speaker, one file.
Accountscript_to_tracksScript mode: exact (pause 2), (beep), (ding), TRACK: files, CUE: voice, scenes.
PROtranscribe_audioA public audio URL in, text out.
AccountText sent through the server goes to FreeTTS and its speech providers exactly as text typed on the website, under the privacy policy. The server logs tool name, plan, character count and outcome, never the text.
A server that speaks the Model Context Protocol, the open standard assistants use to call outside tools. Add its address to Claude, ChatGPT, Cursor, VS Code, Codex or another MCP client and the assistant gains a text_to_speech tool: it sends the text to FreeTTS and hands you a link to the MP3.