MewCP LogoAStheTech
MCPs
Use Cases

Use cases by category

Productivity & InboxInbox, calendar, and daily flowEngineering & DevOpsShip, debug, and run on-callSales & CRMPipeline, outreach, and dealsMarketing & GrowthCampaigns, SEO, and growthSupport & SuccessTriage tickets, keep customers happyFinance & OpsClose, reconcile, and expensesCreative & ContentGenerate assets and contentPeople & HiringHiring, onboarding, and HRResearch & DataSynthesize data and insights
See all use cases
Resources
BlogsProduct updates and storiesArticlesIntegration guides and code examples
PricingDocsSign in
MewCP Logo

Infrastructure You Can Trust for Agentic Products

X

Categories

  • Productivity & Docs
  • Developer Tools
  • CRM & Sales
  • Finance & Commerce
  • Data & Analytics
  • Marketing & SEO
  • Search & Web
  • Communication
  • View All Servers →

Resources

  • Blog
  • Docs
  • Privacy Policy
  • Terms of Service

Blogs

  • View All Blogs →

Articles

  • View All Articles →
Browse Servers|Pricing|Contact

Browse by Category

Productivity & Docs

  • Gmail
  • Google Drive
  • YouTube
  • Google Calendar
  • Google People
  • Google Classroom
  • Notion
  • ClickUp
  • Figma
  • Google Tasks
  • Cal
  • Monday
  • Luma
  • Notion MCP
  • Mem MCP
  • Linear MCP
  • Calendly MCP
  • Consensus MCP
  • Craft MCP
  • Close MCP
+ 23 more
  • Dice MCP
  • Lumin PDF MCP
  • Develop21 MCP
  • Granola MCP
  • Lucid MCP
  • Mermaid Chart MCP
  • Fireflies MCP
  • ClickUp MCP
  • Miro MCP
  • Llamaindex MCP
  • Otter MCP
  • Mobbin MCP
  • Descript MCP
  • ToDoist MCP
  • SlidesGPT MCP
  • AgileHero MCP
  • JobYap MCP
  • AccountHub MCP
  • Slicktrip MCP
  • Gemina MCP
  • QrVerloz
  • Tempreon MCP
  • HyperFrames MCP

Developer Tools

  • Gemini
  • Veo
  • ClickUp
  • Firecrawl
  • Vercel
  • Apify
  • Github
  • Chef
  • Scientific Calculator
  • Figma
  • HTTP
  • Perplexity
  • Apify MCP
  • Hugging Face Hub MCP
  • Buildkite MCP
  • Cloudflare MCP
  • Context7 MCP
  • Ahrefs MCP
  • Sentry MCP
  • Brevo Docs MCP
+ 54 more
  • X Docs MCP
  • Jev
  • Linear MCP
  • Calendly MCP
  • Craft MCP
  • DeepWiki MCP
  • Inspo MCP
  • Kernel MCP
  • Malwarebytes MCP
  • Mermaid Chart MCP
  • Supabase MCP
  • Microsoft Learn MCP
  • Webflow MCP
  • Scalar Docs MCP
  • Oneuptime MCP
  • Redocly MCP
  • Reducto Docs MCP
  • Llamaindex Docs MCP
  • B12 MCP
  • Lucid Docs MCP
  • Airwallex Docs MCP
  • Langfuse Docs MCP
  • Glen Docs MCP
  • AgentMail
  • Gogs Docs MCP
  • Netlify MCP
  • Neon MCP
  • Minlify Admin MCP
  • Mintlify Index MCP
  • Fern Docs MCP
  • Greptile MCP
  • Statssif Docs MCP
  • Scorecard MCP
  • Railway MCP
  • Inkbox AI
  • Stele MCP
  • LastPing MCP
  • ConsentStack
  • Iubenda MCP
  • BSV.CX MCP
  • Agent Traffic Lab MCP
  • Nippy MCP
  • Just Domain MCP
  • Grafana Cloud MCP
  • HotAPI Docs
  • Endoflife.ai MCP
  • ElevenLabs MCP
  • Laso Docs MCP
  • OpenRouter MCP
  • Replit MCP
  • Tripadvisor Docs MCP
  • GitLab MCP
  • Mailchimp Docs MCP
  • Clerk MCP

CRM & Sales

  • Google People
  • OneSignal MCP
  • Brevo Docs MCP
  • Brevo
  • Brevo MCP
  • Carbon Voice MCP
  • Clay MCP
  • Close MCP
  • Attio MCP
  • Clarify MCP
  • Hunter.io
  • Plain MCP
  • Modem MCP
  • Whats MCP

Finance & Commerce

  • Kite
  • Razorpay
  • Polymarket
  • Stripe
  • Binance
  • Upstox
  • Aiwyn MCP
  • Era-Context-MCP
  • Granted MCP
  • XDC AI MCP
  • Agentery MCP
  • Agent Embassy
  • Quick Commerce MCP
  • Longbridge MCP
  • Mercury MCP
  • Blockscout MCP
  • Octagon AI MCP
  • Stripe MCP
  • Taskrabbit MCP
  • SeatGeek MCP
+ 16 more
  • Clarity AI MCP
  • Beyond Payday MCP
  • DeFade MCP
  • MobileMRR MCP
  • SecondAppraisal MCP
  • Brek MCP
  • Coinversa Pulse MCp
  • Supermetrics Marketing Analytics MCP
  • DeepLedger MCP
  • Laso MCP
  • Laso Docs MCP
  • Razorpay MCP
  • Kiwi MCP
  • lastminute mcp
  • Coinfuty MCP
  • Pyth MCP

Data & Analytics

  • Apify MCP
  • Cloudflare MCP
  • Ahrefs MCP
  • Candid MCP
  • Consensus MCP
  • Contentsquare MCP
  • Era-Context-MCP
  • Instinct MCP
  • legal Data Hunter MCP
  • Marcopolo MCP
  • Mixpanel MCP
  • MOSPI MCP
  • Hex MCP
  • OpenRevenue MCP
  • Statsig MCP
  • Synthesize Bio MCP
  • PostHog MCP
  • PopHIVE MCP
  • Fuse Health MCP
  • Cliometry MCP
+ 5 more
  • AccuWeather MCP
  • ChEMBL MCP
  • ClinicalTrials.gov MCP
  • Staats MCP
  • NPI Registry MCP

Marketing & SEO

  • YouTube
  • Google Business
  • Mailchimp
  • Google Search Console
  • OneSignal MCP
  • Cloudflare MCP
  • Brevo Docs MCP
  • Brevo
  • Brevo MCP
  • AirOps MCP
  • Clay MCP
  • Contentsquare MCP
  • Reelsmith MCP
  • GoDaddy MCP
  • Metricool MCP
  • Webflow MCP
  • Windsor MCP
  • Commonroom MCP
  • B12 MCP
  • Hunter.io
+ 14 more
  • Get MCP Ads
  • Minlify Admin MCP
  • Zernio MCP
  • Affiliatespy MCP
  • VarynForge
  • ListingGood MCP
  • North Noir MCP
  • Supermetrics Marketing Analytics MCP
  • NitroSend MCP
  • Spicy MCP
  • Cromanion MCP
  • Manifold MCP
  • Cloro MCP
  • Agency AI MCP

Search & Web

  • Web Scrapper
  • Firecrawl
  • Apify
  • Perplexity
  • Context.dev
  • Exa
  • Brave Search
  • Apify MCP
  • Ahrefs MCP
  • DeepWiki MCP
  • Dice MCP
  • GoDaddy MCP
  • Granted MCP
  • Microsoft Learn MCP
  • Viator MCp
  • Scholargateway MCP
  • Parallel MCP
  • Mintlify Index MCP
  • OpenWeather MCP
  • Simplescraper MCP
+ 8 more
  • SearchApi MCP
  • PubMed MCP
  • YouTube Transcript AI MCP
  • AccuWeather MCP
  • bioRxiv MCP
  • HEY Research Lab MCP
  • CourtListener MCP
  • Elicit MCP

Communication

  • Gmail
  • Google Meet
  • Google Calendar
  • Mailchimp
  • WhatsApp
  • Slack
  • OneSignal MCP
  • Brevo Docs MCP
  • Carbon Voice MCP
  • Hunter.io
  • Outlook
  • Nylas MCP
  • Resend MCP
  • Read AI MCP
  • Whats MCP
  • Inkbox AI
  • QrVerloz
  • ElevenLabs MCP
  • Fathom MCP

© 2026 MewCP. All rights reserved.

  1. Home
  2. MCPs
  3. ElevenLabs MCP
ElevenLabs MCP

ElevenLabs MCP Integration for AI Agents

ElevenLabs enables AI agents to create, configure, and manage conversational voice agents, inspect conversation transcripts, manage knowledge bases and tools, run evaluations, review support tickets, estimate usage costs, and generate speech audio from text.

v0.1.0160 toolsOAuth
Open in ChatGPTChatGPT
Open in ClaudeClaude
Playground
VS CodeVS Code
Connected to ElevenLabs MCP via MewCP.

Encrypted at rest, isolated from the model

Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.

Try asking

Everything ElevenLabs MCP can do

Tools160

agents_list

read

List ElevenLabs Agents in the authenticated workspace.

agents_get

read

Get the full configuration for an ElevenLabs Agent. Defaults to the latest version on the agent's main branch; pass branch_id to read another branch's latest version, or version_id to read the exact configuration at any committed version (e.g. one returned by agents_get_branch). To see what a version changed, fetch it and its parent version (parents.in_branch_parent_id, or parents.out_of_branch_parent_id for the first version on a branch) and compare the two. The full document is large: pass fields, a list of dotted config paths such as conversation_config.tts, to get only those parts, keyed by path under config, alongside agent_id, branch_id and version_id.

agents_get_summaries

read

Get lightweight summaries for one or more ElevenLabs Agents.

agents_get_widget

read

Get widget configuration for an ElevenLabs Agent.

agents_get_link

read

Get the shareable link for an ElevenLabs Agent.

agents_get_knowledge_size

read

Get the size of an ElevenLabs Agent's knowledge base.

agents_calculate_llm_usage

read

Calculate expected LLM usage for an ElevenLabs Agent. API reference: https://elevenlabs.io/docs/api-reference/agents/calculate

agents_list_conversations

read

List conversations for the authenticated workspace, optionally filtered to a specific agent via agent_id.

agents_get_conversation

read

Get the details of a conversation, including its transcript and analysis results.

agents_get_conversation_summary

read

Get a lightweight summary of a conversation: its title, the generated transcript summary, whether the call was successful, and the plain chat messages when the conversation is short (up to max_messages turns; otherwise messages_omitted is set). Tool calls, tool results, and contextual updates are left out. Prefer this over agents_get_conversation when reading many conversations or when the gist is enough; use agents_get_conversation for the full transcript.

agents_duplicate

write

Duplicate an existing ElevenLabs Agent. API reference: https://elevenlabs.io/docs/api-reference/agents/duplicate

agents_delete

destructive

Permanently delete an ElevenLabs Agent together with all of its conversations. This cannot be undone. To hide an agent while keeping it and its history, archive it instead with agents_update_operations, passing archived: true.

agents_search_conversation_messages

read

Search the text of conversation transcripts and return the matching messages, each with its conversation_id, transcript_index, message text, and relevance score. This is the only way to find conversations by something that was said; agents_list_conversations filters on structured attributes and cannot search transcript text. Wrap text_query in double quotes to match the terms as written (do this for error codes, identifiers, and anything a user pasted); leave it unquoted to match fuzzily, tolerating one character of difference per term. Neither form is a substring or phrase match -- a multi-word query matches messages containing all of the terms in any position -- so read the returned text before treating a hit as an occurrence. Results are messages, not conversations: deduplicate by conversation_id before counting.

agents_semantic_search_conversation_messages

read

Search conversation transcripts by meaning rather than exact words, returning the most relevant messages with their conversation_id. Use it for questions phrased as intent (e.g. "callers asking to cancel", "the agent refusing a refund") where the wording varies; use agents_search_conversation_messages instead when the exact text is known (error codes, identifiers, quoted phrases). Narrow with agent_id and branch_id. Results are messages, not conversations: deduplicate by conversation_id before counting.

agents_resolve_conversation

read

Resolve a conversation reference (e.g. a dashboard URL or share link) to its conversation.

agents_get_topics

read

Get the conversation topics surfaced for an ElevenLabs Agent.

agents_list_branches

read

List the branches of an ElevenLabs Agent, main first, each with its name, parent_branch_id, last_committed_at, and current_live_percentage (its share of live production traffic; 0 means it receives none). When diagnosing production behavior, prefer branches with current_live_percentage > 0. Set include_commit_status to also get commits_ahead / commits_behind versus main for each branch (slower: it walks every branch's version history). Call agents_get_branch for one branch's full commit history.

agents_get_branch

read

Get a single branch of an ElevenLabs Agent, including its full commit history. Use this to see how a branch evolved: most_recent_versions lists every version committed to the branch, newest first, each with its id, commit message (version_description), seq_no_in_branch, time_committed_secs, and parents: in_branch_parent_id (the previous commit on this branch), out_of_branch_parent_id (the version the branch was forked from, on its first commit), merged_from_branch_id / merged_from_version_id (a merge that landed here), merged_into_branch_id, and rebased_from_version_id. For the agent's main branch, pass the first branch returned by agents_list_branches. Follow up with agents_get_version for one version's metadata, or agents_get with version_id for the full configuration at that version; to see what a version changed, compare its configuration with its in_branch_parent_id's.

agents_update_branch

write

Update a branch of an ElevenLabs Agent.

agents_get_version

read

Get metadata for a specific version of an ElevenLabs Agent: its branch_id, commit message (version_description), seq_no_in_branch, time_committed_secs, and parent/merge/rebase lineage (parents). Versions are immutable snapshots on a branch. Does not return the configuration; call agents_get with version_id for that.

agents_merge_branch_preview

read

Preview the changes that merging a source branch would apply, without mutating anything.

agents_merge_branch

destructive

Merge a source branch into its target branch.

agents_create_merge_proposal

write

Open a merge proposal asking to merge a source branch into a target branch, for someone with write access to the target to review and merge.

agents_list_merge_proposals

read

List the merge proposals for an agent, newest first.

agents_get_merge_proposal

read

Get a single merge proposal.

agents_update_merge_proposal

write

Edit an open merge proposal: change its title or description, replace the list of users asked to review it (requested_reviewer_user_ids), or close it without merging.

agents_review_merge_proposal

write

Approve a merge proposal or request changes on it. A user's latest review replaces their previous one.

agents_comment_on_merge_proposal

write

Leave a comment on a merge proposal without recording a review verdict.

agents_merge_merge_proposal

destructive

Execute the merge for an approved merge proposal. The caller must have write access to the target branch.

agents_create_deployment

destructive

Create or update the live traffic split across an ElevenLabs Agent's branches. Each call replaces the whole split, so include every branch that should keep traffic; percentages must total 100.

agents_create_draft

write

Create a draft for an ElevenLabs Agent.

agents_delete_draft

destructive

Delete the draft of an ElevenLabs Agent.

agents_create_procedure

write

Create a procedure on an agent branch. A procedure is a standard operating procedure the agent follows for one specific task: trigger says when the agent should use it, content says what to do. There are two types. A free-form procedure (type=free_form) is markdown instructions that are injected into the prompt when the procedure is active; the agent reads them and uses judgment about wording and order. A structured procedure (type=deterministic) is a list of typed steps the agent runs in a fixed order, every time. Set trigger as the top-level field; never write it inside content. For structured content, send the steps object JSON-encoded in content; its shape and rules are documented at https://elevenlabs.io/docs/eleven-agents/customization/procedures/structured-procedures. The procedure is a draft until the agent is published; saving the draft (agents_create_draft) and publishing both validate structured procedures and return per-procedure errors with the path of each offending step.

agents_list_procedures

read

List the procedures on an agent branch with their name, type and trigger. Does not return procedure content; call agents_get_procedure to read a body. A trigger says when a procedure fires, not everything its body handles -- a general or fallback procedure can cover a case its trigger never names -- so read the plausible candidates before concluding that no procedure handles something.

agents_get_procedure

read

Get a single procedure on an agent branch, including its full content. Use it to check what a procedure actually handles; agents_list_procedures only returns triggers.

agents_delete_procedure

destructive

Remove a procedure from an agent branch.

agents_get_procedure_draft

read

Get the draft of a procedure on an agent branch.

agents_update_procedure_draft

write

Update the draft of a procedure on an agent branch. Send name, content, type and trigger in full. type must be the procedure's existing type: a procedure's type cannot be changed after creation, so to convert between free_form and deterministic, create a new procedure instead. For structured content, send the steps object JSON-encoded in content; its shape and rules are documented at https://elevenlabs.io/docs/eleven-agents/customization/procedures/structured-procedures. The change is a draft until the agent is published; saving the draft (agents_create_draft) and publishing both validate structured procedures and return per-procedure errors.

agents_delete_procedure_draft

destructive

Delete the draft of a procedure on an agent branch.

agents_list_knowledge_base

read

List the documents in the workspace knowledge base.

agents_get_kb_document

read

Get a single knowledge base document.

agents_create_kb_text

write

Create a knowledge base document from raw text.

agents_create_kb_url

write

Create a knowledge base document from a URL.

agents_create_kb_folder

write

Create a folder in the knowledge base.

agents_update_kb_document

write

Update a knowledge base document's name and/or content.

agents_delete_kb_document

destructive

Delete a knowledge base document.

agents_bulk_delete_knowledge_base

destructive

Delete multiple knowledge base documents at once.

agents_bulk_move_knowledge_base

write

Move multiple knowledge base items into a folder.

agents_search_knowledge_base

read

Search the workspace knowledge base by content.

agents_query_knowledge_base_rag

read

Run a RAG query against an ElevenLabs Agent's knowledge base.

agents_get_kb_dependents

read

List the agents that depend on a knowledge base document.

agents_create_kb_crawl

write

Start a crawl job that follows links from a URL (or reads the given sitemap_urls) and adds each crawled page to the knowledge base as a document, inside a new folder. Limit the crawl with max_pages and a URL pattern; parent_folder_id places the folder. Set enable_auto_sync to re-crawl periodically (with auto_remove to drop pages that disappear). Returns immediately with the crawl job; pages arrive as the job runs. Use agents_create_kb_url instead for a single page.

agents_get_kb_rag_indexes

read

List the RAG indexes of a knowledge base document, with each index's embedding model, status (e.g. created, processing, succeeded, failed), and progress. An agent with RAG enabled can only retrieve from a document once it has a succeeded index for the agent's embedding model (conversation_config.agent.prompt.rag.embedding_model).

agents_compute_kb_rag_index

write

Start RAG indexing of a knowledge base document for an embedding model, or return the current status if an index for that model already exists. Pass the model the agent uses (conversation_config.agent.prompt.rag.embedding_model in the agent's configuration) so the agent can retrieve from the document. Indexing runs in the background; poll the document's RAG indexes until the status is succeeded.

agents_create_tool

write

Create an ElevenLabs Agent tool (client, webhook, or other type per the request body).

agents_list_tools

read

List the ElevenLabs Agent tools in the workspace.

agents_get_tool

read

Get a single ElevenLabs Agent tool.

agents_update_tool

write

Update an ElevenLabs Agent tool.

agents_delete_tool

destructive

Delete an ElevenLabs Agent tool.

agents_get_tool_dependents

read

List the agents that depend on a tool.

agents_get_tool_executions

read

Get the execution history for a tool.

agents_create_mcp_server

write

Register an MCP server that agents can use as a tool source.

agents_list_mcp_servers

read

List the MCP servers registered in the workspace.

agents_get_mcp_server

read

Get a single registered MCP server.

agents_update_mcp_server

write

Update the configuration of a registered MCP server.

agents_delete_mcp_server

destructive

Delete a registered MCP server.

agents_list_mcp_server_tools

read

List the tools exposed by a registered MCP server.

agents_list_secrets

read

List the workspace secrets that agent tools, MCP servers, and integrations can reference, with each secret's id, name, and the resources that use it. Secret values are never returned. Use it to find the secret_id to reference from a tool or MCP server config instead of pasting a credential.

agents_create_test

write

Create an agent response test.

agents_list_tests

read

List the agent response tests in the workspace.

agents_get_test

read

Get a single agent response test.

agents_delete_test

destructive

Delete an agent response test.

agents_update_test

write

Replace an agent response test's definition. This is a full replacement, not a patch: read the current test first, change the fields you need, and send the complete test back, or fields you leave out are reset. parent_folder_id is ignored here; use agents_move_tests to move a test.

agents_create_test_folder

write

Create a folder for organizing agent tests, optionally inside parent_folder_id.

agents_move_tests

write

Move tests or test folders (entity_ids) into the folder move_to, or to the root when move_to is omitted.

agents_run_tests

write

Run a suite of tests against an ElevenLabs Agent.

agents_list_test_runs

read

List test-suite invocations (test runs) in the workspace.

agents_get_test_run

read

Get the details of a single test-suite invocation (test run).

agents_list_phone_numbers

read

List the phone numbers in the workspace.

agents_get_phone_number

read

Get a single phone number.

agents_update_phone_number

write

Update a phone number (e.g. assign it to an agent).

agents_delete_phone_number

destructive

Delete a phone number from the workspace.

agents_list_triage_tickets

read

List an agent's conversation triage tickets, ordered by most recently created first. These are tickets about the agent's own performance on a conversation (for triage with Architect), not tickets an agent opens for end users.

agents_create_manual_triage_ticket

write

Manually raise a follow-up ticket against an agent, not tied to any conversation (for example a task like 'add the KB about X').

agents_get_triage_ticket_assignable_users

read

List workspace members who can be assigned a conversation triage ticket for an agent, flagged with whether they currently have at least viewer access to the agent.

agents_get_triage_ticket

read

Get a conversation triage ticket by ID.

agents_create_triage_ticket

write

Raise a ticket about an agent's performance on a conversation, for triage with Architect. Provide an overall comment and/or turn-level comments describing what went wrong.

agents_update_triage_ticket

write

Update a conversation triage ticket's comment, status, priority, and/or assignee.

agents_add_triage_ticket_comment

write

Append a comment discussing how to resolve a conversation triage ticket.

agents_add_triage_ticket_turn_comment

write

Append a turn-level comment to a conversation triage ticket.

agents_delete_triage_ticket

destructive

Delete a conversation triage ticket. Restricted to the ticket creator or a workspace admin.

agents_update

write

Rename an ElevenLabs Agent, replace its tag list, or label the version this change publishes. Metadata only: everything about what the agent says or how it behaves lives in a sibling agents_update_* tool, such as agents_update_prompt_settings for the system prompt or agents_update_voice for the voice. Supplying tags replaces the whole list rather than appending to it. API reference: https://elevenlabs.io/docs/api-reference/agents/update Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of name, tags as saved by this call, limited to the fields this tool accepts.

agents_update_agent_behavior

write

Set how an ElevenLabs Agent conducts a conversation: its first message and whether callers may interrupt it, the spoken language, Hinglish mode, dynamic variable placeholders, text behavior overrides, and the message played when a conversation hits its maximum duration. The system prompt and LLM settings are in agents_update_prompt_settings. dynamic_variables and text_behavior_overrides are replaced wholesale rather than merged. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of the fields it sets under conversation_config.agent as saved by this call, limited to the fields this tool accepts.

agents_update_prompt_settings

write

Set the system prompt of an ElevenLabs Agent and the model that runs it: prompt text, LLM choice, temperature, token limit, reasoning effort and thinking budget, knowledge base and RAG, a custom LLM endpoint, a backup LLM, the agent's timezone, whether the default personality is ignored, and which custom tools are attached (tool_ids). Each built-in tool has its own agents_update_*_tool tool. tool_ids and custom_llm.request_headers are replaced wholesale rather than merged, so send the whole list you want the agent to end up with. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of the fields it sets under conversation_config.agent.prompt as saved by this call, limited to the fields this tool accepts.

agents_update_end_call_tool

write

Configure the built-in end call tool on an ElevenLabs Agent, which lets the agent hang up on its own once the conversation is finished. Read the agent's current configuration first: this writes the whole tool slot, so name and params are required even when only one field is changing, and a slot that is currently unset will be rejected without them. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.agent.prompt.built_in_tools.end_call as saved by this call, limited to the fields this tool accepts.

agents_update_transfer_to_agent_tool

write

Configure the built-in transfer to agent tool on an ElevenLabs Agent, which hands the conversation to another agent along one of the transfer rules in params.transfers. Read the agent's current configuration first: this writes the whole tool slot, so name and params are required even when only one transfer rule is changing. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.agent.prompt.built_in_tools.transfer_to_agent as saved by this call, limited to the fields this tool accepts.

agents_update_language_detection_tool

write

Configure the built-in language detection tool on an ElevenLabs Agent, which lets the agent switch to a language the caller speaks, optionally only at the start of the conversation. Read the agent's current configuration first: this writes the whole tool slot, so name and params are required even when only one field is changing. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.agent.prompt.built_in_tools.language_detection as saved by this call, limited to the fields this tool accepts.

agents_update_transfer_to_number_tool

write

Configure the built-in transfer to number tool on an ElevenLabs Agent, which forwards a phone call to a human on one of the numbers in params.transfers. Read the agent's current configuration first: this writes the whole tool slot, so name and params are required even when only one number is changing. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.agent.prompt.built_in_tools.transfer_to_number as saved by this call, limited to the fields this tool accepts.

agents_update_skip_turn_tool

write

Configure the built-in skip turn tool on an ElevenLabs Agent, which lets the agent stay silent when the caller has asked for a moment to think. Read the agent's current configuration first: this writes the whole tool slot, so name and params are required even when only one field is changing. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.agent.prompt.built_in_tools.skip_turn as saved by this call, limited to the fields this tool accepts.

agents_update_keypad_tone_tool

write

Configure the built-in play keypad touch tone tool on an ElevenLabs Agent, which plays DTMF tones so the agent can navigate an automated phone menu. Read the agent's current configuration first: this writes the whole tool slot, so name and params are required even when only one field is changing. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone as saved by this call, limited to the fields this tool accepts.

agents_update_voicemail_detection_tool

write

Configure the built-in voicemail detection tool on an ElevenLabs Agent, which recognizes when an outbound call reached a voicemail system and optionally leaves a message. Read the agent's current configuration first: this writes the whole tool slot, so name and params are required even when only one field is changing. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.agent.prompt.built_in_tools.voicemail_detection as saved by this call, limited to the fields this tool accepts.

agents_update_speech_recognition

write

Set how an ElevenLabs Agent hears incoming audio: the speech-to-text quality tier, input audio format and sample rate, the user input audio transcription provider, and whether background voice detection filters out speech that is not the caller. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.asr, conversation_config.vad as saved by this call, limited to the fields this tool accepts.

agents_update_turn_taking

write

Set how an ElevenLabs Agent decides when to speak: turn timeouts, silence and end-call thresholds, the turn detection mode and eagerness, backchannelling, and how it handles a caller who says nothing. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.turn as saved by this call, limited to the fields this tool accepts.

agents_update_voice

write

Set the voice an ElevenLabs Agent speaks with: voice ID, TTS model, output format, stability, speed and similarity, pronunciation dictionaries, optimize-streaming-latency, and the supported voices callers can switch between. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.tts as saved by this call, limited to the fields this tool accepts.

agents_update_conversation

write

Set the session-level limits and modalities of an ElevenLabs Agent: maximum conversation duration, which text and audio modalities are accepted, client events streamed to the caller, and whether the conversation may be recorded. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.conversation as saved by this call, limited to the fields this tool accepts.

agents_update_language_presets

write

Set the per-language overrides an ElevenLabs Agent applies when a conversation runs in a language other than its default: translated first message and system prompt, and a language-specific voice. The preset map is replaced wholesale rather than merged, so send every language you want to keep. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of conversation_config.language_presets as saved by this call, limited to the fields this tool accepts.

agents_update_widget

write

Restyle the embeddable chat widget of an ElevenLabs Agent: colors, radii, placement and size, avatar, the button and expandable variants, on-screen copy and terms text, feedback and transcript controls, language selection, and mic muting. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of platform_settings.widget as saved by this call, limited to the fields this tool accepts.

agents_update_analysis

write

Set what an ElevenLabs Agent extracts from finished conversations: evaluation criteria, analysis items, data collection fields and their scopes, the LLM used for analysis, the summary language, topic discovery and sentiment analysis. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of the fields it sets under platform_settings as saved by this call, limited to the fields this tool accepts.

agents_update_operations

write

Set the operational policy of an ElevenLabs Agent: authentication and allowed origins, privacy and retention, concurrency and daily call limits, call queueing, trust context, alerting thresholds, test configuration, transcript auto-translation, and whether the agent is archived. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of the fields it sets under platform_settings as saved by this call, limited to the fields this tool accepts.

agents_update_client_overrides

write

Choose which parts of an ElevenLabs Agent's configuration a client may override when it starts a conversation, and which of those the workspace allows at all. This grants permission to override; it does not set the values themselves. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of platform_settings.overrides, platform_settings.workspace_overrides as saved by this call, limited to the fields this tool accepts.

agents_update_guardrails

write

Set the content guardrails an ElevenLabs Agent enforces on a conversation: which categories are blocked, how strictly, and what the agent does when a guardrail trips. Returns agent_id, branch_id and version_id, and under config, keyed by path, the stored values of platform_settings.guardrails as saved by this call, limited to the fields this tool accepts.

agents_create_branch

write

Create a new working branch for an ElevenLabs Agent, forked from an existing version. The branch starts as a copy of that version; change its configuration afterwards with the agents_update_* tools, which all take an optional branch_id.

agents_create

write

Create a new ElevenLabs Conversational AI agent from a compact set of common fields. Use this for normal agent creation, then refine the result with the agents_update_* tools. API reference: https://elevenlabs.io/docs/api-reference/agents/create

agents_disable_built_in_tool

write

Take one of the built-in system tools away from an ElevenLabs Agent, so it can no longer end the call, transfer, detect language and so on. The matching agents_update_*_tool tool is what turns a tool back on and configures it; this one only clears the slot. Clearing a slot that is already empty changes nothing but still publishes a new version, so check the agent's configuration first. Returns agent_id, branch_id and version_id, and names the cleared slot's path under unset.

agents_update_workflow

write

Replace the whole conversation workflow graph of an ElevenLabs Agent. This tool takes the graph as an opaque object and does not describe its shape, so it is only usable when you already have a complete workflow document to send; building one from scratch is not something this tool can guide. Direct the user to the Agents Platform workflow editor instead. Everything outside the workflow graph is configured by the agents_update_* tools. Returns agent_id, branch_id and version_id, and a workflow_summary of the saved graph's node and edge counts and each node's type, rather than the graph itself.

agents_create_code_tool

write

Create a code tool: runs custom JavaScript in a sandboxed environment, for logic a webhook can't express. Requires an Enterprise workspace plan -- the underlying API call fails with a 'code tools are not enabled' error otherwise. Docs: https://elevenlabs.io/docs/eleven-agents/customization/tools/code-tools

agents_update_code_tool

write

Update a code tool. This PATCH replaces the whole tool config, so supply either `body` (the full replacement config) or all of name/description/source_code -- omitting `body` drops any parameters, execution_context, dynamic_variables, or response_mocks the tool previously had. Requires an Enterprise workspace plan. Docs: https://elevenlabs.io/docs/eleven-agents/customization/tools/code-tools

creative_generate_image

write

Generate an image from a text prompt. This is the tool for any request to create an image. Returns at once with flow_id, node_id and session_ids, plus a url the user can open to keep editing on the canvas. If a view renders it tracks progress on its own; otherwise poll creative_get_flow_run_status with the flow_id and session_ids until all_completed or has_failures is true. Pass that flow_id back to add to the same flow; omit it and a flow is created. If this generation will feed another (lipsync, a voiceover), call creative_create_flow first and pass that flow_id here and to every related call — nodes on different flows cannot be connected. Spends credits: pass estimate_only to price a run before committing to it, and never call this a second time to retry — that starts and charges a second generation.

creative_generate_video

write

Generate a video from a text prompt. This is the tool for any request to create a video. Returns at once with flow_id, node_id and session_ids, plus a url the user can open to keep editing on the canvas. If a view renders it tracks progress on its own; otherwise poll creative_get_flow_run_status with the flow_id and session_ids until all_completed or has_failures is true. Pass that flow_id back to add to the same flow; omit it and a flow is created. If this generation will feed another (lipsync, a voiceover), call creative_create_flow first and pass that flow_id here and to every related call — nodes on different flows cannot be connected. Spends credits: pass estimate_only to price a run before committing to it, and never call this a second time to retry — that starts and charges a second generation.

creative_generate_speech

write

Generate speech from a text prompt. This is the tool for any request to create speech. Returns at once with flow_id, node_id and session_ids, plus a url the user can open to keep editing on the canvas. If a view renders it tracks progress on its own; otherwise poll creative_get_flow_run_status with the flow_id and session_ids until all_completed or has_failures is true. Pass that flow_id back to add to the same flow; omit it and a flow is created. If this generation will feed another (lipsync, a voiceover), call creative_create_flow first and pass that flow_id here and to every related call — nodes on different flows cannot be connected. Spends credits: pass estimate_only to price a run before committing to it, and never call this a second time to retry — that starts and charges a second generation.

creative_edit_image

write

Edit an existing image already on this flow: pass its node_id as connect_from and it starts at once. That node can be one an earlier creative_generate_image call on this same flow just produced ("make it darker", "same image but at sunset"), one from creative_add_flow_asset_node, or one from creative_upload_flow_reference. It must be on this flow_id — pass back the flow_id the earlier call returned rather than letting a new flow be created; nodes on different flows cannot be connected. connect_from is required; a call with none raises — call creative_upload_flow_reference first for a file on the user's own machine. Never say this connector cannot edit images, and never ask the user to attach a file to the chat. Returns flow_id, node_id and session_ids, plus a url to keep editing on the canvas. If a view renders it tracks progress on its own; otherwise poll creative_get_flow_run_status until all_completed or has_failures is true. Spends credits: never call this a second time to retry. For an image edit driven by a reference — 'change X into Y in this image' — use gpt-image-2.5-sunburst unless the user names a model. It is the default for this specifically; the plain text-to-image default does not apply once a reference is wired.

creative_transcribe_audio

write

Transcribe speech in an audio file into text. This is the tool for any request to transcribe, caption or "what does this audio say". Pass connect_from with the audio node already on the flow and it starts at once; omit it and a picker is shown to the user that lets them record from their microphone or pick a local file, then uploads the audio and starts the transcription itself. Returns flow_id, node_id and session_ids, plus a url the user can open to keep editing on the canvas. If a view renders it tracks progress on its own; otherwise poll creative_get_flow_run_status until all_completed or has_failures is true — the transcript comes back in `transcripts`, each with per-word start/end seconds in `words` for captions and subtitles, plus `words_download_url` for the full list. Pass flow_id back to stay on the same flow. Do not call this a second time to retry; that starts and charges a second transcription.

creative_generate_in_flow

write

Generate an image, video or speech in one call: creates a flow when flow_id is omitted, adds the node, and starts the generation. Returns flow_id, node_id and session_id, plus a link the user can open to keep editing on the canvas. Use this instead of creative_create_flow + creative_add_flow_node + creative_run_flow_nodes for a single generation. Prefer creative_generate_image, creative_generate_video or creative_generate_speech when the modality is one of those — they are the same thing with node_type already set. Use this one for the other node types, and the three-step path only to wire several nodes together. If this generation will feed another (lipsync, a voiceover), call creative_create_flow first and pass that flow_id here and to every related call — nodes on different flows cannot be connected. AFTER calling: if a view renders it tracks progress on its own; otherwise poll creative_get_flow_run_status with the flow_id and session_ids until all_completed or has_failures is true. Pass estimate_only to price a run first. Do not call this again to retry — a second call starts a second generation and is charged again.

creative_create_flow

write

Create an empty flow on the user's canvas and return its flow_id. Call this FIRST whenever the request combines generations — lipsync, a video with a voiceover, anything wiring one output into another — and pass the flow_id to every call that follows, so they all land somewhere they can be connected. Not needed for a single one-off generation.

creative_get_flow

read

Read a flow's nodes, connections and per-node run state, so an existing flow can be inspected before it is changed.

creative_get_flow_node

read

Read one node's full settings without changing it: prompt, model_id, model_parameters, and every input port with the nodes connected to it (an empty connected_to means nothing feeds that port).

creative_get_flow_node_types

read

List the node types and models this workspace can actually run in its region, with their default model. Call this before adding a node rather than guessing a node type.

creative_add_flow_node

write

Add one node to a flow without running it. Use connect_from to feed an earlier node's output into this node, which is how a multi-step flow is built. Creates a flow when flow_id is omitted.

creative_add_flow_asset_node

write

Put an existing asset or a previous generation on the flow as a node, so it can be wired into another node's reference input with creative_connect_flow_nodes. Reference inputs (reference_images, start_frame, image, audio, and similar) are input ports wired with edges, never model_parameters. The returned node id is authoritative — some calls return an already-existing node rather than creating one.

creative_upload_flow_reference

write

Use this when the user wants a file from their own machine as a reference for a generation — for example "change the cat to a dog in this image". Returns at once with a node_id already on the flow — wire it with connect_from right away. The node is EMPTY until the user picks a file in the rendered picker; once they do, it is uploaded into that same node, and completion is published as widget context. This starts no generation and spends no credits. Not for an asset already in the workspace library — use creative_get_available_assets plus creative_add_flow_asset_node for that.

creative_connect_flow_nodes

write

Wire an edge between two nodes that already exist on a flow. Unlike creative_add_flow_node's connect_from, which only wires a node as it is created, this repairs or extends the connections on nodes already on the canvas — for example when connect_from could not resolve a port and left the new node unwired.

creative_disconnect_flow_nodes

write

Remove the edges between pairs of nodes on a flow, the reverse of creative_connect_flow_nodes. Both nodes stay on the canvas. If any pair has no edge between them, or feeds a node that is not a generation node, nothing is disconnected and the error names that pair.

creative_delete_flow_nodes

destructive

Delete nodes from a flow, along with every edge into or out of them. The batch is all or nothing. Their past generations stay in the user's history. Only delete nodes the user asked to remove.

creative_update_node

write

Update an existing node's model, parameters, prompt, or label. A static asset node takes only a label change. BEFORE passing model_parameters or model_id: call creative_get_model_schema(node_type, model_id) for the effective model_id during the current turn — parameter names and allowed values vary by model, and an invented name fails validation instead of being coerced. Switching model_id resets model_parameters and can change the node's input ports — the result's input_ports names the new ones, and orphaned_edges names any connection the switch dropped, which creative_connect_flow_nodes can then rewire. This never starts a generation; call creative_run_flow_nodes for that.

creative_update_flow_nodes

write

Apply creative_update_node to up to 50 nodes on one flow in a single call, in order. Returns only each node's success or error, not the updated nodes, so a large sweep stays small. A failed entry does not stop the rest: retry just the entries whose success is false. The same rules as creative_update_node apply to each entry. This never starts a generation.

creative_run_flow_nodes

write

Start generating on nodes that already exist. Charges the workspace, so poll creative_get_flow_run_status rather than calling this again.

creative_get_flow_run_status

read

Check whether a run has finished and read its generations, without showing anything to the user — this never renders a view. Poll it with the flow_id and session_ids a run returned, waiting poll_after_seconds between calls, until all_completed or has_failures is true. Call creative_show_flow_results instead when the goal is to put the results in front of the user.

creative_show_flow_results

read

Put a run's generations back in front of the user, rendering the same view a run starts with. Use this when the user should see results that are not already showing — for example after a run finished off-screen, or when the user asks to see something already generated. Call with the flow_id and session_ids a run returned.

creative_get_model_guide

read

Read prompting guidance for a specific model. Worth calling before writing a prompt for an unfamiliar model, since guidance differs a lot between them.

creative_get_model_schema

read

Read a model's configurable parameters — names, types, and allowed values — without changing anything. Call this for the effective model_id before passing model_parameters to creative_update_node: names and allowed values vary by model, so a name guessed from a different model (for example 'duration' instead of 'duration_secs') fails validation rather than being coerced. Reference or connectable fields (start_frame, reference_images, reference_audios, and similar input ports) are wired with creative_connect_flow_nodes, never passed inside model_parameters.

creative_list_voices

read

Search the voices this workspace can speak with, to choose one for a speech node instead of asking the user for a voice id. Combine the free-text search with languages, accent, gender, age, use_cases, descriptives, voice_category and sort filters to narrow results — e.g. a 'warm storytelling male' request reads better as search='warm storytelling' with gender='male' than as search text alone. descriptives and voice_category ('professional'/'famous') narrow results to library voices.

creative_design_voice

write

Design a brand-new voice from a text description. Not for picking a voice that already exists — use creative_list_voices for that. Needs two things from the user, never invented or auto-generated: the actual line the previews will speak (text, 100-1000 characters) and its language. Returns three previews to choose between — the result renders a picker; once the user picks one, call creative_save_designed_voice with its generated_voice_id to keep it in the workspace's voice library. The rendered view lets the user edit the line themselves and regenerate; view_state_id is how it does that and is never something you should set. Spends credits: never call this a second time to retry — that generates and charges for three more previews.

creative_save_designed_voice

write

Save one preview from creative_design_voice into the workspace's voice library, returning a voice_id usable with creative_generate_speech. Call this only once the user has picked which preview to keep.

creative_get_voice_design_previews

read

Reads back the previews of an earlier creative_design_voice round from its previews[].generated_voice_ids. Preview URLs are short-lived and expire, so this is how you get playable ones again without spending credits on another creative_design_voice call.

creative_get_view_state

read

For the view to call when it mounts, not for you — never call this yourself. Reads back the state a view previously saved under view_state_id, so a view reopened in an old chat can rehydrate.

creative_save_view_state

write

For the view to call as its state changes, not for you — never call this yourself. Persists opaque UI state under view_state_id so a view reopened in an old chat can rehydrate what it showed.

creative_get_available_assets

read

Search the assets already in this workspace's library, so an existing upload can be used as a reference instead of asking the user to upload one again. Pass asset_ids instead to look up specific assets already known by id. Each row carries a short-lived preview_url; the asset_id itself goes to creative_add_flow_asset_node, or to creative_finalize_asset_upload with a flow_id, whose returned node_id is then passed as connect_from to a generation tool.

creative_create_asset_upload

write

Returns an upload_url; send the file's bytes there with a single HTTP PUT whose Content-Type matches mime_type exactly, then call creative_finalize_asset_upload with the returned asset_id. Never read the file into the conversation. The URL is short-lived and accepts only this one object at this exact size and type. origin is set by the view, never by the model.

creative_finalize_asset_upload

write

Call after the PUT to the upload_url succeeds; verifies the bytes landed and makes the asset usable as a reference. Pass flow_id to place the uploaded file on that flow as a reference node in the same call — its modality (image/video/audio) is derived from the file itself — then pass the returned node_id as connect_from to a generation tool. Pass node_id too when you already have a placeholder reference node waiting for this file — it fills that node instead of creating a new one.

creative_attach_reference_file

write

Use this when the file the user wants as a reference is already reachable — attached to this conversation, or at a direct https URL they gave you. We fetch it and store it as an asset, so nothing has to be uploaded again. Pass flow_id to place it on that flow as a reference node in the same call — its modality (image/video/audio) is derived from the file itself — then pass the returned node_id as connect_from to a generation tool. Pass node_id too when a placeholder reference node is already waiting for this file. Not for a file only on the user's own machine, and not for an asset already in the workspace library — use creative_get_available_assets plus creative_add_flow_asset_node for that.

creative_list_brand_kits

read

List the brand kits in this workspace, with a one-line summary of what each holds. Use it when the user refers to their brand, their logo or their style guide, then read the match with creative_get_brand_kit. Brand kits are managed in the ElevenLabs app, so a kit the user mentions usually already exists — list before creating one.

creative_get_brand_kit

read

Read everything inside one brand kit: its colors, typefaces, dos and don'ts, guideline summaries, brand voice, and its logos and reference media. Call it before generating anything the user wants on brand, then word the colors, typefaces and rules into the prompt yourself. Each media entry carries a content_asset_id or generation_id: pass it to creative_add_flow_asset_node and wire the node it returns with connect_from to place a logo or reference in a generation. The voice's voice_id goes to creative_generate_speech.

creative_create_brand_kit

write

Create a brand kit from the colors, typography, rules, voice and workspace media you already know. Gather the brand facts first and create the kit in one call rather than creating an empty kit. A media item (logo, font, document, image, video) references an asset already in the workspace by content_asset_id — from creative_get_available_assets, creative_finalize_asset_upload or creative_attach_reference_file — or a finished generation by generation_id, read off a run's results. A voice item takes a voice_id from creative_list_voices.

creative_update_brand_kit

write

Change a brand kit's name or description without changing its items.

creative_delete_brand_kit

destructive

Delete a whole brand kit. Use creative_delete_brand_kit_item instead when the user only wants one item removed. This cannot be undone, so confirm with the user first.

creative_add_brand_kit_item

write

Add one logo, font, document, image, video, color palette, rules entry, or voice to an existing brand kit. A media item (logo, font, document, image, video) references an asset already in the workspace by content_asset_id — from creative_get_available_assets, creative_finalize_asset_upload or creative_attach_reference_file — or a finished generation by generation_id, read off a run's results. A voice item takes a voice_id from creative_list_voices.

creative_update_brand_kit_item

write

Replace one brand-kit item wholesale. Read the kit with creative_get_brand_kit first and resend every field that should be kept; the item's type cannot change.

creative_delete_brand_kit_item

destructive

Remove one item from a brand kit while leaving the rest in place.

creative_create_brand_kit_from_website

write

Build a new brand kit by reading a public website the user named: its logo, colors, typography and tone. Extraction is best-effort and takes a while; use the returned kit as a starting point and refine it with the item tools.

get_more_tools

read

Call this when the user's request cannot be completed with any of the available tools. Describe the capability you were looking for, so it can inform which tools get built next. Do not call it when an available tool already covers the request.

Connect ElevenLabs MCP to your agent

One endpoint, the same key, whichever client you use.

Apps

SDKs

Claude Desktop

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)

JSON
{
  "mcpServers": {
    "mewcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://gateway.mewcp.com/personal/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer API_KEY"
      }
    }
  }
}

Replace API_KEY with your own key.

Already have an "mcpServers" section in your config? Just add the server entry inside it.

  1. 01Open Claude Desktop → Settings → Developer → "Edit Config"
  2. 02Paste the snippet inside the outer { } of the config file (merge with your existing "mcpServers" section if you have one)
  3. 03Save the file, then quit Claude Desktop completely and reopen it
  4. 04Start a new conversation — your tool will be available

One endpoint. Every service.

VS CodeAny agent
One Gateway

Firecrawl

API Key

Github

OAuth

Google Calendar

OAuth

ElevenLabs MCP

OAuth

Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you

Separate connections░░░░░░░░░░░░░░░░░░░░░░░░░░░░249 tool definitions ~33k tokensWith MewCP░░░░░░░░░░░░░░░░░░░░░░░░░░░░4 meta-tools ~2.0k tokens

Built for AI agents

ElevenLabs MCP runs through a gateway that holds the credentials, scopes the access and records every call.

Managed authentication

  • OAuth to ElevenLabs MCP handled end to end, with tokens refreshed before they expire.
  • One credential per end user, not one shared key across your users.
  • Reconnect an account without touching your agent's config.

Credentials stay out of context

  • ElevenLabs MCP credentials are resolved at the gateway and attached to the outbound call.

Ready to connect ElevenLabs MCP?

Managed auth, hosted MCP servers, and every ElevenLabs MCP tool your agent needs.

Free to start.

  • The agent sees tool results, never a token.
  • Revoke an account and the next call stops working — no redeploy.
  • Scoped access, fully logged

    • Choose exactly which ElevenLabs MCP tools an agent is allowed to call.
    • Every call is logged with its outcome, latency and which account it ran as.
    • Catalog changes are reviewed before they ship, so tool descriptions cannot shift under you.

    One endpoint for every server

    • Reach ElevenLabs MCP through the same MCP endpoint as the rest of your toolset.
    • Tools are discovered on demand, so 160 tools do not fill the context window.
    • Stateless: no sessions to keep alive and no reconnect logic.