Readwise MCP HTTP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Server port | 3000 |
| DEBUG | No | Enable debug logging (set to `true` for detailed logs) | |
| BASE_URL | No | Readwise API base URL | https://readwise.io |
| NODE_ENV | No | Set to `development` to enable debug mode automatically | |
| ACCESS_TOKEN | Yes | Your Readwise access token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_highlightsA | Search highlights using semantic (vector), full-text, or hybrid search. Use 'semantic' for concept/meaning queries like 'ideas about habit formation'. Use 'fulltext' for exact phrase matching like 'atomic habits'. Use 'hybrid' (default) when unsure — combines both signals. Returns highlights with book title, author, and source URL inline. |
| list_highlightsA | List highlights with optional filtering by book, tag, or recency. Use updated_after with an ISO 8601 date string to get recent highlights, e.g. '2024-01-01' or '2024-01-01T00:00:00Z'. Returns highlights plus total count and next_page for pagination. |
| get_highlightA | Get a single highlight by ID with book metadata included. Returns the full highlight including text, note, tags, book title, book author, and source URL. |
| create_highlightB | Create a new highlight on a book. Requires the highlight text and the book_id it belongs to. Optionally add a note and tags. Returns the full created highlight. |
| update_highlightA | Update an existing highlight's text or note. Only the provided fields are updated. Returns the full updated highlight. |
| delete_highlightB | Delete a highlight by ID. Returns a confirmation with the deleted highlight's ID. |
| list_booksA | List books and sources with optional filtering. category accepts: 'books', 'articles', 'tweets', 'podcasts', 'supplementals'. Use num_highlights_gte to filter to sources with at least N highlights. Use updated_after with an ISO 8601 date to get recently updated sources. |
| get_bookB | Get a single book/source by ID. Returns full book metadata including title, author, category, source, highlight count, cover image URL, and source URL. |
| list_tagsA | List all tags in your Readwise library. Returns every tag with its ID and name. No pagination needed — tag collections are typically small. |
| create_tagB | Create a new tag. Returns the created tag with its ID and name. |
| delete_tagB | Delete a tag by ID. Returns a confirmation with the deleted tag's ID. |
| tag_highlightA | Add or remove a tag on a highlight. Use action='add' to tag a highlight (creates the tag if it doesn't exist). Use action='remove' to untag it. Returns the highlight's updated list of tag names. |
| list_documentsB | List documents in Readwise Reader with optional filters. location accepts: 'new' (inbox), 'later', 'shortlist', 'archive', 'feed'. category accepts: 'article', 'email', 'rss', 'highlight', 'note', 'pdf', 'epub', 'tweet', 'video'. Use updated_after with an ISO 8601 date to get recently updated docs. |
| get_documentA | Get a single Reader document by ID with full content. Returns the complete document including title, author, content, summary, reading progress, tags, and source URL. |
| save_urlA | Save a URL to Readwise Reader. This is the primary way to add content to Reader. The service fetches and parses the article automatically. Only http:// and https:// URLs are accepted. location controls where it appears: 'new' (inbox), 'later', 'shortlist', or 'archive'. Default is 'new'. |
| update_progressA | Update the reading progress for a Reader document. reading_progress is a float from 0.0 (unread) to 1.0 (finished). Returns the updated document. |
| export_highlightsA | Bulk export highlights, optionally filtered by date or specific books. Use cursor from a previous response to paginate through large exports. Each result includes the full highlight with book metadata attached. This uses the export endpoint — use it for bulk data retrieval, not for interactive queries. For interactive use, prefer search_highlights or list_highlights instead. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Every tool has a clearly distinct purpose targeting specific resources and actions. For example, create_highlight, get_highlight, update_highlight, and delete_highlight form a complete CRUD set for highlights, while list_highlights, search_highlights, and export_highlights serve different retrieval purposes with no overlap. Tools like save_url and update_progress address unique Reader-specific functions.
All tools follow a consistent verb_noun naming pattern throughout. The pattern is strictly maintained across all 17 tools, with clear action verbs (create, delete, export, get, list, save, search, tag, update) paired with specific nouns (highlight, tag, book, document, progress, url). There are no deviations in style or convention.
The 17 tools are well-scoped for the Readwise domain, covering both the core highlights library and Reader document management. Each tool earns its place by addressing distinct operations like CRUD for highlights/tags, listing/filtering books/documents, saving URLs, and updating reading progress. The count is appropriate for the comprehensive functionality offered.
The tool surface provides complete coverage for the Readwise domain. It includes full CRUD operations for highlights and tags, comprehensive listing and filtering for books, documents, and highlights, specialized search and export capabilities, and key Reader functions like saving URLs and updating progress. No obvious gaps exist—agents can perform all expected workflows without dead ends.