Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Elevenlabs Streamable

FreeNot checked

Elevenlabs Streamable — Model Context Protocol server

GitHubEmbed

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-28 MCP candidate with @modelcontextprotocol/[email protected]. It does not claim final conformance until the dated specification and stable packages are published and verified.

Tools

  • health
  • text_to_speech — returns generated audio as a base64 data-URI resource
  • speech_to_text — accepts an HTTPS URL or base64 file content
  • list_voices
  • get_voice
  • get_transcript
  • delete_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 McpServer per request
  • Modern protocol pinned to candidate 2026-07-28
  • SDK stateless fallback for legacy 2025-11-25 clients
  • GET /mcp and DELETE /mcp return 405; 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

from github.com/iceener/elevenlabs-streamable-mcp-server

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-server

FAQ

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

Compare 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