Server facts
ElevenLabs MCP
Project
- Author
- elevenlabs
- Repository
- github.com/elevenlabs/elevenlabs-mcp
- License
- MIT
- Category
- AI Models & Agents
Tech
- Runtime / language
- pythonPython
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 1,535Archived on GitHub
- Last commit
- Data as of
Tags
- Audio Transcription
- Elevenlabs
- Mcp Resources
- Speech Synthesis
- Voice Design
Overview
Output delivery is an important part of this ElevenLabs integration. The default behavior writes generated material to disk and reports its location, but a resource-only setting returns the content through MCP instead. Binary resources use base64 encoding, while text resources use UTF-8. A combined mode provides both forms, including later resource retrieval through the documented elevenlabs URI scheme. This gives a client without shared filesystem access an alternative to receiving unusable local paths. When relative paths are involved, a configurable base directory determines their location; the user's Desktop is the default.
This is the official ElevenLabs connection for assistants. Its documented audio tasks range from spoken output and voice cloning to recording transcription. The examples go beyond narration: they include designing character voices, transforming a recording's voice, generating an environmental soundscape, and distinguishing speakers in transcribed material. Clients mentioned include Windsurf and Cursor as well as Claude Desktop and OpenAI Agents. The quickstart uses uvx and an ElevenLabs API key, and tool usage requires account credits. An optional residency setting chooses a data region, but that capability is identified as enterprise-only. Setup guidance also addresses Windows Developer Mode and a missing uvx executable. Longer audio operations can hit timeouts in the development inspector even when the underlying work completes. The README does not enumerate tool identifiers; its capability examples therefore do not establish a named tool catalog.
Install & configure
Requirements
- uv installed so the client can invoke uvx
- ElevenLabs account credential
- Credits available for ElevenLabs operations
- Assistant or editor with MCP support
uvx elevenlabs-mcpThe launch matches the Claude Desktop quickstart. Only the API key is needed from this environment list for the basic example; the other entries describe documented options. Windows setup calls for Claude Desktop Developer Mode. If uvx cannot be found, the troubleshooting section suggests configuring its absolute executable path.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"elevenlabs-mcp": {
"command": "uvx",
"args": [
"elevenlabs-mcp"
],
"env": {
"ELEVENLABS_API_KEY": "<credential from your ElevenLabs account>",
"ELEVENLABS_MCP_BASE_PATH": "<optional root used when resolving relative file paths>",
"ELEVENLABS_MCP_OUTPUT_MODE": "<optional delivery mode: files, resources, or both>",
"ELEVENLABS_API_RESIDENCY": "<optional region for enterprise data residency>"
}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"elevenlabs-mcp": {
"command": "uvx",
"args": [
"elevenlabs-mcp"
],
"env": {
"ELEVENLABS_API_KEY": "<credential from your ElevenLabs account>",
"ELEVENLABS_MCP_BASE_PATH": "<optional root used when resolving relative file paths>",
"ELEVENLABS_MCP_OUTPUT_MODE": "<optional delivery mode: files, resources, or both>",
"ELEVENLABS_API_RESIDENCY": "<optional region for enterprise data residency>"
}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"elevenlabs-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"elevenlabs-mcp"
],
"env": {
"ELEVENLABS_API_KEY": "<credential from your ElevenLabs account>",
"ELEVENLABS_MCP_BASE_PATH": "<optional root used when resolving relative file paths>",
"ELEVENLABS_MCP_OUTPUT_MODE": "<optional delivery mode: files, resources, or both>",
"ELEVENLABS_API_RESIDENCY": "<optional region for enterprise data residency>"
}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"elevenlabs-mcp": {
"command": "uvx",
"args": [
"elevenlabs-mcp"
],
"env": {
"ELEVENLABS_API_KEY": "<credential from your ElevenLabs account>",
"ELEVENLABS_MCP_BASE_PATH": "<optional root used when resolving relative file paths>",
"ELEVENLABS_MCP_OUTPUT_MODE": "<optional delivery mode: files, resources, or both>",
"ELEVENLABS_API_RESIDENCY": "<optional region for enterprise data residency>"
}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"elevenlabs-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"elevenlabs-mcp"
],
"env": {
"ELEVENLABS_API_KEY": "<credential from your ElevenLabs account>",
"ELEVENLABS_MCP_BASE_PATH": "<optional root used when resolving relative file paths>",
"ELEVENLABS_MCP_OUTPUT_MODE": "<optional delivery mode: files, resources, or both>",
"ELEVENLABS_API_RESIDENCY": "<optional region for enterprise data residency>"
}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
No individual tool names were confirmed in the source material. Check the repository for its current tool list.
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Develop character voices by requesting variants before choosing one for a voice library.
- Convert written material into spoken audio from an assistant conversation.
- Work with transcription and speaker distinctions from recorded speech.
- Deliver generated audio to an MCP client that cannot read the server's local files.
Strengths
- The integration is published as ElevenLabs' official MCP server.
- Output delivery can match local-file workflows or resource-only clients.
- The README covers account setup, client configuration, and practical troubleshooting.
Limitations
- Calling the audio capabilities depends on an API credential and available ElevenLabs credits.
- Regional data residency is restricted to enterprise use.
- Some lengthy requests can exceed development-inspector time limits.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.