FreeTTS

org.freettsPublished by freetts.orgOfficial publisherv1.0.5Updated Oct 24, 2026

Text to speech in 149 languages: MP3 links from any assistant. Free without an account.

VerifiedStreamable HTTPWeb executableMedia & DesignAI & ML

Overview

AI-generated overview

FreeTTS turns text into spoken audio: an assistant can pick a voice, generate an MP3 download link, and, with a PRO account, build dialogues and transcribe.

What you can do
List and suggest voices by language, accent, gender or use case, with free versus PRO tiers marked and voice ids for later calls. Convert text to speech and return a download link to the MP3, or WAV with a PRO key. Check the plan behind the connection and remaining characters, request rate and watermark status. Build multi-speaker dialogue audio with one voice per speaker. Render timed scripts with pauses, sound cues, cue voices and separate tracks. Transcribe a public audio URL into text.
When to use it
Useful when you want an assistant to read text aloud, narrate a document, produce audio files for tutorials, ads, podcasts or language lessons, or transcribe a recording, without leaving the chat.
Requirements
Remote endpoint at mcp.freetts.org over Streamable HTTP, or the npm package @freetts/mcp run locally with Node.js 20 or later. No key needed for the free tools on the hosted server; a FreeTTS API key in FREETTS_API_KEY (local) or an OAuth sign-in with the key (hosted) unlocks account limits and PRO tools. Network access to FreeTTS.
Before you install
Text sent for speech is passed to FreeTTS and its speech providers under its privacy policy; keyless calls are metered by IP address. Generated files are kept one hour without a key and 30 days with one. Dialogue, Script mode and transcription need a PRO account. A key stored in a local config grants access to your account; deleting it in the dashboard disconnects every assistant that used it.

Installation

In SourceWeft

  1. Open FreeTTS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/org.freetts%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "freetts": {
      "type": "http",
      "url": "https://mcp.freetts.org/mcp"
    }
  }
}

README

FreeTTS MCP server

Text to speech inside Claude, ChatGPT, Cursor, VS Code, Codex, Windsurf, Gemini CLI and any other MCP client. One remote server, nothing to install:

https://mcp.freetts.org/mcp

Ask your assistant to read something aloud, and it calls FreeTTS and hands you an MP3 link.

What it does

ToolWhat it doesNeeds
text_to_speechText in, MP3 link out. 2,253 voices in 149 languages.Nothing. Free without an account.
list_voicesVoices for a language or search word, with ids.Nothing
suggest_voiceThree voices for a language and a use, with reasons.Nothing
check_usagePlan and characters left.Nothing
dialogue_to_speechName: line script, a voice per speaker, one file.FreeTTS PRO
script_to_tracksScript mode: exact (pause 2), (beep), (ding), TRACK: files, CUE: voice, scenes.FreeTTS PRO
transcribe_audioA public audio URL in, text out.FreeTTS PRO

Free without a key: standard voices, 2,000 characters a call and a day per connection, 10 requests a minute, a short spoken "FreeTTS" tag at the end, files kept one hour.

With a FreeTTS key (free account or PRO): the account's plan. PRO: HD and Signature voices, no tag, 10,000 characters a call, 1,000,000 a month, WAV, files kept 30 days, and the dialogue, Script mode and transcription tools. Keys: freetts.org/dashboard (API keys).

Add it to your client

Claude Code

claude mcp add --transport http freetts https://mcp.freetts.org/mcp

With a key: add --header "Authorization: Bearer ft_live_...", or run /mcp inside a session to connect with the sign-in flow.

Claude (web, desktop, mobile): Settings, Connectors, Add custom connector, paste https://mcp.freetts.org/mcp. Free tools work at once; when a tool needs your account Claude shows Connect.

Cursor: Install in Cursor, or in ~/.cursor/mcp.json:

json
{ "mcpServers": { "freetts": { "url": "https://mcp.freetts.org/mcp" } } }

VS Code: Install in VS Code, or in .vscode/mcp.json:

json
{ "servers": { "freetts": { "type": "http", "url": "https://mcp.freetts.org/mcp" } } }

Codex CLI and ChatGPT desktop

codex mcp add freetts --url https://mcp.freetts.org/mcp

ChatGPT (web): Settings, Apps (Developer Mode), add https://mcp.freetts.org/mcp.

Windsurf, ~/.codeium/windsurf/mcp_config.json:

json
{ "mcpServers": { "freetts": { "serverUrl": "https://mcp.freetts.org/mcp" } } }

Any other client: use https://mcp.freetts.org/mcp as the server URL (Streamable HTTP). To use your account without the sign-in flow, send your key as Authorization: Bearer ft_live_... or x-api-key: ft_live_....

Full guide with copy buttons: freetts.org/developers/mcp.

Sign-in (OAuth)

The server is an OAuth 2.1 authorization server (PKCE, dynamic client registration, client ID metadata documents, RFC 9728 and 8414 metadata). Free tools need no sign-in. When a client calls a tool that needs your account, the server answers 401 and the client shows its Connect flow; the page asks for a FreeTTS API key from your dashboard and binds the connection to it. Delete the key in the dashboard to disconnect every assistant that used it.

Privacy

The text you send is sent to FreeTTS and its speech providers exactly as from the website, under the FreeTTS privacy policy. Calls without a key are metered by the caller's IP address. The server logs tool name, plan, character count, client name and outcome, never the text.

Run it locally (stdio)

The same server also runs on your own machine, for clients that start local servers or when you would rather keep a key in a local config. It talks to the public FreeTTS API with your own key. Get one at freetts.org/dashboard (API keys; a free account has one).

FREETTS_API_KEY=ft_live_... npx -y @freetts/mcp

Claude Desktop, Cursor, Cline, Windsurf and similar clients:

json
{  "mcpServers": {    "freetts": {      "command": "npx",      "args": ["-y", "@freetts/mcp"],      "env": { "FREETTS_API_KEY": "ft_live_..." }    }  }}

Without a key it still starts: list_voices, suggest_voice, the prompts and the resources work, and making audio asks for a key. The hosted server at https://mcp.freetts.org/mcp needs no key at all.

From source: npm install && npm run build && node dist/stdio.js. Node.js 20 or later.

The hosted server itself (dist/index.js) runs next to the FreeTTS API on FreeTTS's own machines and is not meant to be self-hosted; the code is here so you can read exactly what it does.

License: MIT.

Source: README.md at commit 476e9fc

Tools

7

list_voices

List FreeTTS voices

List FreeTTS voices for a language or a search word, with the voice id to pass to text_to_speech. Says which voices are free and which need a FreeTTS PRO key (HD and Signature). Use it when the user names a language, accent or gender, or asks what voices exist.

Parameterslimitgendersearchlanguagefree_only

suggest_voice

Suggest a FreeTTS voice

Suggest three FreeTTS voices for a language and a use (audiobook, tutorial, ad, news, children's story, meditation, podcast), with a short reason each. Use it when the user has not named a voice.

Parametersusegenderlanguagerequired

text_to_speech

Text to speech (FreeTTS)

Convert text to spoken audio with a FreeTTS voice and return a download link to the MP3 (or WAV with a FreeTTS PRO key). Use it when the user wants text read aloud, narrated, or saved as an audio file. Without a FreeTTS key: standard voices, up to 2,000 characters a call, a short spoken "FreeTTS" tag at the end, file kept one hour. With a key: the account's plan (PRO: HD and Signature voices, no tag, 10,000 characters a call, files kept 30 days).

Parameterstextrequiredspeedvoiceformatlanguageinclude_audio

check_usage

Check FreeTTS usage and plan

Show the FreeTTS plan behind this connection and what is left: characters today or this month, requests a minute, HD voices, watermark. Use it when the user asks about limits, their plan, or why a request was refused.

Takes no parameters.

dialogue_to_speech

Dialogue to speech (two or more voices)

Turn a script with several speakers into one audio file, a different FreeTTS voice per speaker, with a pause between lines. Write each line as 'Name: text'. Use it for two-host shows, interviews, scenes, language lessons with two speakers. Needs a connected FreeTTS PRO account.

Parametersscriptrequiredvoiceslanguagepause_ms

script_to_tracks

Script to timed tracks (Script mode)

Record a script with exact timing, the way FreeTTS Script mode does: (pause 2) is exactly 2 seconds of silence, (beep), (ding) and (click) play a sound, 'CUE:' lines are read in a second voice, 'TRACK: name' starts a new audio file, 'NAME: line' makes a scene with a voice per character. Returns one file with everything plus one file per track. Use it for ear prompter tracks, voiceovers timed to footage, rehearsal tracks, workout or recipe step audio. Needs a connected FreeTTS PRO account.

Parametersspeedscriptrequiredmy_partcount_incue_voicetrack_endline_voicesentence_pause_msparagraph_pause_ms

transcribe_audio

Transcribe audio (speech to text)

Turn a recording into text with FreeTTS speech to text. Give a public https URL to an audio file (mp3, wav, m4a, ogg, webm). Needs a connected FreeTTS PRO account.

Parameterslanguageaudio_urlrequired

Version history

2
  1. v1.0.5LatestOct 1, 2026
  2. v1.0.1Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts