A comprehensive Model Context Protocol (MCP) server that unifies Readwise Reader document management with full Readwise highlights functionality. Works with Claude Desktop, Continue, and any MCP-compatible AI tool. Built with TypeScript, featuring advanced text processing, smart content controls, and context-optimized responses.
The first unified MCP that combines:
- Complete Readwise Reader API - Save, manage, and search documents
- Full Readwise Highlights API - Access all your highlights, books, and daily reviews
- AI-Powered Text Processing - Intelligent word segmentation and content extraction
- Context Optimization - 94% reduction in token usage while maintaining full functionality
- Smart Content Controls - Prevent context explosion with advanced filtering and pagination
Equivalent to the official Readwise MCP but more efficient and feature-complete. Compatible with all MCP clients.
- Smart Content Extraction: Pagination, keyword filtering, length limits
- AI-Powered Text Processing: Automatic word segmentation fixes merged words
- Performance Controls: Built-in warnings and guidance for expensive operations
- Flexible Filtering: By location, category, tags, dates, and custom criteria
- Daily Reviews: Spaced repetition learning system
- Advanced Search: Field-specific queries with relevance scoring
- Book Management: Full metadata with highlight counts and filtering
- Export & Backup: Bulk highlight analysis and incremental sync
- Manual Creation: Add highlights with full metadata support
- Context Optimized: 94% reduction in token usage (25,600 β 1,600 tokens)
- Dual API Architecture: Seamless v2 (highlights) + v3 (Reader) integration
- Unlimited Results: No artificial limits, just efficient data per item
- MCP Protocol Compliant: Proper logging, error handling, and rate limiting
No installation needed! Any MCP client will automatically download and run the package using npx.
npm install -g readwise-mcp-enhancedgit clone https://github.com/arnaldo-delisio/readwise-mcp-enhanced.git
cd readwise-mcp-enhanced
npm install
npm run build-
Get your Readwise token: https://readwise.io/access_token
-
Add to your MCP client configuration:
Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Continue IDE Extension:
- Add to your Continue configuration file
Other MCP Tools:
- Follow your tool's MCP server configuration instructions
{ "mcpServers": { "readwise-mcp-enhanced": { "command": "npx", "args": ["readwise-mcp-enhanced"], "env": { "READWISE_TOKEN": "your_readwise_access_token_here" } } } }{ "mcpServers": { "readwise-mcp-enhanced": { "command": "readwise-mcp-enhanced", "env": { "READWISE_TOKEN": "your_readwise_access_token_here" } } } }{ "mcpServers": { "readwise-mcp-enhanced": { "command": "node", "args": ["/path/to/readwise-mcp-enhanced/dist/index.js"], "env": { "READWISE_TOKEN": "your_readwise_access_token_here" } } } } - macOS:
-
Restart your MCP client (Claude Desktop, Continue, etc.)
Save documents with full metadata control.
{
"url": "https://example.com/article",
"tags": ["ai", "productivity"],
"location": "later",
"category": "article"
}β Enhanced with Smart Content Controls
{
"withFullContent": true,
"contentMaxLength": 10000,
"contentStartOffset": 0,
"contentFilterKeywords": ["AI", "machine learning"],
"limit": 10
}Smart Content Parameters:
contentMaxLength: Limit content per document (default: 50,000 chars)contentStartOffset: Start extraction from specific position (pagination)contentFilterKeywords: Extract only sections containing keywords- Performance warnings for expensive operations
Update document metadata (title, author, summary, location, etc.)
Remove documents from your Reader library
Get all your document tags
β Enhanced with AI-powered text processing
- Regex-based search across title, summary, notes, tags
- Automatic word segmentation for better matching
- Distributed keyword finding throughout content
List highlights with advanced filtering:
{
"book_id": 12345,
"highlighted_at__gt": "2024-01-01T00:00:00Z",
"page_size": 100
}Get your spaced repetition highlights:
{
"review_id": 168844911,
"highlights": [
{
"text": "Strategic wisdom quote...",
"title": "The Art of War",
"author": "Sun Tzu"
}
]
}β Advanced search with field-specific queries:
{
"textQuery": "strategy tactics",
"fieldQueries": [
{
"field": "document_title",
"searchTerm": "Art of War"
}
],
"limit": 20
}Get books with highlight metadata:
{
"category": "books",
"last_highlight_at__gt": "2024-01-01T00:00:00Z"
}Get all highlights from a specific book:
{
"bookId": 53827741
}Bulk export for analysis and backup:
{
"updatedAfter": "2024-01-01T00:00:00Z",
"includeDeleted": false
}Manually add highlights with metadata:
{
"highlights": [
{
"text": "Important insight...",
"title": "Book Title",
"author": "Author Name",
"note": "My thoughts on this",
"category": "books"
}
]
}94% Token Reduction while maintaining full functionality:
| Tool | Before | After | Savings |
|---|---|---|---|
| List Highlights (32 items) | ~25,600 tokens | ~1,600 tokens | 94% |
| Daily Review (5 items) | ~5,000 tokens | ~400 tokens | 92% |
| List Books (10 items) | ~8,000 tokens | ~600 tokens | 93% |
Optimized Fields:
- Highlights:
id,text,note,book_idonly - Books:
id,title,author,category,num_highlightsonly - Search:
text,book,author,scoreonly
Automatically fixes common text extraction issues:
whatyouβwhat youfromdissatisfactionβfrom dissatisfactiontimeagoβtime ago
- Sentence-based chunking for YouTube transcripts
- Distributed keyword filtering throughout content
- Context-aware text extraction with proper spacing
- Multi-field search with relevance scoring
- Export-based comprehensive search equivalent to official MCP
- Field-specific filtering (title, author, text, notes, tags)
// Seamless API switching
v2 API: Highlights, books, daily review, export
v3 API: Reader documents, tags, search- Unlimited results with minimal data per item
- LLM-optimized responses for efficient parsing
- Structured JSON maintains full reasoning capabilities
- ES Module standard with proper TypeScript definitions
- MCP protocol compliant logging and error handling
- Comprehensive rate limiting and graceful fallbacks
- β Documents: Save, list, update, delete
- β Tags: List and filter
- β Content: Smart extraction with controls
- β Search: Enhanced topic search
- β Highlights: List, create, search, export
- β Books: List with metadata and filtering
- β Daily Review: Spaced repetition system
- β Advanced Search: Field-specific queries
- Single Token: One Readwise token for both APIs
- Environment Variable: Secure token storage via
READWISE_TOKEN - No Token Exposure: Never exposed through MCP clients or tools interface
- Reader API: 20 requests/minute (default), 50/minute (CREATE/UPDATE)
- Highlights API: Standard Readwise limits with automatic retry-after handling
- Smart Handling: 429 responses include "Retry-After" header processing
// Paginate through large document
readwise_list_documents({
withFullContent: true,
contentMaxLength: 5000,
contentStartOffset: 0,
contentFilterKeywords: ["machine learning", "AI"]
})// Search across documents and highlights
readwise_search_highlights({
textQuery: "productivity habits",
fieldQueries: [
{ field: "document_author", searchTerm: "James Clear" }
],
limit: 10
})// Get daily review for spaced repetition
readwise_get_daily_review()
// Search related highlights for deeper study
readwise_search_highlights({
textQuery: "from daily review topics",
limit: 20
}){
"@modelcontextprotocol/sdk": "^1.0.0",
"dotenv": "^16.3.0",
"node-html-parser": "^7.0.1",
"wordsninja": "^1.0.0"
}Key Addition: wordsninja for AI-powered word segmentation
This unified MCP is fully backward compatible. All existing Reader tools work unchanged while adding 7 new highlights tools.
No breaking changes - just enhanced functionality and better performance.
- β More context efficient (94% reduction)
- β Unified interface (Reader + Highlights)
- β Smart content controls (pagination, filtering)
- β AI-powered text processing
- β Unlimited results with minimal verbosity
- β Complete highlights ecosystem (7 new tools)
- β Advanced search capabilities
- β Production-ready performance
- β Context optimization
MIT
Built upon the foundation of edricgan/Readwise-Reader-MCP with significant enhancements:
- Enhanced Reader functionality with smart content controls
- Complete highlights integration equivalent to official MCP
- AI-powered text processing with word segmentation
- Context optimization for production efficiency
- Unified architecture combining dual APIs seamlessly
This represents a complete evolution from basic document management to a comprehensive, production-ready Readwise platform. π