SkillTide Submit
Official description3 sourcesMCP servers3d ago
vgnshiyer/apple-books-mcp

vgnshiyer/apple-books-mcp

Apple Books MCP Server
View on GitHub ↗Direct link · no redirect page
Source
collected from the abordage/awesome-mcp list · type: MCP server
Harvest history
first seen 2026-10-14 · last seen 2026-10-16 · seen 4× · listed by 3 sources
Score
score 303 · 3 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-10-14;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Third-party quality signals

Apple Books MCP

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Model Context Protocol (MCP) server for Apple Books.
At a glance
* **Pick up where you left off** — Claude sees the book you're reading, your progress and the chapter you're on, and pulls that chapter's text (chapter_id="current") and your highlights when it needs them.
* **Find any book** — by title or author, ignoring case, accents and curly quotes, with a link that opens it in Apple Books.
* **Expand on any highlight** — get the surrounding paragraph explained in context, with the exact anchor you marked shown in «...».
* **Revisit a book** — pull your highlights, cluster them by theme, and quote you back to yourself.
* **Reflect on your reading** — patterns across books, recurring ideas in your highlights, what you're actually drawn to.
https://github.com/user-attachments/assets/77a5a29b-bfd7-4275-a4af-8d6c51a4527e
And much more!
Available Tools
List and search tools return one page at a time: 50 annotations or 200 books by default, limit between 1 and 500, and offset for the next page. When there is more, the output says so and names the next offset.
How results work:
* Ids are integers: every row starts with one, as in [175] Title by Author, to pass on as book_id, annotation_id or collection_id. A numeric string such as "175" is accepted too; true, false and fractions are not ids.
* A failure (an unknown id, a book that isn't downloaded, a bad color) comes back as an MCP error (isError) whose message names what to do next, often another tool to call. An empty result ("No books matched …") is a normal answer, not an error.
* Text taken from your books (chapter text, the passage around a highlight, a table of contents, a book's description) is wrapped in … . The server's instructions tell Claude that this text is untrusted data from the book, never instructions to follow.
* Highlights from books you've removed from the library are kept by Apple Books. They are shown per removed book, as "Removed book (asset 3F2A1B2C…)", after the books still in your library.
Collections
| Tool | Description | Parameters |
|------|-------------|------------|
| list_all_collections | List all collections | limit?: int (default: 200), offset?: int |
| get_collection_books | Get all books in a collection | collection_id: int |
| describe_collection | Get details of a collection | collection_id: int |
| search_collections_by_title | Search for collections by title | title: str |
Editing collections (opt-in)
Off by default. Enable by adding --enable-writes to the server args:
With the Claude Desktop extension, turn on **Allow editing collections** in the extension's settings instead.
Apple provides no automation API for collections, so these write directly to the library database — behind guard rails: every write **refuses while Books is open**, takes an automatic WAL-safe backup first (~/.py_apple_books/backups/), validates the schema and aborts on drift, and only touches user-created collections (plus "Want to Read" membership). Deleting a collection never deletes the books in it.
> ⚠️ If iCloud sync for collections is enabled, direct edits may not propagate to other devices and can be reverted by a cloud re-sync.
| Tool | Description | Parameters |
|------|-------------|------------|
| create_collection | Create a new collection | title: str, details?: str |
| rename_collection | Rename a user-created collection | collection_id: int, new_title: str |
| delete_collection | Delete a user-created collection (books untouched) | collection_id: int |
| add_book_to_collection | Add a book to a collection (idempotent) | collection_id: int, book_id: int |
| remove_book_from_collection | Remove a book from a collection (idempotent) | collection_id: int, book_id: int |
Books
| Tool | Description | Parameters |
|------|-------------|------------|
| list_all_books | List all books | limit?: int (default: 200), offset?: int |
| search_books | Find books whose title or author contains the query, ignoring case, accents and quote/dash style | query: str, limit?: int (default: 200), offset?: int |
| search_books_by_title | Search for books by title (same matching, titles only) | title: str, limit?: int (default: 200), offset?: int |
| describe_book | Get details of a particular book (metadata, progress, annotation count, description), whether its text is readable (see below) and an "Open in Books" link | book_id: int |
Source
awesome · https://github.com/vgnshiyer/apple-books-mcp
Browse by field
MCP servers
added
yesterday

More in MCP servers

All 5,525 in MCP servers →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index