ElevenLabs MCP Claude Code: Hosted Install, OAuth, and Creative Tools
If you already live in Claude Code and want voice agents or creative generation without opening another dashboard, the ElevenLabs MCP Claude Code path is the hosted connector: one HTTP install, one OAuth sign-in, then natural-language tools for speech, transcripts, dubs, music, sound effects, images, video, and agent management. No local Python process. No API key pasted into a config file.
This tutorial walks developers through the preferred hosted setup on Claude Code, how OAuth and scopes work, what you can ask once connected, how that differs from the older local open-source server, and the status messages that usually mean "authenticate," not "broken."
Key Takeaways
- Prefer the hosted ElevenLabs MCP:
claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp, then/mcpinside a session to Authenticate (ElevenLabs MCP). - Hosted auth is OAuth scoped to your workspace—no API keys on the Claude Code side (hosted MCP docs).
- After connect, you can manage agents and generate creative assets (speech, Scribe transcripts, dubs, music, SFX, images, video) that land in ElevenCreative / Studio (product blog, Sep 2026).
- Use EU / India / Singapore residency URLs when your workspace is isolated—not the default global host.
- Anthropic's MCP ecosystem crossed 400M monthly SDK downloads and lists over 950 connectors in Claude's directory (Anthropic, Jul 28, 2026)—still verify every server you trust.
Terminal screenshot of claude mcp add --transport http elevenlabs … followed by /mcp showing Needs authentication → Connected.
Why ElevenLabs MCP Matters Inside Claude Code
Answer first: Claude Code is strongest when tools live in the same session as your repo. MCP (Model Context Protocol) is how it attaches remote tools; ElevenLabs publishes a hosted server so the assistant can call them over HTTP after OAuth—without tab-hopping for audio URLs, agent IDs, or Studio links.
Claude Code expects you to add remote servers from the terminal outside a session with claude mcp add --transport http <name> <url>, then use /mcp for status and OAuth (MCP servers, MCP quickstart).
ElevenLabs documents the Claude Code install on elevenlabs.io/mcp. The September 2026 creative launch also lists Claude, ChatGPT, Cursor, GrokBot, and Hermes—prefer those product install sections over a shorter FAQ line that only names Claude / Claude Code.
Anthropic warns you to verify you trust each MCP server—servers that fetch external content can expose you to prompt injection risk (MCP servers docs). Review OAuth scopes and approve destructive tools carefully.
Hosted vs Local ElevenLabs MCP (Do Not Mix Them Up)
Answer first: For Claude Code in 2026, start with the hosted server. The original GitHub elevenlabs/elevenlabs-mcp project is the local path (uvx elevenlabs-mcp + ELEVENLABS_API_KEY), and ElevenLabs now positions hosted as the maintained, no-local-server option.
| Approach | How it runs | Auth | Typical clients | Notes |
|---|---|---|---|---|
| Hosted MCP (preferred) | Remote HTTP at https://api.elevenlabs.io/v1/mcp | OAuth to workspace | Claude Code, Claude, ChatGPT, Cursor, and others per product pages | Nothing to install locally; revoke from client or ElevenLabs settings |
| Local open-source MCP | uvx elevenlabs-mcp (stdio) | ELEVENLABS_API_KEY in env | Historically Claude Desktop and similar | Repo README marks local as deprecated in favor of hosted |
Simple comparison bars — "Setup steps": Hosted = Add URL + OAuth (2); Local = Install uvx + API key + client JSON (3+). Caption: Hosted removes the local process and key paste.
ElevenLabs' MCP FAQ draws the same contrast: local + API key versus hosted + OAuth with nothing to maintain (ElevenLabs MCP FAQ). Treat uvx + Desktop JSON tutorials as the legacy path unless you need an offline local process.
Install Hosted ElevenLabs MCP in Claude Code
Answer first: Run the add command outside an interactive Claude Code session, then authenticate with /mcp inside a session.
1. Prerequisites
- Claude Code installed and signed in
- An ElevenLabs account with access to the workspace you want to authorize
- Network access to
api.elevenlabs.io(or your residency host)
2. Add the HTTP server (terminal, outside claude)
ElevenLabs documents Claude Code install as:
claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp
That matches Claude Code's remote pattern: --transport http, a name (elevenlabs), and the MCP URL (MCP quickstart).
Default local scope ties the server to the current project. For every project on your machine:
claude mcp add --scope user --transport http elevenlabs https://api.elevenlabs.io/v1/mcp
For team sharing via .mcp.json:
claude mcp add --scope project --transport http elevenlabs https://api.elevenlabs.io/v1/mcp
Project scope needs interactive approval on first use (MCP scopes).
3. Authenticate with /mcp
Start Claude Code in the same project (or any project if you used --scope user):
claude
Then:
/mcp
Select elevenlabs, choose Authenticate, and finish OAuth in the browser. Access is scoped to the workspace you approve—no API keys in Claude Code (hosted MCP).
Browser OAuth consent for ElevenLabs workspace permissions next to Claude Code /mcp panel.
4. Confirm connection
From another terminal (or after leaving the session):
claude mcp list
claude mcp get elevenlabs
Statuses you should recognize (MCP quickstart):
| Status | Meaning |
|---|---|
| Connected | Ready to call tools |
| Needs authentication | Reachable; finish /mcp → Authenticate |
| Failed to connect | URL, network, or config problem—not "try harder with an API key" |
Remove with claude mcp remove elevenlabs (pass --scope if the name exists in more than one scope).
Recommended verification: after OAuth, ask Claude Code to list agents or estimate cost for one agent. If tools are missing, reconnect from
/mcpbefore re-adding.
Data Residency URLs (EU, India, Singapore)
Answer first: Isolated residency workspaces must use the regional MCP host—not the default global URL—and OAuth with that environment's account.
| Region | MCP server URL |
|---|---|
| Global (default) | https://api.elevenlabs.io/v1/mcp |
| EU | https://api.eu.residency.elevenlabs.io/v1/mcp |
| India | https://api.in.residency.elevenlabs.io/v1/mcp |
| Singapore | https://api.sg.residency.elevenlabs.io/v1/mcp |
Example for EU at user scope:
claude mcp add --scope user --transport http elevenlabs-eu https://api.eu.residency.elevenlabs.io/v1/mcp
Then /mcp → Authenticate with the residency account, not a separate elevenlabs.io login if those differ (data residency).
Map-style diagram of four MCP endpoints (Global / EU / India / Singapore) with caption "Pick residency at connection time; OAuth binds that workspace."
What You Can Do Once Connected
Answer first: One connector covers ElevenAgents and ElevenCreative. Hosted docs cover agent CRUD, transcripts, cost estimates, and TTS download links; the September 2026 product blog adds broader creative generation on the same MCP.
Agent workflows (hosted MCP docs)
Per hosted MCP "What you can do", assistants can create and update agents (prompt, voice, language, first message), list/compare/duplicate/delete, review transcripts, estimate LLM cost, fetch widget links, check knowledge-base size, and generate speech as a short-lived download link.
Try prompts like:
- "Create a support agent for our docs—friendly, concise, escalate billing."
- "What would my checkout agent cost per conversation on Gemini 2.5 Flash instead of GPT-4o?"
- "Duplicate production, switch the voice, set the first message to Spanish."
- "Generate a sample of my agent's voice saying our new greeting."
Creative workflows (Sep 2026 launch)
The voice, music, image, and video MCP launch (published Sep 14, 2026; updated Sep 20, 2026) covers text to speech, Scribe speech-to-text (speaker labels and timestamps across many languages), dubbing, music and SFX, plus images and video (including edit / animate / lipsync flows described there).
Assets land in ElevenCreative for finishing in Studio. Admins control which tools the connection may call; residency is selected at connect time.
ElevenCreative / Studio timeline with a voiceover, music bed, and video frame generated from an assistant thread.
Deleting an agent is destructive. Use your MCP client's per-tool approval settings so write and delete calls require confirmation (hosted MCP — security).
Troubleshooting Common Status and Auth Issues
Answer first: Most failures are scope, OAuth, or wrong URL—not a missing ELEVENLABS_API_KEY on the hosted path.
Needs authentication forever
Finish /mcp → Authenticate. If the browser does not open, copy the URL from the terminal. After a failed callback, paste the full redirect URL into Claude Code when prompted (OAuth).
Failed to connect
- Match global vs residency URL exactly
curl -Ithe host to rule out network blocks- Run
claude mcp get elevenlabsand read the Issue line (HTTP status when available) - Do not "fix" hosted MCP by pasting an API key into
--headerunless ElevenLabs documents that auth model for your client
Tools missing after Connected
Reconnect from /mcp. Confirm OAuth permissions cover the actions you need. Admins can disable tools org-wide; users cannot re-enable admin-blocked tools (permissions).
Works in one folder only
You used local scope. Re-add with --scope user, or commit project .mcp.json and approve it in each clone.
Confused with the local server
If config still launches uvx elevenlabs-mcp, remove that stdio entry and use HTTP + OAuth (GitHub elevenlabs-mcp).
Flowchart — Status? → Needs auth → OAuth; Failed → URL/network; Connected but empty tools → reconnect / permissions; Local uvx still present → migrate to hosted.
Fit With Your Wider Claude Code MCP Stack
Answer first: ElevenLabs is one more remote HTTP MCP beside docs, browser, and research servers—not a replacement for them.
Pair it with a small core set such as The 5 MCPs That Turn Claude Code Into a Superpower. Keep names unique across scopes so claude mcp list stays readable.
Mobile and voice-product teams often wire push and auth next to agent experiments: OneSignal Expo and Firebase Auth Expo cover app runtime identity and notifications—not ElevenLabs MCP.
Soft CTA: building a voice-first Expo app? The Expo starter kit ships AGENTS.md, CLAUDE.md, and seven MCP entries for Claude Code and Cursor (Firebase, RevenueCat, Expo, OneSignal, Airbridge, HeroUI Native, Plunk via .mcp.json.example)—ElevenLabs is separate; add the hosted connector yourself with the steps above. For buy-vs-build context, see what an Expo boilerplate includes.
ElevenLabs is not in that kit's example MCP list. This post is how you add the hosted connector yourself.
FAQ
Is the hosted ElevenLabs MCP the same as the GitHub elevenlabs-mcp server?
No. Hosted is remote HTTP + OAuth. The GitHub project is the older local uvx server with an API key; ElevenLabs positions hosted as the preferred path.
Do I need an ElevenLabs API key for Claude Code?
Not for the hosted path documented here. You sign in with OAuth. API keys belong to the local/deprecated server and to REST usage outside this connector.
Which clients support ElevenLabs MCP?
ElevenLabs documents Claude Code install on elevenlabs.io/mcp. The creative launch also lists Claude, ChatGPT, Cursor, GrokBot, and Hermes—prefer those install sections over a shorter FAQ that only names Claude / Claude Code.
Can I use EU data residency with Claude Code?
Yes—add the EU (or India / Singapore) residency MCP URL instead of the global default, then OAuth with that environment's account.
Where do generated audio and video go?
Per the Sep 2026 product blog, generations land in your ElevenCreative workspace for refinement in Studio.
Conclusion
Getting ElevenLabs MCP into Claude Code is short on purpose: add the hosted HTTP endpoint, authenticate with /mcp, then keep agents and creative generation in one session. Prefer hosted OAuth over the local API-key server, match residency URLs to your workspace, and treat Connected / Needs authentication / Failed to connect as separate fixes.
Once connected, use plain-language prompts for agents plus speech, transcripts, dubs, music, SFX, images, and video—then finish precise cuts in ElevenCreative Studio. Add the server yourself, approve deletes carefully, and stack it beside your other Claude Code MCPs rather than expecting it in a kit's default list.
Next step: run the install from elevenlabs.io/mcp, complete OAuth, and ask Claude Code to list agents or generate a short voice sample for Studio.
References
- ElevenLabs MCP — install sections for Claude Code and other clients
- ElevenLabs hosted MCP documentation — OAuth, residency URLs, agent tools, permissions
- Introducing voice, music, image, and video generation in the ElevenLabs MCP — Aron Pammer & Aneri Amin; published Sep 14, 2026; updated Sep 20, 2026
- Claude Code — Connect to tools via MCP — transports, scopes,
/mcp, trust warning - Claude Code — MCP quickstart — add, list, statuses, OAuth example
- Bringing MCP 2026-07-28 to Claude — Anthropic; 400M monthly SDK downloads; 950+ connectors
- elevenlabs/elevenlabs-mcp (GitHub) — local
uvxserver; deprecated in favor of hosted - The 5 MCPs That Turn Claude Code Into a Superpower — CodeBaseHub
- OneSignal Expo: Production Push Setup and Common Errors — CodeBaseHub
- Firebase Auth Expo: Email, Google, Apple + Routes — CodeBaseHub
- What Is an Expo Boilerplate? — CodeBaseHub
- Expo starter kit — soft CTA destination
Related articles
- OneSignal Expo: Production Push Setup and Common ErrorsShip OneSignal push on Expo—development builds, permissions, tokens, Expo Go limits, APNs/FCM, External IDs, and the errors that waste hours, plus soft kit wiring notes
- Firebase Auth Expo: Email, Google, Apple + RoutesFirebase Auth on Expo—email, Google, Apple, guest, Expo Router gates, and fixes for invalid-credential, Expo Go, SHA-1, and Apple auth errors.
- How to Add RevenueCat Paywalls to an Expo App (Without Rebuilding Billing)A practical Expo guide to RevenueCat paywalls—install react-native-purchases, configure entitlements and offerings, presentPaywallIfNeeded, and go live with API keys plus a feature flag. RevenueCat integrated; key + flag to activate, not out-of-box subscriptions.