Readwise Reader
An MCP server for the Readwise Reader API to access and manage your articles and highlights.
Readwise Reader MCP Server
A Model Context Protocol (MCP) server for the Readwise Reader API, built with TypeScript and the official Claude SDK.
Features
- Secure Authentication: Uses environment variables for token storage
- Document Management: Save, list, update, and delete documents with complete metadata
- Tag Management: List and filter by tags
- Rich Filtering: Filter documents by location, category, tags, and more
- Pagination Support: Handle large document collections
- LLM-Friendly Content: HTML content automatically converted to clean text using r.jina.ai
- Complete Data Access: Returns full document information including content, metadata, and timestamps
API Documentation
For detailed information about the Readwise Reader API endpoints, parameters, and examples, please refer to the official API documentation:
📖 Readwise Reader API Documentation
This MCP server implements all the core endpoints described in the official documentation.
Installation
npm install
npm run build
Configuration
With Claude Desktop
-
Build the MCP server:
npm install npm run build
-
Get your Readwise access token from: https://readwise.io/access_token
-
Add the server to your Claude Desktop configuration. Open your Claude Desktop settings and add this to your MCP servers configuration:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "readwise-reader": { "command": "node", "args": ["/path/to/your/reader_readwise_mcp/dist/index.js"], "env": { "READWISE_TOKEN": "your_readwise_access_token_here" } } } }
Replace:
/path/to/your/reader_readwise_mcp
with the actual path to this project directoryyour_readwise_access_token_here
with your actual Readwise access token
-
Restart Claude Desktop
Available Tools
readwise_save_document
Save a document (URL or HTML content) to Readwise Reader.
Parameters:
url
(required): URL of the document to savehtml
(optional): HTML content of the documenttags
(optional): Array of tags to addlocation
(optional): Location to save (new
,later
,shortlist
,archive
,feed
)category
(optional): Document category (article
,book
,tweet
,pdf
,email
,youtube
,podcast
)
readwise_list_documents
List documents from Readwise Reader with optional filtering. Returns complete document information including metadata and LLM-friendly text content.
Parameters:
id
(optional): Filter by specific document IDupdatedAfter
(optional): Filter documents updated after this date (ISO 8601)location
(optional): Filter by document locationcategory
(optional): Filter by document categorytag
(optional): Filter by tag namepageCursor
(optional): Page cursor for paginationwithHtmlContent
(optional): ⚠️ PERFORMANCE WARNING: Include HTML content in the response. This significantly slows down the API. Only use when explicitly requested by the user or when raw HTML is specifically needed for the task.withFullContent
(optional): ⚠️ PERFORMANCE WARNING: Include full converted text content in the response. This significantly slows down the API as it fetches and processes each document's content. Only use when explicitly requested by the user or when document content is specifically needed for analysis/reading. Default: false for performance.
Returns: Complete document objects with all available fields:
id
,title
,author
,url
,source_url
,summary
published_date
,image_url
,location
,category
tags
,created_at
,updated_at
content
: LLM-friendly text content (converted from source_url or url via r.jina.ai)
readwise_update_document
Update a document in Readwise Reader.
Parameters:
id
(required): Document ID to updatetitle
(optional): New titleauthor
(optional): New authorsummary
(optional): New summarypublished_date
(optional): New published date (ISO 8601)image_url
(optional): New image URLlocation
(optional): New locationcategory
(optional): New category
readwise_delete_document
Delete a document from Readwise Reader.
Parameters:
id
(required): Document ID to delete
readwise_list_tags
List all tags from Readwise Reader.
Parameters: None
readwise_topic_search
Search documents in Readwise Reader by topic using regex matching on title, summary, notes, and tags.
Parameters:
searchTerms
(required): Array of search terms to match against document content (case-insensitive regex matching)
Returns: Search results with matching documents including:
- Search terms used
- Total number of matches
- Complete document objects with all available metadata (same fields as
readwise_list_documents
)
Authentication
The server requires a Readwise access token to be provided via the READWISE_TOKEN
environment variable. This token is used to authenticate all API requests to Readwise Reader.
Security Note: The token is stored in your MCP configuration and never exposed through Claude or the tools interface.
Rate Limits
- Default: 20 requests/minute
- Document CREATE/UPDATE: 50 requests/minute
- 429 responses include "Retry-After" header
License
MIT
Related Servers
Anki MCP Server
Integrate AI assistants with Anki, the popular spaced repetition flashcard software.
OmniFocus MCP Server
Integrate OmniFocus with Claude Desktop for AI-powered task management and weekly reviews.
MCP Sound Tool
A sound tool for MCP-compatible IDEs like Cursor. Plays sounds for events like completion, error, and notification.
GSuite
Interact with Google products, including Gmail and Calendar.
Apple Shortcuts
An MCP Server Integration with Apple Shortcuts
DAISYS
Generate high-quality text-to-speech and text-to-voice outputs using the DAISYS platform.
gotoHuman
Human-in-the-loop platform - Allow AI agents and automations to send requests for approval to your gotoHuman inbox.
PowerPoint
Create PowerPoint presentations with AI-generated images using the TogetherAI API.
MCP Redmine
A server integration for the Redmine project management tool.
GoHighLevel MCP Server
Integrates with the GoHighLevel API, allowing interaction with its CRM, marketing automation, and business management tools.