DEV Community

Cover image for Manage ElevenLabs ElevenReader From Claude Desktop and Cursor via MCP
Dmytro Bilukha
Dmytro Bilukha

Posted on

Manage ElevenLabs ElevenReader From Claude Desktop and Cursor via MCP

Demo Animation

ElevenLabs' ElevenReader is one of the most natural-sounding text-to-speech platforms for converting documents, research PDFs, and EPUBs into spoken audio.

However, moving documents from research workflows or local code repositories into ElevenReader traditionally requires manual browser drag-and-drops.

I built mcp-elevenreader, an open-source MCP server that provides full conversational control over your ElevenReader library.


Features

  • Document Ingestion — Upload PDFs, EPUBs, or plain text from your workspace directly to ElevenReader.
  • Library Tracking — Query reading progress, bookmarks, and completed reads.
  • Voice Selection & Customization — Configure narrator voices and collections via chat.
  • Zero-Install Execution (Powered by uvx) no virtualenv setup required.

Setup Instructions

1. Retrieve Refresh Token

Log into elevenreader.io, open DevTools (F12), switch to Console, and run:

JSON.parse(localStorage.getItem(Object.keys(localStorage).find(k => k.startsWith('firebase:authUser:')))).stsTokenManager.refreshToken
Enter fullscreen mode Exit fullscreen mode

2. Configure Claude Code

claude mcp add elevenreader -e ELEVEN_REFRESH_TOKEN="<your-token>" -- uvx mcp-elevenreader
Enter fullscreen mode Exit fullscreen mode

Or Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "elevenreader": {
      "command": "uvx",
      "args": ["mcp-elevenreader"],
      "env": {
        "ELEVEN_REFRESH_TOKEN": "<your-token>"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Sample Prompt

"Claude, upload the file ./papers/deepseek-r1.pdf to my ElevenReader library and let me know when it's ready for listening."

Check out the code on GitHub: github.com/MIt9/mcp-elevenreader

Top comments (0)