mcp-elevenreader
This server lets you manage your ElevenReader (ElevenLabs text-to-speech) library and settings through an MCP interface.
Library Management
List books with pagination or retrieve your full reading history
Get book details (chapters, progress) and HTML content
Add content via URL, single EPUB/PDF upload, or batch directory upload (background processing with retry)
Check status of ongoing background directory uploads
Delete books from your library
Library Maintenance
Deduplicate books (keeps the oldest copy)
Mark books at 97%+ progress as finished
Listening & Bookmarks
Update your listening progress for any book
Retrieve bookmarks for a specific book
Voices
List all available TTS voices and get details on a specific voice
User Settings
View current config (default voice, playback speed, font size)
Update default voice and playback speed
Account
View subscription plan, credits, and billing details
List your personal collections
Allows managing library and reading content on ElevenReader, including uploading documents, tracking progress, and adjusting settings.
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., "@mcp-elevenreaderlist my library"
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.
mcp-elevenreader
MCP server for ElevenReader — ElevenLabs text-to-speech reader.
Setup
1. Get refresh token
Open https://elevenreader.io, log in, then run in browser console (F12 → Console):
JSON.parse(localStorage.getItem(Object.keys(localStorage).find(k => k.startsWith('firebase:authUser:')))).stsTokenManager.refreshTokenThe refresh token is long-lived (months). Access tokens are refreshed automatically.
2. Connect to Claude Code
claude mcp add elevenreader -e ELEVEN_REFRESH_TOKEN=your-token -- uvx mcp-elevenreaderTo make it available in all projects, add to ~/.claude/mcp.json:
{
"mcpServers": {
"elevenreader": {
"command": "uvx",
"args": ["mcp-elevenreader"],
"env": {
"ELEVEN_REFRESH_TOKEN": "your-token"
}
}
}
}Other clients (Claude Desktop / Kiro / Cursor)
{
"mcpServers": {
"elevenreader": {
"command": "uvx",
"args": ["mcp-elevenreader"],
"env": {
"ELEVEN_REFRESH_TOKEN": "your-token"
}
}
}
}opencode
Add to ~/.config/opencode/opencode.json. Note: opencode uses environment (not env) for MCP server env vars:
{
"mcp": {
"elevenreader": {
"type": "local",
"enabled": true,
"command": ["uvx", "mcp-elevenreader"],
"environment": {
"ELEVEN_REFRESH_TOKEN": "your-token"
}
}
}
}Config is only read at opencode startup — quit and restart opencode after adding. If the token still isn't picked up, check it's under environment, not env.
Related MCP server: ElevenLabs MCP Server
Tools
Tool | Description |
| List books paginated (10 per page, compact: title, author, progress) |
| Full reading history — all books in compact format |
| Get full details of a specific read (chapters, progress) |
| Get HTML text content of a read |
| Add URL for TTS reading |
| Upload epub/pdf file |
| Upload all books from a directory (background, with retry) |
| Check background upload progress |
| Remove from library |
| Find and remove duplicate reads (keeps oldest) |
| Mark books at 97%+ progress as finished |
| Available TTS voices |
| Voice details |
| User settings (voice, speed, font) |
| Change default voice/speed |
| Subscription info & credits |
| User collections |
| Bookmarks for a read |
| Update listening position |
Architecture
Auth: Firebase refresh token → short-lived access token (auto-refreshed, thread-safe)
Data source:
/v1/reader/collections/booksendpoint (full history, 345+ books)Caching: 60s TTL on book list, invalidated on mutations (add/delete)
Upload queue: Background thread with retry (3 attempts), rate limiting, pause for priority uploads
Thread safety: Locks on token cache and reads cache
Development
git clone https://github.com/MIt9/mcp-elevenreader
cd mcp-elevenreader
uv sync
mcp dev src/mcp_elevenreader/server.pyRequirements
Python ≥ 3.10
Dependencies: httpx, mcp
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseDqualityDmaintenanceMCP Server for AI Summarization, Support for multiple content types: * Plain text * Web pages * PDF documents * EPUB books * HTML content113165

ElevenLabs MCP Serverofficial
AlicenseAqualityAmaintenanceAn 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,517MIT- Flicense-qualityDmaintenanceMCP server for extracting text from PDF files, supporting local files and URLs.
- Flicense-qualityCmaintenanceAn MCP server that provides text-to-speech, speech-to-text, and voice management via ElevenLabs API.1
Related MCP Connectors
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.
MCP server for URL shortening and management
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/MIt9/mcp-elevenreader'
If you have feedback or need assistance with the MCP directory API, please join our Discord server