Skip to main content
ElevenLabs Documentation Docs

Search documentation

Type to search this documentation.

On this pageOverview

Model Context Protocol

User Responsibility

You are responsible for the security, compliance, and behavior of any third-party MCP server you integrate with your ElevenLabs conversational agents. ElevenLabs provides the platform for integration but does not manage, endorse, or secure external MCP servers.

The Model Context Protocol (MCP) is an open standard that defines how applications provide context to Large Language Models (LLMs). Think of MCP as a universal connector that enables AI models to seamlessly interact with diverse data sources and tools. By integrating servers that implement MCP, you can significantly extend the capabilities of your ElevenLabs conversational agents.

ElevenLabs allows you to connect your conversational agents to external MCP servers. This enables your agents to:

  • Access and process information from various data sources via the MCP server
  • Utilize specialized tools and functionalities exposed by the MCP server
  • Create more dynamic, knowledgeable, and interactive conversational experiences

MCP is disabled by default for every workspace. Before anyone can add or use MCP servers, one member of the workspace must opt in on the workspace's behalf.

The opt-in happens automatically the first time someone tries to add an MCP server from the MCP server integrations dashboard. A dialog asks them to review and accept the Model Context Protocol Server Terms — accepting enables MCP for the entire workspace, so every member with access to ElevenAgents can then add MCP servers and attach them to agents.

You can enable or disable MCP for the workspace directly by updating the can_use_mcp_servers workspace setting:

Python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.settings.update(can_use_mcp_servers=True)
TypeScript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.settings.update({ canUseMcpServers: true });

Setting can_use_mcp_servers back to false disables MCP for the workspace. Existing MCP server integrations are kept, but agents can no longer use them until the setting is enabled again.

Once MCP is enabled for the workspace, each MCP server you add is its own resource: the member who creates it can share it with other workspace members individually, similar to sharing an agent or a knowledge base document.

In this example, we'll use Zapier MCP, which lets you connect ElevenAgents to hundreds of tools and services.

Navigate to the MCP server integrations dashboard and click Add Custom MCP Server.

Creating your first MCP server

Enter the following details:

  • Name: The name of the MCP server (e.g., "Zapier MCP Server")
  • Description: A description of what the MCP server can do
  • Server URL: The URL of the MCP server. If this contains a secret key, treat it like a password and store it as a workspace secret.
  • Secret Token (optional): Authorization header value
  • HTTP Headers (optional): Any additional headers the server requires

Click Add Integration to save the integration and test the connection to list available tools.

Zapier example tools

The MCP server is now available to add to your agents. MCP support is available for both public and private agents.

Adding the MCP server to an agent
Python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

server = elevenlabs.conversational_ai.mcp_servers.create(
    config={
        "url": "https://mcp.zapier.com/api/mcp/...",
        "name": "Zapier MCP Server",
        "description": "An MCP server with access to Zapier's tools and services",
        "approval_policy": "always_ask",
        "transport": "SSE",
    },
)

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "agent": {"prompt": {"mcp_server_ids": [server.id]}},
    },
)
TypeScript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

const server = await elevenlabs.conversationalAi.mcpServers.create({
  config: {
    url: "https://mcp.zapier.com/api/mcp/...",
    name: "Zapier MCP Server",
    description: "An MCP server with access to Zapier's tools and services",
    approvalPolicy: "always_ask",
    transport: "SSE",
  },
});

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    agent: { prompt: { mcpServerIds: [server.id] } },
  },
});

ElevenLabs provides flexible approval controls to manage how agents request permission to use tools from MCP servers. You can configure approval settings at both the MCP server level and individual tool level for maximum security control.

Tool approval mode settings
  • Always Ask (Recommended): Maximum security. The agent will request your permission before each tool use.
  • Fine-Grained Tool Approval: Disable and pre-select tools which can run automatically and those requiring approval.
  • No Approval: The assistant can use any tool without approval.

The Fine-Grained Tool Approval mode allows you to configure individual tools with different approval requirements, giving you precise control over which tools can run automatically and which require explicit permission.

Fine-grained tool approval
settings

For each tool, you can set:

  • Auto-approved: Tool runs automatically without requiring permission
  • Requires approval: Tool requires explicit permission before execution
  • Disabled: Tool is completely disabled and cannot be used

Key considerations for ElevenLabs integration

Section titled “Key considerations for ElevenLabs integration”
  • External servers: You are responsible for selecting the external MCP servers you wish to integrate. ElevenLabs provides the means to connect to them.
  • Supported features: ElevenLabs supports MCP servers that communicate over SSE (Server-Sent Events) and HTTP streamable transports for real-time interactions.
  • Dynamic tools: The tools and capabilities available from an integrated MCP server are defined by that external server and can change if the server's configuration is updated.

Integrating external MCP servers can expose your agents and data to third-party services. It is crucial to understand the security implications.

Important Disclaimer

By enabling MCP server integrations, you acknowledge that this may involve data sharing with third-party services not controlled by ElevenLabs. This could incur additional security risks. Please ensure you fully understand the implications, vet the security of any MCP server you integrate, and review our MCP Integration Security Guidelines before proceeding.

Refer to our MCP Integration Security Guidelines for detailed best practices.

  • Utilize publicly available MCP servers from trusted providers
  • Develop your own MCP server to expose your proprietary data or tools
  • Explore the Model Context Protocol community and resources for examples and server implementations
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu