Skip to main content
Glama
vgnshiyer

apple-books-mcp

by vgnshiyer

Apple Books MCP

Model Context Protocol (MCP)-Server für Apple Books.

Website PyPI License: Apache 2.0 Buy Me A Coffee

Auf einen Blick

  • Dort weitermachen, wo Sie aufgehört haben — Claude sieht das Kapitel, in dem Sie sich befinden, sowie dessen Text und aktuelle Markierungen im Buch.

  • Markierungen erweitern — erhalten Sie Erklärungen zum umgebenden Absatz im Kontext, wobei der genaue Anker, den Sie markiert haben, als «...» angezeigt wird.

  • Ein Buch erneut besuchen — rufen Sie Ihre Markierungen ab, gruppieren Sie sie nach Themen und lassen Sie sich Ihre eigenen Zitate zurückgeben.

  • Über Ihr Leseverhalten nachdenken — Muster über Bücher hinweg, wiederkehrende Ideen in Ihren Markierungen, wozu Sie sich tatsächlich hingezogen fühlen.

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

Und vieles mehr!

Related MCP server: Co-Reading MCP

Verfügbare Tools

Sammlungen

Tool

Beschreibung

Parameter

list_all_collections

Alle Sammlungen auflisten

limit?: int

get_collection_books

Alle Bücher in einer Sammlung abrufen

collection_id: str

describe_collection

Details einer Sammlung abrufen

collection_id: str

search_collections_by_title

Sammlungen nach Titel suchen

title: str

Bücher

Tool

Beschreibung

Parameter

list_all_books

Alle Bücher auflisten

limit?: int

describe_book

Details eines bestimmten Buches abrufen (Metadaten, Fortschritt, Anzahl der Anmerkungen, Beschreibung)

book_id: str

list_annotations

Alle Anmerkungen für ein Buch abrufen (ID + Text + Kapitel pro Zeile, nach Kapitel sortiert)

book_id: int, limit?: int

search_books_by_title

Bücher nach Titel suchen

title: str

get_books_by_genre

Bücher nach Genre abrufen (Teilübereinstimmung)

genre: str, limit?: int

Lesestatus

Tool

Beschreibung

Parameter

get_books_in_progress

Bücher abrufen, die gerade gelesen werden

limit?: int

get_finished_books

Bücher abrufen, die bereits beendet wurden

limit?: int

get_unstarted_books

Bücher abrufen, die noch nicht begonnen wurden

limit?: int

get_recently_read_books

Zuletzt geöffnete Bücher abrufen

limit?: int (Standard: 10)

Anmerkungen

Tool

Beschreibung

Parameter

list_all_annotations

Alle Anmerkungen nach Buch gruppiert durchsuchen, neueste zuerst

limit?: int

recent_annotations

Die neuesten Anmerkungen abrufen (flach, mit Datum + Buch pro Zeile)

limit?: int (Standard: 10)

describe_annotation

Vollständige Details einer einzelnen Anmerkung abrufen

annotation_id: str

get_annotation_context

Textfenster um eine Markierung (der Absatz, in dem sie sich befindet), wobei die Markierung als «...» gekennzeichnet ist

annotation_id: int, chars_before?: int (Standard: 500), chars_after?: int (Standard: 500)

get_highlights_by_color

Markierungen einer bestimmten Farbe, gruppiert nach Buch

color: str, limit?: int

search_notes

Benutzernotizen durchsuchen (zeigt Markierung + Notiz inline)

note: str, limit?: int

search_annotations

Über Markierungen + Notizen + umgebenden Text hinweg suchen

text: str, limit?: int

get_annotations_by_date_range

Anmerkungen innerhalb eines Datumsbereichs (flach, mit Datum + Buch pro Zeile)

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

Bibliotheksstatistiken

Tool

Beschreibung

Parameter

get_library_stats

Zusammenfassung der Bibliothek mit Lesestatistiken abrufen

None

Buchinhalt

Funktioniert nur für EPUBs ohne DRM (importierte Bücher, Project Gutenberg, Standard Ebooks, etc.). Käufe aus dem Apple Books Store sind durch FairPlay geschützt und geben einen klaren Fehler zurück. Bücher, die nur in iCloud vorhanden sind, geben einen Hinweis "nicht heruntergeladen" zurück.

Tool

Beschreibung

Parameter

list_book_chapters

Inhaltsverzeichnis eines Buches (Kapiteltitel, Reihenfolge, Verschachtelung)

book_id: int

get_chapter_content

Klartextinhalt eines Kapitels, mit optionalem offset + max_chars Slicing

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

get_current_reading_position

Das Kapitel, in dem der Benutzer zuletzt aufgehört hat zu lesen (via Apple Books' Auto-Lesezeichen CFI)

book_id: int

Verfügbare Ressourcen

Anhängbare Datenobjekte, die über den Ressourcen-Auswähler von Claude Desktop zugänglich sind.

Ressource

URI

Beschreibung

Aktuell gelesen

apple-books://currently-reading

Das Buch, das Sie gerade lesen — das zuletzt geöffnete Buch, das gerade gelesen wird, mit Metadaten, dem Kapitel, in dem Sie aufgehört haben, sowie einer Vorschau seines Textes (für EPUBs ohne DRM) und aktuellen Anmerkungen. Hängen Sie es an eine Konversation an, um Claude auf Ihre aktuelle Lektüre zu fokussieren.

Verfügbare Prompts

Workflows mit einem Klick, zugänglich über den Prompt-Auswähler von Claude Desktop.

Prompt

Beschreibung

Argumente

weekly_digest

Zusammenfassung dessen, was ich in der letzten Woche gelesen und markiert habe

days?: int (Standard: 7)

library_snapshot

Ein Rückblick auf mein gesamtes Leseleben

None

revisit_book

Überprüfen Sie Ihre Notizen und Markierungen aus einem bestimmten Buch

book_title: str

Installation

Verwendung von uv (empfohlen)

uvx kann verwendet werden, um apple-books-mcp direkt auszuführen (ohne es zu installieren).

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

Verwendung von pip

pip install apple-books-mcp

Nach der Installation können Sie den Server wie folgt ausführen:

python -m apple_books_mcp

Verwendung von 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

Berechtigungsabfrage beim ersten Start (macOS)

Bei der ersten Verwendung fragt macOS, ob uvx (oder python / docker, je nachdem, wie Sie gestartet haben) "auf Daten von anderen Apps zugreifen" darf. Klicken Sie auf Erlauben — der MCP liest den privaten Container von Apple Books unter ~/Library/Containers/com.apple.iBooksX/, den macOS als sandboxed Daten einer anderen App behandelt. Der Zugriff ist schreibgeschützt und auf diesen Container beschränkt; der Server startet in jedem Fall erfolgreich, aber ohne Berechtigung bleibt jedes Tool leer.

macOS Berechtigungsabfrage: uvx möchte auf Daten von anderen Apps zugreifen. Nicht erlauben / Erlauben.

Konfiguration

Claude Desktop Einrichtung

Verwendung von uvx (empfohlen)

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

Verwendung von python

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

Verwendung von 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"
            ]
        }
    }
}

Kommende Funktionen

  • [ ] PDF-Inhaltszugriff (derzeit nur EPUB)

  • [ ] Vollständigerer Anmerkungskontext via CFI → Absatzauflösung

Beitrag leisten

Vielen Dank, dass Sie in Erwägung ziehen, zu diesem Projekt beizutragen!

Entwicklung

Wenn Sie dieses Repository geklont haben, können Sie es mit Claude Desktop unter Verwendung der folgenden Konfiguration testen:

Verwenden Sie uv venv, um eine virtuelle Umgebung zu erstellen und die Abhängigkeiten zu installieren.

uv venv
uv sync

Debugging

Mit Claude Desktop

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

Mit Inspector

npx @modelcontextprotocol/inspector uvx apple-books-mcp

Issues öffnen

Wenn Sie auf einen Fehler stoßen, einen Funktionswunsch haben oder etwas im Zusammenhang mit dem Projekt besprechen möchten, öffnen Sie bitte ein Issue im GitHub-Repository. Wenn Sie ein Issue öffnen, geben Sie bitte Folgendes an:

Fehlerberichte: Beschreiben Sie das Problem im Detail. Fügen Sie nach Möglichkeit Schritte zur Reproduktion des Fehlers sowie Fehlermeldungen oder Screenshots bei.

Funktionswünsche: Erklären Sie klar, welche neue Funktion Sie gerne zum Projekt hinzugefügt sehen würden. Geben Sie Kontext dazu, warum diese Funktion vorteilhaft wäre.

Allgemeine Diskussionen: Fühlen Sie sich frei, Diskussionen zu breiteren Themen im Zusammenhang mit dem Projekt zu starten.

Beitrag leisten

1️⃣ Forken Sie das GitHub-Repository https://github.com/vgnshiyer/apple-books-mcp
2️⃣ Erstellen Sie einen neuen Branch für Ihre Änderungen (git checkout -b feature/my-new-feature).
3️⃣ Nehmen Sie Ihre Änderungen vor und testen Sie diese gründlich.
4️⃣ Pushen Sie Ihre Änderungen und öffnen Sie einen Pull Request an main.

Bitte geben Sie einen klaren Titel und eine Beschreibung Ihrer Änderungen an.

Lizenz

Apple Books MCP ist unter der Apache 2.0 Lizenz lizenziert. Weitere Informationen finden Sie in der LICENSE-Datei.

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