readwise-mcp
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseReadwise MCP
Readwise MCP
Use the Readwise MCP tools to access the user's Readwise highlights and Reader documents. Readwise has two products:
- Readwise — highlights from books, articles, podcasts, and more. Includes daily review and spaced repetition.
- Reader — a read-later app for saving and reading articles, PDFs, EPUBs, RSS feeds, emails, tweets, and videos.
使用Readwise MCP工具可访问用户的Readwise高亮内容和Reader文档。Readwise拥有两款产品:
- Readwise —— 来自书籍、文章、播客等内容的高亮笔记。包含每日复习和间隔重复功能。
- Reader —— 一款稍后阅读应用,用于保存和阅读文章、PDF、EPUB、RSS订阅、邮件、推文及视频。
Setup
设置
Add the Readwise MCP server to your client's configuration:
json
{
"readwise": {
"type": "http",
"url": "https://mcp2.readwise.io/mcp"
}
}The server handles authentication via OAuth — the user will be prompted to authorize on first use.
将Readwise MCP服务器添加到客户端配置中:
json
{
"readwise": {
"type": "http",
"url": "https://mcp2.readwise.io/mcp"
}
}服务器通过OAuth处理身份验证——用户首次使用时会被提示授权。
Tool Reference
工具参考
All tools are prefixed with . Each tool name maps directly to a Readwise or Reader API action.
mcp__readwise__所有工具均以为前缀。每个工具名称直接对应Readwise或Reader的API操作。
mcp__readwise__Reader Tools
Reader工具
Searching documents
搜索文档
reader_search_documents(query="spaced repetition")Hybrid search (semantic + keyword) across all saved documents. Combine with filters to narrow results:
undefinedreader_search_documents(query="spaced repetition")混合搜索(语义+关键词)覆盖所有已保存文档。可结合筛选条件缩小结果范围:
undefinedSearch articles saved for later
Search articles saved for later
reader_search_documents(query="machine learning", category_in=["article"], location_in=["later", "shortlist"])
reader_search_documents(query="machine learning", category_in=["article"], location_in=["later", "shortlist"])
Search by author
Search by author
reader_search_documents(query="AI agents", author_search="Simon Willison")
reader_search_documents(query="AI agents", author_search="Simon Willison")
Search within a date range
Search within a date range
reader_search_documents(query="transformers", published_date_gt="2024-01-01")
reader_search_documents(query="transformers", published_date_gt="2024-01-01")
Search by tags
Search by tags
reader_search_documents(query="productivity", tags_in=["research"])
Other filters: `title_search`, `summary_search`, `note_search`, `url_search`, `source_search`, `document_id`, `limit` (default 20, max 100).reader_search_documents(query="productivity", tags_in=["research"])
其他筛选条件:`title_search`、`summary_search`、`note_search`、`url_search`、`source_search`、`document_id`、`limit`(默认20,最大值100)。Browsing documents
浏览文档
undefinedundefinedList 10 most recent inbox items with minimal fields
List 10 most recent inbox items with minimal fields
reader_list_documents(location="new", limit=10, response_fields=["title", "author", "summary", "word_count", "category", "saved_at"])
reader_list_documents(location="new", limit=10, response_fields=["title", "author", "summary", "word_count", "category", "saved_at"])
Archived articles with a specific tag
Archived articles with a specific tag
reader_list_documents(location="archive", tag=["research"], category="article")
reader_list_documents(location="archive", tag=["research"], category="article")
Unseen inbox items
Unseen inbox items
reader_list_documents(location="new", seen=false)
reader_list_documents(location="new", seen=false)
RSS feed items
RSS feed items
reader_list_documents(location="feed", limit=20, response_fields=["title", "author", "summary", "site_name"])
reader_list_documents(location="feed", limit=20, response_fields=["title", "author", "summary", "site_name"])
Get a specific document by ID
Get a specific document by ID
reader_list_documents(id="<document_id>")
reader_list_documents(id="<document_id>")
Paginate through results
Paginate through results
reader_list_documents(location="later", limit=10, page_cursor="<cursor_from_previous_response>")
Locations: `new` (inbox), `later`, `shortlist`, `archive`, `feed`. When the user says "inbox", use `new`. Only use `feed` when the user explicitly asks about RSS/feeds.
Use `response_fields` to limit returned data and save tokens. The `id` field is always included. Available fields: `url`, `title`, `author`, `source`, `category`, `location`, `tags`, `site_name`, `word_count`, `reading_time`, `created_at`, `updated_at`, `published_date`, `summary`, `image_url`, `content`, `source_url`, `notes`, `parent_id`, `reading_progress`, `first_opened_at`, `last_opened_at`, `saved_at`, `last_moved_at`, `html_content`, `is_deleted`.
Tip: unseen documents have `first_opened_at=null`. Mark as seen via `reader_bulk_edit_document_metadata`.reader_list_documents(location="later", limit=10, page_cursor="<cursor_from_previous_response>")
位置选项:`new`(收件箱)、`later`、`shortlist`、`archive`、`feed`。当用户提到“收件箱”时,使用`new`。仅当用户明确询问RSS/订阅源时才使用`feed`。
使用`response_fields`限制返回数据以节省令牌。`id`字段始终包含在内。可用字段包括:`url`、`title`、`author`、`source`、`category`、`location`、`tags`、`site_name`、`word_count`、`reading_time`、`created_at`、`updated_at`、`published_date`、`summary`、`image_url`、`content`、`source_url`、`notes`、`parent_id`、`reading_progress`、`first_opened_at`、`last_opened_at`、`saved_at`、`last_moved_at`、`html_content`、`is_deleted`。
提示:未查看的文档`first_opened_at`值为`null`。可通过`reader_bulk_edit_document_metadata`标记为已查看。Reading and highlighting
阅读与高亮
undefinedundefinedGet full document details including Markdown content
Get full document details including Markdown content
reader_get_document_details(document_id="<id>")
reader_get_document_details(document_id="<id>")
Get all highlights on a document
Get all highlights on a document
reader_get_document_highlights(document_id="<id>")
reader_get_document_highlights(document_id="<id>")
Create a highlight — html_content must match the document's HTML exactly
Create a highlight — html_content must match the document's HTML exactly
Get the HTML via reader_list_documents with response_fields=["html_content"]
Get the HTML via reader_list_documents with response_fields=["html_content"]
reader_create_highlight(document_id="<id>", html_content="<p>The exact passage to highlight</p>")
reader_create_highlight(document_id="<id>", html_content="<p>The exact passage to highlight</p>")
Highlight with a note and tags
Highlight with a note and tags
reader_create_highlight(document_id="<id>", html_content="<p>Key insight</p>", note="Connects to spaced repetition", tags=["review", "concept"])
undefinedreader_create_highlight(document_id="<id>", html_content="<p>Key insight</p>", note="Connects to spaced repetition", tags=["review", "concept"])
undefinedSaving documents
保存文档
undefinedundefinedSave a URL — Reader scrapes it automatically
Save a URL — Reader scrapes it automatically
reader_create_document(url="https://example.com/article")
reader_create_document(url="https://example.com/article")
Save with metadata and tags
Save with metadata and tags
reader_create_document(url="https://example.com", title="Great Article", tags=["research", "ai"], notes="Recommended by Alice")
reader_create_document(url="https://example.com", title="Great Article", tags=["research", "ai"], notes="Recommended by Alice")
Save raw Markdown content (provide a unique URL as identifier)
Save raw Markdown content (provide a unique URL as identifier)
reader_create_document(title="Meeting Notes", markdown="# Notes from today...", url="https://me.com#notes-march-2025")
undefinedreader_create_document(title="Meeting Notes", markdown="# Notes from today...", url="https://me.com#notes-march-2025")
undefinedOrganizing
整理文档
undefinedundefinedMove documents between locations (max 50 per call)
Move documents between locations (max 50 per call)
reader_move_documents(document_ids=["<id1>", "<id2>"], location="archive")
reader_move_documents(document_ids=["<id1>", "<id2>"], location="archive")
Bulk mark documents as seen
Bulk mark documents as seen
reader_bulk_edit_document_metadata(documents=[{"document_id": "<id>", "seen": true}])
reader_bulk_edit_document_metadata(documents=[{"document_id": "<id>", "seen": true}])
Bulk update metadata
Bulk update metadata
reader_bulk_edit_document_metadata(documents=[{"document_id": "<id>", "title": "Better Title", "tags": ["ai", "research"]}])
Note: `reader_move_documents` and `reader_bulk_edit_document_metadata` share a rate limit of 20 calls/minute. Batch document IDs into fewer calls.reader_bulk_edit_document_metadata(documents=[{"document_id": "<id>", "title": "Better Title", "tags": ["ai", "research"]}])
注意:`reader_move_documents`和`reader_bulk_edit_document_metadata`共享每分钟20次调用的速率限制。请将文档ID批量处理以减少调用次数。Tags
标签管理
undefinedundefinedList all tags
List all tags
reader_list_tags()
reader_list_tags()
Add tags to a document
Add tags to a document
reader_add_tags_to_document(document_id="<id>", tag_names=["important", "research"])
reader_add_tags_to_document(document_id="<id>", tag_names=["important", "research"])
Remove tags from a document
Remove tags from a document
reader_remove_tags_from_document(document_id="<id>", tag_names=["old-tag"])
reader_remove_tags_from_document(document_id="<id>", tag_names=["old-tag"])
Add tags to a highlight
Add tags to a highlight
reader_add_tags_to_highlight(document_id="<id>", highlight_document_id="<hid>", tag_names=["concept"])
reader_add_tags_to_highlight(document_id="<id>", highlight_document_id="<hid>", tag_names=["concept"])
Remove tags from a highlight
Remove tags from a highlight
reader_remove_tags_from_highlight(document_id="<id>", highlight_document_id="<hid>", tag_names=["old-tag"])
reader_remove_tags_from_highlight(document_id="<id>", highlight_document_id="<hid>", tag_names=["old-tag"])
Set notes on a highlight (pass null to clear)
Set notes on a highlight (pass null to clear)
reader_set_highlight_notes(document_id="<id>", highlight_document_id="<hid>", notes="My updated note")
undefinedreader_set_highlight_notes(document_id="<id>", highlight_document_id="<hid>", notes="My updated note")
undefinedExporting
导出文档
undefinedundefinedExport all documents as a ZIP of Markdown files (async — returns export_id)
Export all documents as a ZIP of Markdown files (async — returns export_id)
reader_export_documents()
reader_export_documents()
Delta export — only docs updated since last export
Delta export — only docs updated since last export
reader_export_documents(since_updated="2024-01-01T00:00:00Z")
reader_export_documents(since_updated="2024-01-01T00:00:00Z")
Poll for completion
Poll for completion
reader_get_export_documents_status(export_id="<id>")
Poll `reader_get_export_documents_status` until `status` is `"completed"`, then use the `download_url`.reader_get_export_documents_status(export_id="<id>")
轮询`reader_get_export_documents_status`直到`status`变为`"completed"`,然后使用返回的`download_url`下载。Readwise Tools
Readwise工具
Searching highlights
搜索高亮内容
undefinedundefinedSemantic search across all highlights
Semantic search across all highlights
readwise_search_highlights(vector_search_term="learning techniques")
readwise_search_highlights(vector_search_term="learning techniques")
Search with full-text filter on a specific field
Search with full-text filter on a specific field
readwise_search_highlights(vector_search_term="memory", full_text_queries=[{"field_name": "document_title", "search_term": "psychology"}])
Full-text query fields: `document_author`, `document_title`, `highlight_note`, `highlight_plaintext`, `highlight_tags`.readwise_search_highlights(vector_search_term="memory", full_text_queries=[{"field_name": "document_title", "search_term": "psychology"}])
全文检索支持的字段:`document_author`、`document_title`、`highlight_note`、`highlight_plaintext`、`highlight_tags`。Browsing highlights
浏览高亮内容
undefinedundefinedList 20 most recent highlights
List 20 most recent highlights
readwise_list_highlights(page_size=20)
readwise_list_highlights(page_size=20)
Highlights from a specific book
Highlights from a specific book
readwise_list_highlights(book_id=12345)
readwise_list_highlights(book_id=12345)
Highlights from the last month
Highlights from the last month
readwise_list_highlights(highlighted_at_gt="2025-02-01T00:00:00Z")
readwise_list_highlights(highlighted_at_gt="2025-02-01T00:00:00Z")
Paginate
Paginate
readwise_list_highlights(page_size=100, page=2)
undefinedreadwise_list_highlights(page_size=100, page=2)
undefinedCreating and editing highlights
创建与编辑高亮内容
undefinedundefinedCreate a highlight (matched to a book by title/author, or goes into "Quotes")
Create a highlight (matched to a book by title/author, or goes into "Quotes")
readwise_create_highlights(highlights=[{"text": "The key insight here", "title": "Book Title", "author": "Author Name"}])
readwise_create_highlights(highlights=[{"text": "The key insight here", "title": "Book Title", "author": "Author Name"}])
Create multiple highlights at once
Create multiple highlights at once
readwise_create_highlights(highlights=[{"text": "First quote", "title": "Book A"}, {"text": "Second quote", "title": "Book B", "note": "Great point"}])
readwise_create_highlights(highlights=[{"text": "First quote", "title": "Book A"}, {"text": "Second quote", "title": "Book B", "note": "Great point"}])
Update a highlight
Update a highlight
readwise_update_highlight(highlight_id=12345, note="New note", add_tags=["concept", "review"], color="blue")
readwise_update_highlight(highlight_id=12345, note="New note", add_tags=["concept", "review"], color="blue")
Delete a highlight
Delete a highlight
readwise_delete_highlight(highlight_id=12345)
Colors: `yellow`, `blue`, `pink`, `orange`, `green`, `purple`.readwise_delete_highlight(highlight_id=12345)
支持的颜色:`yellow`、`blue`、`pink`、`orange`、`green`、`purple`。Daily review
每日复习
undefinedundefinedGet today's spaced repetition review
Get today's spaced repetition review
readwise_get_daily_review()
Returns highlights selected by the algorithm plus a URL for interactive review.readwise_get_daily_review()
返回由算法筛选的高亮内容,以及一个用于交互式复习的URL。Example Workflows
示例工作流
Triage the inbox: List recent saves, read each one, decide what's worth the user's time.
reader_list_documents(location="new", limit=10, response_fields=["title", "author", "summary", "word_count", "category", "saved_at"])
reader_get_document_details(document_id="<id>")
reader_move_documents(document_ids=["<id>"], location="later") # worth reading
reader_move_documents(document_ids=["<id>"], location="archive") # skipSearch across everything: Find all content on a topic — run both in parallel.
reader_search_documents(query="spaced repetition")
readwise_search_highlights(vector_search_term="spaced repetition")Quiz on a recent read: Find a finished document, get its content and highlights.
reader_list_documents(location="archive", limit=10, response_fields=["title", "author", "summary", "word_count"])
reader_get_document_details(document_id="<id>")
reader_get_document_highlights(document_id="<id>")Catch up on RSS: Browse feed items, surface the best ones, mark the rest as seen.
reader_list_documents(location="feed", limit=20, response_fields=["title", "author", "summary", "word_count", "site_name"])
reader_bulk_edit_document_metadata(documents=[{"document_id": "<id1>", "seen": true}, {"document_id": "<id2>", "seen": true}])
reader_move_documents(document_ids=["<id>"], location="later")Save and annotate: Save a URL, highlight key passages, tag and organize.
reader_create_document(url="https://example.com/article", tags=["research"])
reader_create_highlight(document_id="<id>", html_content="<p>Key passage here</p>", note="This connects to...")
reader_add_tags_to_document(document_id="<id>", tag_names=["important"])Build a reading recap: See what you've finished and highlighted recently.
reader_list_documents(location="archive", updated_after="2025-03-10T00:00:00Z", response_fields=["title", "author", "word_count", "reading_progress"])
reader_get_document_highlights(document_id="<id>")
readwise_list_highlights(highlighted_at_gt="2025-03-10T00:00:00Z", page_size=50)收件箱分类: 列出最近保存的内容,逐一阅读,判断哪些值得用户花费时间。
reader_list_documents(location="new", limit=10, response_fields=["title", "author", "summary", "word_count", "category", "saved_at"])
reader_get_document_details(document_id="<id>")
reader_move_documents(document_ids=["<id>"], location="later") # 值得阅读
reader_move_documents(document_ids=["<id>"], location="archive") # 跳过全内容搜索: 查找某个主题的所有内容——并行运行以下两个操作。
reader_search_documents(query="spaced repetition")
readwise_search_highlights(vector_search_term="spaced repetition")近期阅读测验: 查找已完成阅读的文档,获取其内容和高亮笔记。
reader_list_documents(location="archive", limit=10, response_fields=["title", "author", "summary", "word_count"])
reader_get_document_details(document_id="<id>")
reader_get_document_highlights(document_id="<id>")RSS订阅跟进: 浏览订阅源内容,筛选优质内容,标记其余为已查看。
reader_list_documents(location="feed", limit=20, response_fields=["title", "author", "summary", "word_count", "site_name"])
reader_bulk_edit_document_metadata(documents=[{"document_id": "<id1>", "seen": true}, {"document_id": "<id2>", "seen": true}])
reader_move_documents(document_ids=["<id>"], location="later")保存与批注: 保存URL,高亮关键段落,添加标签并整理。
reader_create_document(url="https://example.com/article", tags=["research"])
reader_create_highlight(document_id="<id>", html_content="<p>Key passage here</p>", note="This connects to...")
reader_add_tags_to_document(document_id="<id>", tag_names=["important"])阅读回顾: 查看近期已完成的阅读内容和高亮笔记。
reader_list_documents(location="archive", updated_after="2025-03-10T00:00:00Z", response_fields=["title", "author", "word_count", "reading_progress"])
reader_get_document_highlights(document_id="<id>")
readwise_list_highlights(highlighted_at_gt="2025-03-10T00:00:00Z", page_size=50)