About
Elevenlabs Streamable — Model Context Protocol server
README
Fetch-native MCP server for ElevenLabs text-to-speech, speech-to-text, voices, and transcripts. It runs on Bun and Cloudflare Workers.
This repository targets the prerelease
2026-07-28MCP candidate with@modelcontextprotocol/[email protected]. It does not claim final conformance until the dated specification and stable packages are published and verified.
Tools
healthtext_to_speech— returns generated audio as a base64 data-URI resourcespeech_to_text— accepts an HTTPS URL or base64 file contentlist_voicesget_voiceget_transcriptdelete_transcript
Tool names, inputs, annotations, audio behavior, and transcript behavior are shared across Bun and Workers. Tools that advertise output schemas return matching structuredContent.
Configure
bun install
cp .env.example .env
Set the provider credential:
ELEVENLABS_API_KEY=xi_your_elevenlabs_key
This is the only credential sent to api.elevenlabs.io.
Optional MCP caller authentication is separate:
AUTH_STRATEGY=api_key
API_KEY=your_mcp_caller_key
API_KEY_HEADER=x-api-key
API_KEY, BEARER_TOKEN, custom caller headers, and OAuth resource tokens are never reused as ElevenLabs credentials. External JWT Resource Server mode is documented in .env.example.
Run
bun run dev
# http://127.0.0.1:3000/mcp
Cloudflare Workers:
bun x wrangler secret put ELEVENLABS_API_KEY --config wrangler.jsonc
bun run deploy
Set a real MCP_PUBLIC_URL, Host/Origin allowlists, and binding IDs in wrangler.jsonc before deployment.
Protocol and HTTP behavior
- One deployment-scoped fetch handler and a fresh
McpServerper request - Modern protocol pinned to candidate
2026-07-28 - SDK stateless fallback for legacy
2025-11-25clients GET /mcpandDELETE /mcpreturn405; no session capability is advertised- Bounded MCP request bodies, strict Host/Origin checks, and allowlisted CORS headers
- Cancellation reaches ElevenLabs fetches through
ctx.mcpReq.signal
Endpoints:
| Endpoint | Methods | Purpose |
|---|---|---|
/mcp |
POST, OPTIONS |
MCP and CORS preflight |
/health |
GET |
Runtime health |
/icon.svg |
GET |
Server icon |
Validate
bun test
bun run typecheck
bun run lint
bun run format:check
bun run build
bun run build:worker
bun run types:worker:check
Provider tests use mocks; real speech generation and transcription require a valid ElevenLabs API key and may incur usage charges.
License
MIT
Installing Elevenlabs Streamable
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/iceener/elevenlabs-streamable-mcp-serverFAQ
Is Elevenlabs Streamable MCP free?
Yes, Elevenlabs Streamable MCP is free — one-click install via Unyly at no cost.
Does Elevenlabs Streamable need an API key?
No, Elevenlabs Streamable runs without API keys or environment variables.
Is Elevenlabs Streamable hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Elevenlabs Streamable in Claude Desktop, Claude Code or Cursor?
Open Elevenlabs Streamable on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Elevenlabs Streamable with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
