Skip to main content
Glama
vgnshiyer

apple-books-mcp

by vgnshiyer

Apple Books MCP

Apple Books用のModel Context Protocol (MCP) サーバーです。

Website PyPI License: Apache 2.0 Buy Me A Coffee

概要

  • 中断したところから再開 — Claudeは、あなたが読んでいる章とそのテキスト、さらに最近のハイライトを表示します。

  • ハイライトの深掘り — ハイライトされた箇所を «...» で示し、その前後の段落を文脈に合わせて解説します。

  • 書籍の再訪 — ハイライトを抽出し、テーマごとに分類して、あなた自身の言葉を振り返ります。

  • 読書の振り返り — 書籍を横断したパターンや、ハイライトに繰り返し現れるアイデア、あなたが実際に何に惹かれているかを分析します。

https://github.com/user-attachments/assets/77a5a29b-bfd7-4275-a4af-8d6c51a4527e

その他にも多くの機能があります!

Related MCP server: Co-Reading MCP

利用可能なツール

コレクション

ツール

説明

パラメータ

list_all_collections

すべてのコレクションを一覧表示

limit?: int

get_collection_books

コレクション内のすべての書籍を取得

collection_id: str

describe_collection

コレクションの詳細を取得

collection_id: str

search_collections_by_title

タイトルでコレクションを検索

title: str

書籍

ツール

説明

パラメータ

list_all_books

すべての書籍を一覧表示

limit?: int

describe_book

特定の書籍の詳細を取得(メタデータ、進捗、注釈数、説明)

book_id: str

list_annotations

書籍のすべての注釈を取得(ID + テキスト + 章ごと、章順)

book_id: int, limit?: int

search_books_by_title

タイトルで書籍を検索

title: str

get_books_by_genre

ジャンルで書籍を取得(部分一致)

genre: str, limit?: int

読書状況

ツール

説明

パラメータ

get_books_in_progress

現在読んでいる書籍を取得

limit?: int

get_finished_books

読み終えた書籍を取得

limit?: int

get_unstarted_books

まだ読み始めていない書籍を取得

limit?: int

get_recently_read_books

最近開いた書籍を取得

limit?: int (デフォルト: 10)

注釈

ツール

説明

パラメータ

list_all_annotations

書籍ごとにグループ化されたすべての注釈を閲覧(新しい順)

limit?: int

recent_annotations

最近の注釈を取得(フラット形式、日付 + 書籍ごと)

limit?: int (デフォルト: 10)

describe_annotation

単一の注釈の詳細を取得

annotation_id: str

get_annotation_context

ハイライト周辺のテキストウィンドウ(含まれる段落)、ハイライトは «...» でマーク

annotation_id: int, chars_before?: int (デフォルト: 500), chars_after?: int (デフォルト: 500)

get_highlights_by_color

特定の色のハイライトを書籍ごとにグループ化して取得

color: str, limit?: int

search_notes

ユーザーノートを検索(ハイライト + ノートをインライン表示)

note: str, limit?: int

search_annotations

ハイライト + ノート + 周辺テキストを横断検索

text: str, limit?: int

get_annotations_by_date_range

日付範囲内の注釈を取得(フラット形式、日付 + 書籍ごと)

after?: YYYY-MM-DD, before?: YYYY-MM-DD, limit?: int

ライブラリ統計

ツール

説明

パラメータ

get_library_stats

読書統計を含むライブラリの概要を取得

なし

書籍コンテンツ

DRMフリーのEPUB(インポートした書籍、Project Gutenberg、Standard Ebooksなど)でのみ動作します。Apple Books Storeで購入した書籍はFairPlayで保護されており、明確なエラーが返されます。iCloudのみの書籍は「未ダウンロード」というヒントが返されます。

ツール

説明

パラメータ

list_book_chapters

書籍の目次(章タイトル、順序、ネスト)

book_id: int

get_chapter_content

章のプレーンテキストコンテンツ(オプションで offset + max_chars によるスライスが可能)

book_id: int, chapter_id: str, offset?: int, max_chars?: int

get_current_reading_position

ユーザーが最後に読んでいた章(Apple Booksの自動ブックマークCFI経由)

book_id: int

利用可能なリソース

Claude Desktopのリソースピッカーからアクセス可能なデータオブジェクト。

リソース

URI

説明

Currently Reading

apple-books://currently-reading

現在読んでいる書籍 — 最近開いた進行中の書籍。メタデータ、中断した章とそのテキストのプレビュー(DRMフリーEPUBのみ)、最近の注釈が含まれます。会話に添付して、Claudeに現在の読書内容を把握させることができます。

利用可能なプロンプト

Claude Desktopのプロンプトピッカーからアクセス可能なワンクリックワークフロー。

プロンプト

説明

引数

weekly_digest

先週読んだ内容とハイライトを要約

days?: int (デフォルト: 7)

library_snapshot

読書生活全体の振り返り

なし

revisit_book

特定の書籍のノートとハイライトを再訪

book_title: str

インストール

uv を使用する場合(推奨)

uvx を使用すると、インストールせずに直接 apple-books-mcp を実行できます。

brew install uv  # for macos
uvx apple-books-mcp

pip を使用する場合

pip install apple-books-mcp

インストール後、以下のコマンドでサーバーを実行できます:

python -m apple_books_mcp

Docker を使用する場合

docker run -v ~/Library/Containers/com.apple.iBooksX/Data/Documents:/root/Library/Containers/com.apple.iBooksX/Data/Documents:ro ghcr.io/vgnshiyer/apple-books-mcp:latest

初回実行時の権限プロンプト(macOS)

初回使用時、macOSは uvx(または起動方法に応じて python / docker)が「他のアプリのデータにアクセス」してもよいか尋ねてきます。「許可」をクリックしてください。MCPは ~/Library/Containers/com.apple.iBooksX/ にあるApple Booksのプライベートコンテナを読み取りますが、macOSはこれを他のアプリのサンドボックス化されたデータとして扱います。アクセスは読み取り専用で、そのコンテナ内に限定されます。許可を与えなくてもサーバーは起動しますが、権限がないとすべてのツールが空の結果を返します。

macOSの権限プロンプト: uvxが他のアプリのデータへのアクセスを求めています。許可しない / 許可。

設定

Claude Desktop のセットアップ

uvx を使用する場合(推奨)

{
    "mcpServers": {
        "apple-books-mcp": {
            "command": "uvx",
            "args": [ "apple-books-mcp@latest" ]
        }
    }
}

python を使用する場合

{
    "mcpServers": {
        "apple-books-mcp": {
            "command": "python",
            "args": ["-m", "apple_books_mcp"]
        }
    }
}

Docker を使用する場合

{
    "mcpServers": {
        "apple-books-mcp": {
            "command": "docker",
            "args": [
                "run", "-i", "--rm",
                "-v", "~/Library/Containers/com.apple.iBooksX/Data/Documents:/root/Library/Containers/com.apple.iBooksX/Data/Documents:ro",
                "ghcr.io/vgnshiyer/apple-books-mcp:latest"
            ]
        }
    }
}

今後の機能予定

  • [ ] PDFコンテンツへのアクセス(現在はEPUBのみ)

  • [ ] CFI → 段落解決による、より詳細な注釈コンテキストの取得

貢献

このプロジェクトへの貢献をご検討いただきありがとうございます!

開発

リポジトリをクローンした場合、以下の設定でClaude Desktopを使用してテストできます:

uv venv を使用して仮想環境を作成し、依存関係をインストールしてください。

uv venv
uv sync

デバッグ

Claude Desktopを使用する場合

{
    "mcpServers": {
        "apple-books-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/apple-books-mcp/",
                "run",
                "apple_books_mcp",
                "-v"
            ]
        }
    }
}

インスペクターを使用する場合

npx @modelcontextprotocol/inspector uvx apple-books-mcp

Issueの作成

バグに遭遇した場合、機能リクエストがある場合、またはプロジェクトに関連する議論をしたい場合は、GitHubリポジトリでIssueを作成してください。Issueを作成する際は、以下を提供してください:

バグ報告: 問題を詳細に説明してください。可能であれば再現手順、エラーメッセージ、スクリーンショットを含めてください。

機能リクエスト: プロジェクトに追加したい新しい機能を明確に説明してください。その機能がなぜ有益なのか、背景を説明してください。

一般的な議論: プロジェクトに関連する幅広いトピックについて、自由に議論を始めてください。

貢献の手順

1️⃣ GitHubリポジトリ https://github.com/vgnshiyer/apple-books-mcp をフォークする 2️⃣ 変更用の新しいブランチを作成する (git checkout -b feature/my-new-feature) 3️⃣ 変更を加え、十分にテストする 4️⃣ 変更をプッシュし、main に対してプルリクエストを作成する

変更内容の明確なタイトルと説明を記載してください。

ライセンス

Apple Books MCPはApache 2.0ライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
2dResponse time
6dRelease cycle
15Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

  • An MCP memory server. One memory your agents share — across models, devices and apps.

  • Apple Developer Documentation with Semantic Search, RAG, and AI reranking for MCP clients

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vgnshiyer/apple-books-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server