Elevenlabs Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Elevenlabs Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<h1 align="center">RunAPI ElevenLabs MCP Server</h1>
<p align="center"> <strong>ElevenLabs API access for AI agents: run audio generation operations, poll asynchronous results, and check pricing through one focused MCP server.</strong> </p>
<p align="center"> <sub>Works with Claude Code, Codex, Cursor, Windsurf, VS Code, Roo Code, and any MCP-compatible host.</sub> </p>
<p align="center"> <a href="https://www.npmjs.com/package/@runapi.ai/elevenlabs-mcp"><img src="https://img.shields.io/npm/v/%40runapi.ai/elevenlabs-mcp?style=flat-square&color=blue" alt="npm version"></a> <a href="https://github.com/runapi-ai/elevenlabs-mcp"><img src="https://img.shields.io/badge/GitHub-runapi--ai%2Felevenlabs--mcp-24292f?style=flat-square" alt="GitHub repository"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue?style=flat-square" alt="Apache-2.0 license"></a> <img src="https://img.shields.io/badge/Type-MCP_Server-blue?style=flat-square" alt="MCP Server"> <img src="https://img.shields.io/badge/Models-3-16a34a?style=flat-square" alt="3 models"> </p>
<p align="center"> <a href="#install">Install</a> | <a href="#tools">Tools</a> | <a href="#models">Models</a> | <a href="#agent-prompts">Agent Prompts</a> | <a href="#configuration">Configuration</a> | <a href="#links">Links</a> </p>
@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 2 endpoints and 3 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.
audio-isolation was retired on 2026-10-09T00:00:00Z. New requests return HTTP 410 before task creation or balance deduction. Existing tasks can still be queried. This model ID is not mapped to another model.
sound-effect-v2 was retired on 2026-10-14T00:00:00Z. New requests return HTTP 410 before task creation or balance deduction. Existing tasks can still be queried. This model ID is not mapped to another model.
speech-to-text was retired on 2026-10-14T00:00:00Z. New requests return HTTP 410 before task creation or balance deduction. Existing tasks can still be queried. This model ID is not mapped to another model.
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.
| Tool | Auth | Purpose |
|---|---|---|
text_to_dialogue | Yes | Create an ElevenLabs text to dialogue task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
text_to_speech | Yes | Create an ElevenLabs text to speech task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
get_task | Yes | Fetch the current status and latest payload for an existing task. |
check_pricing | No | Look up current pricing for a ElevenLabs model and endpoint. |
ElevenLabs covers 3 model variants across 2 endpoints. Each tool accepts the models listed for it:
| Tool | Models |
|---|---|
text_to_dialogue | text-to-dialogue-v3 |
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.
Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.
Run an ElevenLabs text to dialogue task with RunAPI.The assistant can call check_pricing, then text_to_dialogue, and return the task id, status, and output URLs.
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 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.
The server resolves auth in this order:
RUNAPI_API_KEY environment variable, useful for headless and CI hosts~/.config/runapi/config.json, created by the MCP login tool or runapi logincheck_pricingThe config file is normally managed by login. A pre-provisioned headless config can use:
{
"apiKey": "your_runapi_key"
}Do not commit real API keys.
| 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 |
Licensed under the Apache License, Version 2.0.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.