pa-elevenlabs-mcp
Provides speech-to-text transcription using ElevenLabs Scribe v2 with speaker diarization, and lists available ElevenLabs models.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pa-elevenlabs-mcptranscribe this meeting recording with speaker identification"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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"
}
}
}This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rishabh-navadhiti/pa-elevenlabs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server