Skip to content

Tools

Text to Speech in Claude: Connect the VocalLab MCP Server

8 min readBy VocalLab Team

Text to Speech in Claude with an MCP Server

VocalLab's text to speech MCP server lives at https://mcp.vocallab.ai/mcp and hands Claude twelve voice tools, on every plan including Free. Add it with a single command in Claude Code, or as a custom connector in Claude Desktop and claude.ai, then ask Claude to read a script aloud.

That's the short version. Below are the exact setup steps for each client, the full tool list, prompts that get a good result on the first try, and what a call costs in points.

What the text to speech MCP server gives Claude

MCP is the standard that lets an assistant call a service's tools itself. Once VocalLab is connected, Claude can pick a voice, generate the audio and hand you the file inside the conversation. You skip the trip to the app, and since the server is hosted there is nothing to install.

It runs on the same account and the same points as the API, which is why there is no separate fee for using MCP. The launch post has the background on both.

  • generate_speech — Text to speech with any voice and model, up to 2,000 characters per call. Returns the audio plus download and caption links.
  • list_voices — Search the catalog and your own clones and designed voices.
  • list_models — The speech models: v-studio, v-flash, v-pro and v-lite.
  • get_speech — Status and download links for an earlier generation.
  • get_captions — SRT subtitles for a generation, by phrase or word by word.
  • clone_voice — Clone a voice from a 15 to 30 second audio sample.
  • list_voice_languages — Languages and sample rules for cloning.
  • design_voice — Generate voice previews from a text description.
  • save_designed_voice — Keep the preview you like as a reusable voice.
  • delete_voice — Delete one of your clones or designed voices.
  • delete_speech — Delete a generation and its audio file.
  • get_balance — Check that the key works and read your points balance.

Connect it to Claude Code

You need an API key first. Sign in, create one on the API keys page of your account, and note that it starts with vl_live_. Every snippet below uses a placeholder, so swap in your own and keep it out of any file you commit.

claude mcp add --transport http vocallab https://mcp.vocallab.ai/mcp \
  --header "Authorization: Bearer vl_live_YOUR_KEY"

claude mcp list
Add the server over HTTP, then confirm Claude Code can see it.

Start a session and ask "check my VocalLab balance". Claude calls get_balance, which proves the key works and shows your points. If that answers, everything else will too.

Add the MCP server to Claude Desktop and claude.ai

Open Settings, then Connectors, then Add custom connector. Name it VocalLab and paste the server URL with your key on the end. The connector form has no field for headers, so the key rides in the URL itself.

https://mcp.vocallab.ai/mcp?key=vl_live_YOUR_KEY
Connector URL for clients that cannot send headers.

Treat that URL like a password: anyone who has it can spend your points. Don't paste it into a shared doc, a screenshot or a support ticket. If it leaks, revoke the key on the API keys page and make a new one.

If the Add custom connector option is missing, check your Claude plan and, in a team, what your admin allows. The limit is on the Claude side, not VocalLab's.

A voice MCP server in Cursor, VS Code and Windsurf

Cursor reads ~/.cursor/mcp.json. VS Code uses .vscode/mcp.json with a servers key where Cursor has mcpServers. Windsurf and other clients with remote-server support take the same URL and header.

{
  "mcpServers": {
    "vocallab": {
      "url": "https://mcp.vocallab.ai/mcp",
      "headers": { "Authorization": "Bearer vl_live_YOUR_KEY" }
    }
  }
}
Cursor config. In VS Code, rename mcpServers to servers.

A client that only runs local servers can bridge to the hosted one with mcp-remote. For the maintained copy of all these steps, the MCP setup page is the one to check, since client menus change faster than a blog post.

What a first session looks like

Run this sequence once so you can watch each tool fire. First ask for your balance. Then ask Claude to find a voice: it calls list_voices with a search term and returns a few ids with their accents. Pick one, hand over 300 characters, and it calls generate_speech.

That generation costs ⌈300 ÷ 15⌉ = 20 points. The reply carries the audio, a download link and a captions link, so asking for the SRT afterwards is a free lookup rather than another generation. Check get_balance again and you should see 20 points gone.

If you want an expressive read, ask for the v-studio model by name. It follows directions written into the text, such as [whispering], which v-flash does not follow. list_models shows what each model does before you spend anything on it.

Example requests that work well

Claude does better with a specific brief than a vague one. Name the voice style, the output you want and any limits, and it can chain the right tools without guessing. The difference shows up fast, as in the pair below.

Read this out loud and make it sound good.

Find a calm British male narrator voice, voice this paragraph with it, and give me the MP3 link. Generate it once, then ask me before you regenerate.

  • Pick, then voice

    "Find a Spanish narrator voice and voice this script, then give me SRT captions." Claude searches with list_voices, generates, then pulls get_captions.

  • Compare two voices

    "Voice the first paragraph in two different warm female voices so I can compare." Two short calls cost far less than a full script in the wrong voice.

  • Long scripts

    "Split this script at paragraph breaks into pieces under 2,000 characters and use the same voice for each." One call takes at most 2,000 characters, so say how to split.

  • Design a voice

    "Design a gravelly, unhurried voice for a lighthouse keeper and save the best preview." That runs design_voice, then save_designed_voice. Write the description in English.

What the MCP server costs in points

MCP bills exactly like the API: ⌈characters ÷ 15⌉ points per generation, with one point about one second of audio. A 1,350-character script is 90 points. The Free plan's 60 points cover 900 characters, roughly a minute of audio, which is plenty to test the setup.

One thing pushes the bill up without anyone noticing: Claude may retry when a result isn't what you asked for, and every retry is a new generation at full price. Telling Claude to generate once and ask before regenerating keeps the bill predictable.

Script lengthCharactersPoints on MCP
Short intro30020
One-minute read90060
Three-minute read2,700180 (two calls)

The model matters too. v-flash costs three quarters of the standard points and v-lite half, so ask for one by name when you're drafting and switch to the full model for the take you keep. Plans and top-ups are on the pricing page.

Limits and error messages to expect

  • 2,000 characters per call. Longer text has to be split by you or by Claude.
  • 60 requests a minute per key, 120 on Max. A normal chat never gets near it; a scripted loop might.
  • No streaming, no webhooks, no SLA. Each call returns a finished file.
  • Cloning needs a 15 to 30 second sample, and 30 seconds is the recommended length.

When a call fails, the message comes from the API underneath. A 402 means the balance is short, 413 means a script over 2,000 characters, 404 means Claude used a voice id that doesn't exist for your account, and 429 means the minute's 60 requests are spent. Each one is plain enough that Claude can usually explain it and fix the next attempt itself.

For the wider picture of what a voice server lets an assistant do, see what an AI voice MCP server can do.

Prefer to write the loop yourself? The same calls work outside Claude, and the AI voice API page covers access and limits.

Frequently asked questions

What is the VocalLab MCP server URL?

https://mcp.vocallab.ai/mcp. It uses the Streamable HTTP transport and takes your API key as an Authorization: Bearer header, or as a ?key= parameter in clients that can't set headers.

Do I need a paid plan to use it in Claude?

No. The MCP server works on every plan, Free included. Calls spend the same points as the API, and the Free plan starts with 60 points.

Which apps does it work with?

Any MCP client that supports remote servers: Claude Code, Claude Desktop and claude.ai through a custom connector, Cursor, VS Code and Windsurf. ChatGPT works where your workspace allows custom MCP connectors.

How many tools does it expose?

Twelve: generate_speech, list_voices, list_models, get_speech, get_captions, clone_voice, list_voice_languages, design_voice, save_designed_voice, delete_voice, delete_speech and get_balance.

How much does one request cost?

Characters divided by 15, rounded up, in points. A 900-character script costs 60 points, and each regeneration costs the full amount again.

Connect Claude and read one paragraph aloud

Add the server, ask for your balance, then voice 300 characters for about 20 points.