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)
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:
- Open Customize → Connectors, choose +, then Add custom connector.
- Paste the server URL above and choose Add.
- 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
Using ChatGPT? Open VoiceLabs' published ChatGPT app, add it and approve the consent screen.
Or add it by hand:
- Open Settings → Connectors (Apps) and add VoiceLabs from the directory.
- Sign in to VoiceLabs and approve the consent screen.
- 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/mcpRun /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:
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.