ElevenLabs for AI agents

ElevenLabs generates natural-sounding AI voices and conversational agents, used by creators and developers for narration, dubbing, and voice bots across video, audio, and customer-facing applications. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

AI and modelsAPI keyMCP + RESTelevenlabs.io
AUDIT LOG · ELEVENLABSPOLICY: acme-support
09:41:07 · claude · u_8f2read
elevenlabs.list_dubs
List Dubs✓ allowed · 212ms
09:41:08 · claude · u_8f2read
elevenlabs.get_voice
Get voice✓ allowed · 164ms
09:41:09 · claude · u_8f2write
elevenlabs.create_music_plan
Generate Music Composition Plan✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
elevenlabs.delete_voice
Delete voice by id✕ blocked · policy: deny
EVERY ELEVENLABS CALL, ON THE RECORD
01 · USE CASES

What agents do in ElevenLabs.

01

Generate speech from text

Convert a script into natural speech audio for a video or voice application.

02

Add a document to an agent's knowledge base

Add a knowledge base document so a conversational agent can answer questions grounded in it.

03

Confirm before deleting a voice

Require approval before deleting a custom voice, since other projects may still depend on it.

02 · ACTIONS

155 ElevenLabs actions, graded by risk.

Every ElevenLabs action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

75

Look things up. Allowed by default.

  • elevenlabs.get_voice
    Get voice
  • elevenlabs.list_dubs
    List Dubs
  • elevenlabs.get_models
    Get models
  • elevenlabs.get_voices
    Get voices list
  • elevenlabs.get_chapters
    Get chapters by project id
  • elevenlabs.get_projects
    Get projects
  • elevenlabs.get_user_info
    Get user info
  • elevenlabs.get_agent_link
    Get Agent Link
  • elevenlabs.get_convai_tool
    Get Conversational AI Tool
  • elevenlabs.get_dubbed_file
    Get dubbed audio for a language
  • elevenlabs.get_convai_agent
    Get Conversational AI Agent
  • elevenlabs.get_convai_tools
    Get ConvAI tools
  • elevenlabs.get_agent_details
    Get agent details
  • elevenlabs.get_chapter_by_id
    Get chapter by ID
  • elevenlabs.get_project_by_id
    Get project by ID
  • elevenlabs.get_shared_voices
    Get shared voices
+ 59 MORE

write

60

Create and change things. Allow, or ask the user first.

  • elevenlabs.add_voice
    Add a voice
  • elevenlabs.add_project
    Add new project with attributes
  • elevenlabs.add_sharing_voice
    Add sharing voice
  • elevenlabs.create_music_plan
    Generate Music Composition Plan
  • elevenlabs.create_convai_tool
    Create Conversational AI Tool
  • elevenlabs.update_convai_tool
    Update Conversational AI Tool
  • elevenlabs.update_convai_agent
    Update Conversational AI Agent
  • elevenlabs.create_convai_secret
    Create ConvAI Workspace Secret
  • elevenlabs.update_convai_secret
    Update ConvAI Workspace Secret
  • elevenlabs.create_similar_voices
    Get similar library voices
  • elevenlabs.update_convai_settings
    Update Convai Settings
  • elevenlabs.create_single_use_token
    Create Single Use Token
  • elevenlabs.create_workspace_webhook
    Create Workspace Webhook
  • elevenlabs.update_workspace_webhook
    Update Workspace Webhook
  • elevenlabs.add_outbound_phone_number
    Add outbound phone number
  • elevenlabs.create_convai_agent_testing
    Create Conversational AI Agent Test
+ 44 MORE

destructive

20

Delete, cancel or archive. Ask first, or deny outright.

  • elevenlabs.delete_voice
    Delete voice by id
  • elevenlabs.delete_sample
    Delete voice sample
  • elevenlabs.delete_chapter
    Delete chapter from project
  • elevenlabs.delete_project
    Delete project by id
  • elevenlabs.delete_mcp_server
    Delete MCP server
  • elevenlabs.delete_convai_tool
    Delete conversational AI tool
  • elevenlabs.delete_convai_agent
    Delete Conversational AI Agent
  • elevenlabs.delete_history_item
    Delete history item
  • elevenlabs.delete_phone_number
    Delete phone number by id
  • elevenlabs.delete_convai_secret
    Delete workspace secret
  • elevenlabs.delete_dubbing_project
    Delete a dubbing project
  • elevenlabs.cancel_convai_batch_call
    Cancel Batch Call
  • elevenlabs.delete_workspace_webhook
    Delete workspace webhook
  • elevenlabs.delete_convai_conversation
    Delete conversation by ID
  • elevenlabs.delete_convai_agent_testing
    Delete agent response test
  • elevenlabs.delete_convai_batch_calling
    Delete batch call
+ 4 MORE
03 · HOW IT WORKS

ElevenLabs in three steps.

  1. 01Your users connect ElevenLabsThey add their ElevenLabs api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “generate Music Composition Plan” can wait for the user, and “delete voice by id” can be denied outright.
  3. 03Any agent can actYour agent calls ElevenLabs through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('elevenlabs', {
  read: 'allow',
  write: 'ask',        // create_music_plan
  destructive: 'deny',  // delete_voice
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How ElevenLabs connects.

Users add their ElevenLabs api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same ElevenLabs connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use ElevenLabs from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

ElevenLabs and Arc0, answered.

Q01

Can I use ElevenLabs with Claude, ChatGPT or Cursor?

Yes. Connect ElevenLabs to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the ElevenLabs actions you allow.

Q02

How do users connect ElevenLabs?

Users add their ElevenLabs api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which ElevenLabs actions can my agent take?

155 in total: 75 read, 60 write and 20 destructive, such as “generate Music Composition Plan”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in ElevenLabs?

Yes. Actions like “delete voice by id” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call ElevenLabs too?

Yes. The same ElevenLabs connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug ElevenLabs into your agent.

Your users connect ElevenLabs once, under your brand. Your agent gets 155 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan