VoiceLabs
AI voice generation: text-to-speech and voice cloning from any MCP client.
What it can do
- List Voice Profiles: List the user's VoiceLabs voice profiles — both cloned voices and presets — with language, engine, and usage counts. Read-only. A brand-new account has none yet: an empty list com
- List Captures: List the user's recent VoiceLabs captures (dictations, recordings, uploads) with their transcripts, most-recent first. Paginated via limit (1-200) and offset. Read-only.
- Get Generation: Look up a VoiceLabs generation by id to poll its status. Returns status (generating | completed | failed) and, once completed, the audio URL; a failed one carries a short human-readabl
What data it sees
Do you need an account
No: the server works without sign-in
AI voice generation: text-to-speech and voice cloning from any MCP client.
How to connect
How to connect VoiceLabs to Claude
The server address to paste into Claude settings:
https://voicelabs--voicelabs.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect VoiceLabs to ChatGPT
The server address to paste into ChatGPT settings:
https://voicelabs--voicelabs.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect VoiceLabs to Cursor
The server address to paste into Cursor settings:
https://voicelabs--voicelabs.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (9)
Raw names from tools/list. Only developers need these.
| list_voice_profiles | List the user's VoiceLabs voice profiles — both cloned voices and presets — with language, engine, and usage counts. Read-only. A brand-new account has none yet: an empty list comes back with an `emptyState` explaining how the user creates their first voice, which is what to relay instead of reporting that the tool failed. |
| list_captures | List the user's recent VoiceLabs captures (dictations, recordings, uploads) with their transcripts, most-recent first. Paginated via limit (1-200) and offset. Read-only. |
| get_generation | Look up a VoiceLabs generation by id to poll its status. Returns status (generating | completed | failed) and, once completed, the audio URL; a failed one carries a short human-readable error and a failureKind. Read-only. |
| ensure_voice_profile | Make sure a voice profile with the given name exists on the user's VoiceLabs account, creating it from one of VoiceLabs' built-in (preset) voices if it does not. Idempotent: calling it again with the same name returns the same profile with `created: false` and creates nothing. Use this when list_voice_profiles comes back empty, or when speak reports NOT_FOUND for a voice, then pass the returned id to speak. It cannot clone a real person's voice — that is clone_voice_profile, which needs the voice:clone scope and a recording. |
| speak | Generate speech from text in one of the user's VoiceLabs voice profiles. Returns a generationId with status "generating"; poll get_generation with that id to retrieve the audio URL once it completes. Pass profileId or profileName to choose the voice. |
| transcribe | Transcribe an audio file to text using VoiceLabs' Whisper. Give the audio exactly one way: audioUrl, a public https:// URL serving the file itself (wav, mp3, m4a, aac, ogg, flac, aiff or webm; up to 10 MiB), or audioBase64, the file's real bytes (≤10 MiB of base64 text). A payload that is not real audio — under 1 KiB, a bare header, or made-up placeholder bytes — is refused without being transcribed. If the user has an audio file you cannot read the bytes of, ask them for a public link, or to upload it on the Captures page of the VoiceLabs studio (https://app.voicelabs.now/studio). Returns the transcript and the created capture id. |
| clone_voice_profile | Create a cloned voice on the user's VoiceLabs account from a recording the caller provides: a name, the language, the exact text spoken in the recording, and the audio either inline as base64 (audioBase64) or as an https:// URL (audioUrl). The recording must be 2–30 seconds of clear speech. Returns the new profile's id, name, voice type and engine; pass the id to speak. Not idempotent: a second call with the same name is refused, so check list_voice_profiles first. Only clone a voice whose owner has agreed to it. |
| search_tools | Find the VoiceLabs MCP tools this connection can reach, returned as TypeScript declarations to call from execute_typescript. See the server instructions for the full contract. |
| execute_typescript | Run a short TypeScript program that orchestrates VoiceLabs MCP tools (found via search_tools) in an isolated sandbox. See the server instructions for the full contract. |