@runapi.ai/elevenlabs-mcp
v0.1.6
Published
RunAPI ElevenLabs MCP server for audio generation: create tasks, poll results, and check pricing across 6 model variants from Claude Code, Codex, Cursor, and VS Code.
Maintainers
Readme
Why This Package?
@runapi.ai/elevenlabs-mcp is a focused Model Context Protocol server for the ElevenLabs model line on RunAPI.
It gives MCP-compatible assistants direct access to 5 endpoints and 6 model variants without loading the full RunAPI catalog.
Use this per-model server when an agent should stay scoped to ElevenLabs. Use @runapi.ai/mcp when one assistant should discover every RunAPI model line.
Install
Add it to Claude Code:
claude mcp add elevenlabs -s user -- npx -y @runapi.ai/elevenlabs-mcpUse project scope when the server should be shared with a repository:
claude mcp add elevenlabs -s project -- npx -y @runapi.ai/elevenlabs-mcpCodex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:
{
"mcpServers": {
"elevenlabs": {
"command": "npx",
"args": ["-y", "@runapi.ai/elevenlabs-mcp"]
}
}
}check_pricing works before sign-in. For task creation and status polling, ask your assistant to call the login tool. It opens a browser login and saves credentials to ~/.config/runapi/config.json, the same file used by runapi login.
Headless and CI hosts can still set RUNAPI_API_KEY before starting the MCP host.
Ready-made examples are in examples/ for Claude, Cursor, Windsurf, VS Code, and Roo Code.
Tools
| Tool | Auth | Purpose |
|---|---|---|
| isolate_audio | Yes | Create an ElevenLabs isolate audio task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
| speech_to_text | Yes | Create an ElevenLabs speech to text task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
| text_to_dialogue | Yes | Create an ElevenLabs text to dialogue task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
| text_to_sound | Yes | Create an ElevenLabs text to sound task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
| text_to_speech | Yes | Create an ElevenLabs text to speech task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
| get_task | Yes | Fetch the current status and latest payload for an existing task. |
| check_pricing | No | Look up the current pricing snapshot for a ElevenLabs model and endpoint. |
Models
ElevenLabs covers 6 model variants across 5 endpoints. Each tool accepts the models listed for it:
| Tool | Models |
|---|---|
| isolate_audio | audio-isolation |
| speech_to_text | speech-to-text |
| text_to_dialogue | text-to-dialogue-v3 |
| text_to_sound | sound-effect-v2 |
| text_to_speech | text-to-speech-multilingual-v2, text-to-speech-turbo-v2.5 |
Model availability can change between releases. Use check_pricing or the ElevenLabs model page for the current catalog view.
Agent Prompts
Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.
Create a task
Run an ElevenLabs isolate audio task with RunAPI.The assistant can call check_pricing, then isolate_audio, and return the task id, status, and output URLs.
Submit without waiting
Create the task but don't wait for it to finish.The assistant calls the create tool with wait: false and returns the task id. Check on it later with get_task.
Check pricing before creating
Check current ElevenLabs pricing, then create the task if it matches my request.The assistant calls check_pricing and can link to the ElevenLabs model page for the canonical catalog entry.
Configuration
The server resolves auth in this order:
RUNAPI_API_KEYenvironment variable, useful for headless and CI hosts~/.config/runapi/config.json, created by the MCPlogintool orrunapi login- No key, which still allows
check_pricing
The config file is normally managed by login. A pre-provisioned headless config can use:
{
"apiKey": "your_runapi_key"
}Do not commit real API keys.
Links
| Resource | URL | |---|---| | ElevenLabs model page | https://runapi.ai/models/elevenlabs | | npm package | @runapi.ai/elevenlabs-mcp | | GitHub repository | runapi-ai/elevenlabs-mcp | | RunAPI MCP overview | runapi.ai/mcp | | RunAPI docs | runapi.ai/docs |
License
Licensed under the Apache License, Version 2.0.
