VoiceLabs
Text-to-speech, voice cloning and transcription for AI assistants, over a hosted OAuth MCP server.
Hosted MCP Server
npx add-mcp 'https://app.voicelabs.now/api/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
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.
Seven 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.
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.
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)
- 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
- 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/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:
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 seven tools this way.
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 works
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
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
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
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.