Skip to main content
Glama
MIt9

mcp-elevenreader

by MIt9

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.refreshToken

The 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-elevenreader

To 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"
      }
    }
  }
}

Related MCP server: ElevenLabs MCP Server

Tools

Tool

Description

list_reads

List books paginated (10 per page, compact: title, author, progress)

list_all_reads

Full reading history — all books in compact format

get_read

Get full details of a specific read (chapters, progress)

get_read_content

Get HTML text content of a read

add_url

Add URL for TTS reading

add_document

Upload epub/pdf file

add_directory

Upload all books from a directory (background, with retry)

upload_status

Check background upload progress

delete_read

Remove from library

deduplicate

Find and remove duplicate reads (keeps oldest)

mark_almost_finished

Mark books at 97%+ progress as finished

list_voices

Available TTS voices

get_voice

Voice details

get_config

User settings (voice, speed, font)

update_config

Change default voice/speed

get_customer

Subscription info & credits

get_collections

User collections

get_bookmarks

Bookmarks for a read

update_progress

Update listening position

Architecture

  • Auth: Firebase refresh token → short-lived access token (auto-refreshed, thread-safe)

  • Data source: /v1/reader/collections/books endpoint (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.py

Requirements

  • Python ≥ 3.10

  • Dependencies: httpx, mcp

License

MIT

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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