mcpField
R
readwise-mcp

readwise-mcp

github.com/readwiseio生産性326406 回インストール19 週間前に更新
リポジトリ

readwise-mcp について

ReadwiseのハイライトとReaderの文書にアクセスするMCPツールを説明するスキルです。サーバーに接続するクライアント向けに、読書データの検索、整理、編集、エクスポートを扱います。

主な機能

  1. 01文書とハイライトの検索
  2. 02Reader文書の閲覧と読み込み
  3. 03ハイライトの作成と編集
  4. 04文書とタグの整理
  5. 05Markdown ZIP形式での文書エクスポート

活用シーン

  1. 01トピックに関する保存資料の検索
  2. 02受信箱の選別と整理
  3. 03最近読んだ資料のハイライト確認
  4. 04Reader文書のエクスポート

MCP 対応

ReadwiseとReaderのAPI操作をMCPツールとして提供します。文書検索・管理、ハイライトの取得・編集、デイリーレビュー、エクスポートなどを含みます。クライアントはHTTPで接続し、初回利用時にOAuthで認証します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/readwiseio/readwise-skills --skill readwise-mcp

インストール後、Claude Code で/readwise-mcpを入力して読み込まれたか確認します。

詳細

Readwise MCP

Readwise の MCP ツールを使用して、ユーザーの Readwise のハイライトや Reader のドキュメントにアクセスできます。Readwise には 2 つの製品があります。

  • Readwise — 書籍、記事、ポッドキャストなどのハイライトを扱います。毎日の復習と間隔反復が含まれます。
  • Reader — 記事、PDF、EPUB、RSS フィード、メール、ツイート、動画を保存して読むための後で読むアプリです。

セットアップ

クライアントの設定に Readwise MCP サーバーを追加します。

{
  "readwise": {
    "type": "http",
    "url": "https://mcp2.readwise.io/mcp"
  }
}

サーバーは OAuth を使用して認証を処理します。初回使用時に、ユーザーに認証の許可を求めるメッセージが表示されます。

ツールリファレンス

すべてのツールには mcp__readwise__ というプレフィックスが付いています。各ツール名は Readwise または Reader の API アクションに直接対応しています。

Reader ツール

ドキュメントの検索
reader_search_documents(query="spaced repetition")

保存したすべてのドキュメントを対象とするハイブリッド検索(セマンティック検索+キーワード検索)です。フィルターと組み合わせて検索結果を絞り込めます。

# Search articles saved for later
reader_search_documents(query="machine learning", category_in=["article"], location_in=["later", "shortlist"])

# Search by author
reader_search_documents(query="AI agents", author_search="Simon Willison")

# Search within a date range
reader_search_documents(query="transformers", published_date_gt="2024-01-01")

# Search by tags
reader_search_documents(query="productivity", tags_in=["research"])

その他のフィルター:title_search、summary_search、note_search、url_search、source_search、document_id、limit(デフォルトは 20、最大 100)。

ドキュメントの閲覧
# 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"])

# Archived articles with a specific tag
reader_list_documents(location="archive", tag=["research"], category="article")

# Unseen inbox items
reader_list_documents(location="new", seen=false)

# RSS feed items
reader_list_documents(location="feed", limit=20, response_fields=["title", "author", "summary", "site_name"])

# Get a specific document by ID
reader_list_documents(id="<document_id>")

# Paginate through results
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 で既読にできます。

読む、ハイライトする
# Get full document details including Markdown content
reader_get_document_details(document_id="<id>")

# Get all highlights on a document
reader_get_document_highlights(document_id="<id>")

# Create a highlight — html_content must match the document's HTML exactly
# 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>")

# 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"])
ドキュメントの保存
# Save a URL — Reader scrapes it automatically
reader_create_document(url="https://example.com/article")

# Save with metadata and tags
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)
reader_create_document(title="Meeting Notes", markdown="# Notes from today...", url="https://me.com#notes-march-2025")
整理
# Move documents between locations (max 50 per call)
reader_move_documents(document_ids=["<id1>", "<id2>"], location="archive")

# Bulk mark documents as seen
reader_bulk_edit_document_metadata(documents=[{"document_id": "<id>", "seen": true}])

# Bulk update metadata
reader_bulk_edit_document_metadata(documents=[{"document_id": "<id>", "title": "Better Title", "tags": ["ai", "research"]}])

注:reader_move_documents と reader_bulk_edit_document_metadata は、1 分あたり 20 回の共通レート制限を使用します。ドキュメント ID をまとめて、呼び出し回数を減らしてください。

タグ
# List all tags
reader_list_tags()

# Add tags to a document
reader_add_tags_to_document(document_id="<id>", tag_names=["important", "research"])

# Remove tags from a document
reader_remove_tags_from_document(document_id="<id>", tag_names=["old-tag"])

# Add tags to a highlight
reader_add_tags_to_highlight(document_id="<id>", highlight_document_id="<hid>", tag_names=["concept"])

# Remove tags from a highlight
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)
reader_set_highlight_notes(document_id="<id>", highlight_document_id="<hid>", notes="My updated note")
エクスポート
# Export all documents as a ZIP of Markdown files (async — returns export_id)
reader_export_documents()

# Delta export — only docs updated since last export
reader_export_documents(since_updated="2024-01-01T00:00:00Z")

# Poll for completion
reader_get_export_documents_status(export_id="<id>")

status が "completed" になるまで reader_get_export_documents_status をポーリングし、その後 download_url を使用します。

Readwise ツール

ハイライトの検索
# Semantic search across all highlights
readwise_search_highlights(vector_search_term="learning techniques")

# 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"}])

全文検索の対象フィールド:document_author、document_title、highlight_note、highlight_plaintext、highlight_tags。

ハイライトの閲覧
# List 20 most recent highlights
readwise_list_highlights(page_size=20)

# Highlights from a specific book
readwise_list_highlights(book_id=12345)

# Highlights from the last month
readwise_list_highlights(highlighted_at_gt="2025-02-01T00:00:00Z")

# Paginate
readwise_list_highlights(page_size=100, page=2)
ハイライトの作成と編集
# 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"}])

# Create multiple highlights at once
readwise_create_highlights(highlights=[{"text": "First quote", "title": "Book A"}, {"text": "Second quote", "title": "Book B", "note": "Great point"}])

# Update a highlight
readwise_update_highlight(highlight_id=12345, note="New note", add_tags=["concept", "review"], color="blue")

# Delete a highlight
readwise_delete_highlight(highlight_id=12345)

色:yellow、blue、pink、orange、green、purple。

毎日の復習
# Get today's spaced repetition review
readwise_get_daily_review()

アルゴリズムで選ばれたハイライトと、インタラクティブな復習用の URL を返します。

ワークフローの例

受信箱を整理する: 最近保存したものを一覧表示して、それぞれを読み、ユーザーの時間を使う価値があるか判断します。

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")   # skip

すべてを横断検索する: あるトピックに関するすべてのコンテンツを検索します。2 つの検索を並行して実行します。

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)

コメント