pa-elevenlabs-mcp
Provides speech-to-text transcription using ElevenLabs Scribe v2 with speaker diarization, and lists available ElevenLabs models.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
pa-elevenlabs-mcp
A self-hosted HTTP MCP server wrapping the ElevenLabs speech-to-text API. Designed to be used with Claude Cowork plugins where the sandbox blocks direct outbound API calls. The MCP server runs on the host machine (outside the sandbox), so the API call goes through cleanly.
Tools exposed
Tool | Description |
| Transcribe an audio file using ElevenLabs Scribe v2 with speaker diarization |
| List available ElevenLabs models |
Related MCP server: io.github.chicogong/ffvoice
Local development with Docker Compose + ngrok
1. Set up environment variables
cp .env.example .envEdit .env and fill in:
ELEVENLABS_API_KEY=sk_...
NGROK_AUTHTOKEN=your_ngrok_authtoken # get free token at https://ngrok.com2. Start the server
docker compose up --buildThis starts:
mcp-serveron port8000ngroktunnel on port4040(inspect UI)
3. Get your ngrok public URL
curl -s http://localhost:4040/api/tunnels | python3 -m json.tool | grep public_urlOr open http://localhost:4040 in your browser.
You'll get a URL like: https://abc123.ngrok-free.app
4. Test the health endpoint
curl https://abc123.ngrok-free.app/health
# {"status":"ok"}Connect to a Cowork plugin
Add the following to your plugin's .mcp.json (or to claude_desktop_config.json for Claude Code):
{
"mcpServers": {
"elevenlabs-mcp": {
"type": "http",
"url": "https://abc123.ngrok-free.app/mcp"
}
}
}Replace abc123.ngrok-free.app with your actual ngrok URL.
In your skill, call the tool like:
Use the elevenlabs-mcp speech_to_text tool with:
- file_path: /absolute/path/to/audio.mp3
- model_id: scribe_v2
- diarize: trueEC2 production deployment
For production, use the same docker-compose.yml but:
Remove the
ngrokservice entirelyPoint your domain to port
8000using nginx or Caddy as a reverse proxyUse HTTPS (Let's Encrypt via Caddy is the easiest option)
Minimal Caddyfile:
your-domain.com {
reverse_proxy localhost:8000
}Update .mcp.json to use your real domain:
{
"mcpServers": {
"elevenlabs-mcp": {
"type": "http",
"url": "https://your-domain.com/mcp"
}
}
}Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
MCP server for Speech-to-Text
FalaAI API MCP server: transcribe audio, diagnose conversations, audit compliance (ISO 18295-1).
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
Related MCP Servers
AlicenseBqualityFmaintenanceAn official Model Context Protocol (MCP) server that enables AI clients to interact with ElevenLabs' Text to Speech and audio processing APIs, allowing for speech generation, voice cloning, audio transcription, and other audio-related tasks.271,548MIT- AlicenseNot gradedqualityCmaintenanceMCP server for offline speech-to-text and speaker diarization, enabling AI agents to transcribe audio locally without cloud APIs.68 PyPI3MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides text-to-speech, speech-to-text, and voice management via ElevenLabs API.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for audio transcription with speaker diarization. Transcribes MP3/WAV files using Faster-Whisper and pyannote.audio, outputs markdown with speaker labels, timestamps, summaries, and action items.1MIT