MCP server

A text-to-speech MCP server for Claude, ChatGPT and Cursor

VoiceLabs is a hosted, remote MCP server. Connect it to your AI app and the app can speak text in your own voices, clone a voice from a recording you provide, and transcribe audio. You sign in and approve access with OAuth 2.1, so there is no API key to paste. Speech runs on seven engines built on open-source models, on our GPUs.

SERVER URL

https://app.voicelabs.now/api/mcp

Streamable HTTP, stateless. Listed on the official MCP Registry as now.voicelabs/voicelabs.

33 tools, each behind a permission you approve

An app sees only the tools its permissions cover. The sentence under each permission is the one the consent screen shows you before you approve.

voice:read

Read your voices, profiles, and past generations.

list_voice_profiles
List the account's cloned and preset voices.
list_captures
List recent captures and their transcripts.
get_generation
Poll a generation for status and, once done, its audio URL.
billing_status
Plan, trial or renewal state and this month's usage.
list_plans
Plans and list prices.
get_referral_summary
The Refer & Earn link with its counts and earnings.
list_api_keys
The account's API keys (never the secret).
list_granted_scopes
The permission tiers this connection holds and the ones it does not.
request_scopes
A one-time link to reconnect this app with more permission tiers.
list_connections
Connected AI apps, Slack links and browser extensions.
list_support_tickets
The support messages this account has sent.
get_profile
The account's name, email, avatar and plan status.

voice:generate

Generate speech, transcribe audio, and add built-in (preset) voices to your account on your behalf. Cannot clone a real person's voice.

speak
Generate speech in one of the account's voices.
transcribe
Transcribe an audio clip.
ensure_voice_profile
Create or reuse a preset voice profile by name.

voice:clone

Create a cloned voice from a recording you provide

clone_voice_profile
Create a cloned voice from a recording you provide, inline or by URL.

voice:delete

Delete voice profiles and captures from your account.

delete_voice_profile
Permanently delete a voice profile (asks for confirmation first).
delete_capture
Permanently delete a capture (asks for confirmation first).

billing:manage

See your plan and usage, start an upgrade, and cancel, resume or refund your subscription.

upgrade_plan
A one-time link to start or change Pro; the user pays on that page.
manage_subscription
Cancel, refund or open the billing portal (cancel and refund ask for confirmation).

account:manage

Read and change your profile and notification preferences, export your data, and delete your account.

update_profile
Change the display name or avatar.
update_notification_prefs
Switch Refer & Earn update emails on or off.
export_data
Everything VoiceLabs holds for the account, inline or as a download link.
delete_account
Permanently delete the account (asks for confirmation first).

connections:manage

See and disconnect connected apps (Slack, the browser extension, AI apps) and get links to connect more.

get_connect_links
One-time links to connect Slack or a browser extension.
disconnect
Disconnect an AI app, Slack link or extension (asks for confirmation first).
reverify
Re-check that a connection still works.

support:write

Contact VoiceLabs support and report content on your behalf.

create_support_ticket
Send a message to VoiceLabs support; replies go to the account email.
report_content
Report abusive or unlawful content to the Trust and Safety desk.

keys:manage

Create, rotate and revoke API keys.

create_api_key
Create an API key no stronger than this connection; the secret is shown once.
rotate_api_key
Replace an API key with a new one (asks for confirmation first).
set_api_key_ceiling
Set or remove an API key's monthly generated-audio ceiling.
revoke_api_key
Delete an API key (asks for confirmation first).

speak returns as soon as the job is queued; the app then polls get_generation for the audio link, so an app that generates speech should ask for both voice:generate and voice:read. The server also registers search_tools and execute_typescript, which let an app run several of these calls in one round trip under exactly the same permissions.

Connect it to your AI app

Every app below finds the sign-in on its own. It sends you to VoiceLabs, you sign in, and a consent screen names the app and the permissions it asked for. Nothing is connected until you approve.

Claude (claude.ai and the desktop app)

Add to Claude

Fastest: opens claude.ai with VoiceLabs pre-filled as a custom connector. Click Add, approve the consent screen, done. It syncs to Claude Desktop and mobile.

Or add it by hand:

  1. Open Customize → Connectors, choose +, then Add custom connector.
  2. Paste the server URL above and choose Add.
  3. Sign in to VoiceLabs in the window that opens and approve the consent screen.

On a Team or Enterprise plan, an owner adds the connector once under Organization settings → Connectors, and each member then chooses Connect.

ChatGPT

Open in ChatGPT

Using ChatGPT? Open VoiceLabs' published ChatGPT app, add it and approve the consent screen.

Or add it by hand:

  1. Open Settings → Connectors (Apps) and add VoiceLabs from the directory.
  2. Sign in to VoiceLabs and approve the consent screen.
  3. Ask ChatGPT to list your VoiceLabs voices, then to say something in one.

ChatGPT’s VoiceLabs app does not ask for the cloning permission yet, so clone_voice_profile is not available there. A voice you clone in the studio is.

Claude Code

claude mcp add --transport http --scope user voicelabs https://app.voicelabs.now/api/mcp

Run /mcp inside Claude Code, select voicelabs (it shows as needing authentication), and approve the consent screen in the browser tab that opens. The connection is then reused by every later session.

Step by step, with a check that it worked: the Claude Code guide.

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (this project only)
{
  "mcpServers": {
    "voicelabs": {
      "url": "https://app.voicelabs.now/api/mcp"
    }
  }
}

Open Cursor Settings -> MCP, click Connect next to voicelabs, and approve the OAuth consent screen.

Step by step, with a check that it worked: the Cursor guide.

VS Code

.vscode/mcp.json (workspace)
{
  "servers": {
    "voicelabs": {
      "url": "https://app.voicelabs.now/api/mcp",
      "type": "http"
    }
  }
}

Open the Command Palette -> "MCP: List Servers" -> voicelabs -> Start, then approve the OAuth screen in the browser tab that opens.

Step by step, with a check that it worked: the VS Code guide.

Other coding agents

Step-by-step guides for Codex, Windsurf (Devin Desktop), OpenCode and GitHub Copilot. Or copy one sentence, paste it into your agent, and it sets itself up:

Add to Claude

Any other MCP client that supports remote servers over streamable HTTP with OAuth works the same way: give it the server URL and it discovers the sign-in from https://app.voicelabs.now/.well-known/oauth-protected-resource. The connection docs cover every argument and error code; the agent setup page has a guide for each coding agent.

Hosted vs local TTS MCP servers

Text-to-speech MCP servers come in two shapes, and each is the right choice for someone.

Hosted (remote), like VoiceLabs

  • Runs on the provider’s servers; your app connects over HTTPS.
  • Nothing to install and no GPU of your own.
  • Works from assistants that run in a browser or on a phone, which cannot start a program on your computer.
  • One sign-in, and the voices you make are shared by the studio, the API and every app you connect.
  • Your text is sent to the provider to be spoken.

Local (stdio)

  • Runs on your own computer; your app starts it as a program.
  • Needs its runtime installed, plus a model your hardware can run or a speech API key in its config.
  • Works only in desktop apps on that computer.
  • Text and audio can stay on your machine, and it can work offline.

Choose a local server when your text must never leave your machine or you need to work offline. Choose a hosted one when you want the same voices in every app and on every device without keeping a model running yourself.

Questions about the MCP server

What is a text-to-speech MCP server?
A server that gives an AI assistant speech tools through the Model Context Protocol (MCP), the open standard Claude, ChatGPT, Cursor and other assistants use to call outside tools. With VoiceLabs connected, you can ask your assistant to read a script aloud in one of your voices: it calls speak, polls get_generation until the audio is ready, and gets back a link to it. VoiceLabs offers 33 tools this way.
Does it need an API key?
No. The server accepts only an OAuth 2.1 access token. Your AI app registers itself, sends you to VoiceLabs to sign in, and you approve what it may do on a consent screen, so there is nothing to copy or paste. A VoiceLabs API key does not work here: API keys are for the HTTP API.How the sign-in worksThe HTTP API and its API keys
Which AI apps can connect to it?
Claude (claude.ai, the desktop app and Claude Code), ChatGPT, Cursor, VS Code, Codex, Windsurf (Devin Desktop), OpenCode, and GitHub Copilot, and any other MCP client that connects to remote servers over streamable HTTP and signs in with OAuth. Clients that call the server straight from JavaScript in a web page (cross-origin) are not supported yet.Setup guides for coding agents
Can it clone my voice?
Yes. clone_voice_profile creates a cloned voice from a short recording you provide, inline or by URL, and speak can then use it. It needs the voice:clone permission, which the consent screen asks as its own question because cloning takes a recording of a real person, so an app that did not ask for it cannot clone. ChatGPT's VoiceLabs app does not ask for it yet: clone the voice in the VoiceLabs studio instead, and ChatGPT can then speak with it.Responsible use
What does it cost?
The MCP server has no charge of its own. Speech it generates counts against your VoiceLabs plan's monthly allowance, exactly like speech made in the studio. VoiceLabs Pro is US$8 a month or US$59 a year and includes 2 hours of generated audio a month (fair use), with a 7-day trial that asks for a card up front.Pricing
How do I disconnect it?
Open app.voicelabs.now/connections and disconnect the app. It is refused from its very next request, even if its access token has not expired yet. Removing the connector inside Claude or ChatGPT only stops that app from calling; VoiceLabs keeps the grant until you disconnect it there.

VoiceLabs Pro is US$8 a month or US$59 a year, with a 7-day trial. The MCP server is included at no extra charge.

Disconnect any app at any time from app.voicelabs.now/connections. Model Context Protocol, Claude, ChatGPT, Cursor and VS Code are the names and marks of their respective owners; VoiceLabs is not affiliated with, endorsed by, or sponsored by any of them.