Large Language ModelsGenerate speechGenerate images

ElevenLabs MCP Server: Claude Code, ChatGPT and Cursor Setup

Connect the hosted ElevenLabs MCP server to Claude Code, ChatGPT and Cursor with one OAuth login. Get the exact commands, the mcp.json entry, regional URLs and fixes for sign in errors, then voice scripts in the browser on PicassoIA with ElevenLabs v3.

ElevenLabs MCP Server: Claude Code, ChatGPT and Cursor Setup
Cristian Da Conceicao
Founder of Picasso IA

Most tutorials for this setup still tell you to paste an API secret into a JSON file and launch a Python package called elevenlabs-mcp. That route is a dead end. The official GitHub repository is archived, its own notice calls the local server deprecated, and ElevenLabs now runs a hosted MCP server at https://api.elevenlabs.io/v1/mcp that signs you in with OAuth. There is no package to install, no secret sitting in a config file, and nothing to update when the next release ships.

This article connects that hosted server to Claude Code, ChatGPT and Cursor, with the exact commands, the JSON entry and the fixes for the errors people actually hit. After the three setups, you will also see how to use the same ElevenLabs voices straight in the browser on PicassoIA when you only need a voiceover and don't want a connection at all.

Silver ribbon microphone on a wooden desk stand in a recording nook with walnut slat walls

What the Hosted Server Changes

Before you type a single command, it helps to know why the setup looks so different from what you may have read last year. The old server was a program on your own computer. The new one is a service that your assistant calls over the internet, the same way it calls any other connector.

Hosted vs the Old Local Package

Hosted serverOld local package
Where it runsElevenLabs infrastructureYour machine, started by uvx
Sign inOne time OAuth, revocable anytimeAPI secret in an environment variable
InstallNothinguv plus the elevenlabs-mcp package
MaintenanceUpdated by ElevenLabsArchived repo, no longer actively maintained
Access controlWorkspace admins choose which tools it may callWhatever your API secret allows
Where results landYour ElevenCreative workspaceA folder on disk, ~/Desktop by default

The practical difference shows up the first time something breaks. With the local package, you had to sort out Python tooling, PATH problems and config file mistakes. With the hosted server, the only moving parts are a URL and a browser sign in.

💡 Already running the old package? It still works, so nothing forces you to move today. But a new setup has no reason to start there, and the setups below take less time than installing uv.

What Your Assistant Can Make

Once connected, the assistant gets a set of tools that reach into your ElevenLabs workspace. ElevenLabs groups them into two areas, ElevenCreative for generating media and ElevenAgents for building voice and chat agents. In plain terms, your assistant can:

  • Speak. Turn text into speech in any voice from the library, ready inside the conversation.
  • Transcribe. Scribe returns a clean transcript with speaker labels and timestamps across 99 languages.
  • Dub. Produce translated tracks that keep the original speaker's voice, tone and delivery.
  • Compose. Generate music in any genre or style, with or without vocals, plus sound effects.
  • Make visuals. Generate an image, edit it, animate it into video and add lipsync.
  • Manage agents. Inspect, create and update voice and chat agents, review conversations and transcripts, and handle tests and deployments.

Sound engineer's hands resting on an analog mixing console with faders and studio monitors behind

Everything you generate lands in your ElevenCreative workspace, where you can open it in Studio to finish the work. That detail matters more than it sounds: the audio is not trapped in a chat window, it sits in the same place as the rest of your projects.

Check These Before You Connect

You need three things: an ElevenLabs account, one of the supported clients, and the right server URL for your data region. Most people only need the first URL in the table.

RegionServer URL
Defaulthttps://api.elevenlabs.io/v1/mcp
EU residencyhttps://api.eu.residency.elevenlabs.io/v1/mcp
India residencyhttps://api.in.residency.elevenlabs.io/v1/mcp
Singapore residencyhttps://api.sg.residency.elevenlabs.io/v1/mcp

The residency URLs are meant for workspaces created with isolated data residency. If you have never heard that term inside your ElevenLabs account, the default URL is the one to use.

Two more things are worth a minute. First, the browser sign in picks up whichever ElevenLabs account is active, so log in to the account that owns the workspace you want your assistant to touch. Second, ElevenLabs does not publish per tool credit costs on its MCP pages, so treat your first runs as a test and watch your usage in the dashboard before you queue a long batch.

Top-down view of a wooden desk with a laptop, notebook diagram, coffee cup and smartphone

Claude Code Setup in Two Commands

Claude Code speaks remote MCP natively, which makes it the shortest path of the three. You can add only the server, or install the plugin that bundles the server with ready made skills.

Add the Server Only

Run this in your terminal, outside any Claude Code session:

claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp

Then finish the sign in from inside Claude Code:

  1. Start a session with claude.
  2. Type /mcp to open the server list.
  3. Select elevenlabs and choose to authenticate.
  4. Approve access in the browser window that opens, using your ElevenLabs account.

When the browser says you are connected, the server status in /mcp flips from needing authentication to connected, and the ElevenLabs tools show up in the list.

Install the Full Plugin

If you want more than raw tools, ElevenLabs ships a plugin that works in Claude Code, Cursor and OpenAI Codex. In Claude Code it takes two commands:

/plugin marketplace add elevenlabs/plugin
/plugin install elevenlabs@elevenlabs

The plugin adds three groups of skills on top of the connection:

  • General skills for text to speech in 70+ languages, speech to text, voice changer, sound effects, music and dubbing.
  • MCP skills for managing agents and for the creative studio, which includes speech, images, video and transcription.
  • Architect skills for building voice agents, from testing to deployment.

Authentication stays the same: you sign in with OAuth when the agent connects to the server for the first time.

Verify and Set the Scope

Check that the server registered and is healthy:

claude mcp list

By default, claude mcp add stores the server for the current project only. Add --scope user to make it available in every project on your machine:

claude mcp add --scope user --transport http elevenlabs https://api.elevenlabs.io/v1/mcp

Use --scope project instead when a whole team should share the same setup. That writes a .mcp.json file at the project root, and because the sign in happens through OAuth, the entry holds only the URL.

💡 Regional workspace? Swap the default URL for your residency URL from the table above. Everything else in the command stays identical.

Over-the-shoulder view of a developer typing at a standing desk beside a rainy window

Try a first prompt right away: "Read the README in this repo and generate a 20 second narration of the install steps in a calm voice." Claude Code reads the file, writes the script and calls the speech tool, and the finished audio appears in your ElevenCreative workspace.

Cursor Setup From Marketplace or JSON

Cursor gives you two routes, and both end with the same OAuth prompt. Pick the marketplace if you want skills, or the JSON file if you want full control over what loads.

One Click Marketplace Install

Open the Cursor marketplace, search for the ElevenLabs plugin and install it. The plugin brings the hosted server and its skills together, so your coding agent can reach speech, sound effects, music and dubbing without extra wiring. The first time it connects, Cursor asks you to sign in to ElevenLabs.

Manual mcp.json Entry

For a manual setup, add the server to your mcp.json. Use ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside one repository:

{
  "mcpServers": {
    "elevenlabs": {
      "url": "https://api.elevenlabs.io/v1/mcp"
    }
  }
}

Save the file and reload the window. Cursor prompts you to sign in with OAuth the first time it connects, and the ElevenLabs tools then appear in the MCP section of your settings. Notice what is missing from the JSON: no command, no args, no env block. A remote server needs a URL and nothing else.

Two developers pointing at a widescreen monitor in a bright brick loft workspace

A good Cursor test is narration for a demo: "Generate a voiceover for the checkout flow in this project, two sentences, friendly tone." If the agent asks permission before calling the tool, that is Cursor's tool confirmation doing its job, not an error.

ChatGPT Setup as a Custom Connector

ChatGPT is where the old local package fit worst. ChatGPT connects to MCP servers over the public internet, so a program running on your laptop was out of reach without a tunnel. A hosted server removes that obstacle entirely.

Add the Connector

The menu names in ChatGPT change between releases and plans, so follow the logic rather than the exact labels:

  1. Open ChatGPT settings and go to the connectors or apps section.
  2. Look for ElevenLabs in the directory. ElevenLabs lists a one click install with OAuth for ChatGPT.
  3. If it is not listed for your account, choose to add a custom connector.
  4. Enter the server URL https://api.elevenlabs.io/v1/mcp and pick OAuth as the authentication method.
  5. Sign in with your ElevenLabs account and approve the access request.
  6. In a new chat, enable the ElevenLabs connector from the tools menu before you prompt.

💡 Missing the option? On Business, Enterprise and Education workspaces, an admin may need to allow custom connectors first, usually through a developer mode toggle in workspace permissions. On personal plans, availability varies, so check your plan before you spend an hour debugging.

Young woman typing at a cafe table with a smartphone and headphones in morning light

Run a First Test Prompt

Start small so you can tell whether the connection or the prompt is at fault. These five work in ChatGPT, Claude Code and Cursor alike:

  • "Generate a 10 second welcome message in a warm female voice."
  • "Create a sound effect of rain on a tin roof, 8 seconds."
  • "Transcribe this recording and label each speaker."
  • "Write a 30 second product teaser and read it in a confident male voice."
  • "Dub this clip into Spanish and keep the original speaker's tone."

If the first prompt works, the rest will. If it fails with a message about tools or permissions, jump to the next section.

Fixing the Problems People Hit

Nearly every failure falls into one of three buckets: the sign in never finished, the account or region does not match, or an old setup is still in the way.

No Sign In Window Appears

In Claude Code, a freshly added OAuth server stays in a needs authentication state until you open /mcp, select it and start the sign in yourself. It usually does not open a browser tab on its own. In Cursor and ChatGPT, retry the connect action and check that your browser did not block the popup. If a tab opened on the wrong ElevenLabs account, sign out in the browser and repeat the flow.

Wrong Region or Blocked Tools

Two different symptoms hide here, and they have different fixes.

SymptomLikely causeFix
Sign in works but the workspace looks emptyDefault URL used for a residency workspaceSwitch to your regional server URL
The assistant says a tool is unavailableThe tool is disabled in the clientEnable it in the client's tool settings
A tool is refused after you approveThe workspace admin did not allow itAsk an admin to permit that tool
The assistant stops to ask before every callConfirmation is onLeave it on for credit-spending generations

Access is controlled in two layers. ElevenLabs OAuth permissions limit what the connection can do at all, and your client's own tool controls let you switch individual tools off or require confirmation before each call. Keeping confirmation on for anything that spends credits is a sensible default.

Weathered brass padlock on an old painted wooden door in late afternoon sun

Old Tutorials and API Secrets

If you followed an older post, an entry that launches uvx elevenlabs-mcp may still be in your config. Two servers exposing similar tools make the assistant pick unpredictably, so remove the old one:

claude mcp remove ElevenLabs

Use the exact name you gave it, and delete the matching block from claude_desktop_config.json or mcp.json if it lives there. Three other leftovers are worth cleaning up:

  • Environment variables such as ELEVENLABS_MCP_BASE_PATH and ELEVENLABS_MCP_OUTPUT_MODE belong to the local package and do nothing on the hosted server.
  • The Windows Developer Mode step that older Claude Desktop tutorials required is part of the local route, not the hosted one.
  • Pasted API secrets in config files should be rotated in the ElevenLabs dashboard, especially if the file ever reached a Git repository.

How to Use ElevenLabs v3 on PicassoIA

Not every job needs an assistant in the loop. If all you want is a voiceover from a finished script, ElevenLabs V3 on PicassoIA runs in the browser with no connection, no OAuth and no client to configure. It offers 25+ voices, multilingual output and fine controls over speed, tone and style.

Podcast creator in headphones reading a printed script into a microphone in a home studio

Steps in the Browser

  1. Open the ElevenLabs V3 model page.
  2. Paste your script into Prompt, the only required field.
  3. Choose a voice. The default is Rachel, and the list also includes Drew, Aria, Roger, Sarah, James and Juniper.
  4. Set the language code, for example en, es or fr.
  5. Adjust the controls in the table below.
  6. For long scripts, fill Previous Text and Next Text so intonation stays natural at sentence boundaries.
  7. Run the model, listen to the result and download the audio.
ControlRangeDefaultWhat it does
Speed0.25 to 4.01Sets the pacing of the speech
Style0.0 to 1.00Pushes delivery from flat narration to theatrical
Stability0.0 to 1.00.5Keeps the voice consistent across a long script
Similarity Boost0.0 to 1.00.75Holds the output closer to the voice profile

💡 Tip: For an audiobook chapter or a course module, raise Stability and leave Style near zero so sentence 40 sounds like sentence 1. For a trailer or a character voice, do the opposite.

Pick the Right ElevenLabs Model

ElevenLabs is not one model, and PicassoIA hosts several of them. Choose by the job, not by the newest name.

ModelBest for
ElevenLabs V3Expressive voiceovers with 25+ voices and style control
Flash v2.5Fast text to speech when speed matters most
Turbo v2.5Quick voiceovers in 32 languages
v2 MultilingualVoiceovers across 30+ languages
DubbingTranslating videos into 90+ languages

The script itself can come from a language model on the same platform. Draft it with Claude Sonnet 5 or GPT 5.6 Sol, paste the result into a voice model, and you have a narrated piece without leaving the browser.

💡 Two connectors, one assistant. PicassoIA also offers its own connector for generating images and videos from a chat. Run it next to the ElevenLabs connector and a single assistant can voice a script and illustrate it in the same conversation.

Make Your Own Visuals on Picasso IA

A voice is only half of a finished piece. Every video still needs a thumbnail, every podcast needs artwork, and every demo needs a few scenes that look like real photographs instead of stock clutter. That is the part Picasso IA handles in seconds.

Empty two chair podcast studio at dusk with microphones on boom arms and terracotta panels

Start with the PicassoIA Image model, or try Seedream 4.5 for a second take. Describe the subject, the light and the lens in one sentence, for instance "a podcaster at a wooden desk, window light from the left, 85mm lens, shallow depth of field", then change one detail at a time and compare the results. When a picture is close but not right, PicassoIA Image Editor Pro lets you edit it instead of starting over.

Pick one script you voiced today, generate three images to match it, and put the set together. You can browse every available model at picassoia.com/en/all-models and start experimenting right now.

Share this article