
Apple Books
Hooks directly into Apple Books' SQLite container to expose your library, highlights, and reading state. You get 30+ tools spanning collections, annotations, genre searches, and reading status filters, plus context extraction that shows the paragraph around any highlight. The standout is the "currently reading" resource: Claude sees your active book, the exact chapter you left off on (including its text for non-DRM EPUBs), and recent highlights in one attachment. Prompts like weekly digest and library snapshot turn annotations into summaries. Needs macOS permission to read `~/Library/Containers/com.apple.iBooksX/` on first run. Reach for this when you want Claude to reflect on your reading or pull exact quotes with surrounding context.
- GitHub stars
- 64
- tools
- 31
- transport
- STDIO
- env vars
- 4
- last updated
- Oct 1, 2026
Tools
31 toolsPublic tool metadata for what this MCP can expose to an agent.
list_all_collectionsList all collections
List all collections
No parameter schema in public metadata yet.
get_collection_booksGet all books in a collection
Get all books in a collection
No parameter schema in public metadata yet.
describe_collectionGet details of a collection
Get details of a collection
No parameter schema in public metadata yet.
search_collections_by_titleSearch for collections by title
Search for collections by title
No parameter schema in public metadata yet.
create_collectionCreate a new collection
Create a new collection
No parameter schema in public metadata yet.
rename_collectionRename a user-created collection
Rename a user-created collection
No parameter schema in public metadata yet.
delete_collectionDelete a user-created collection (books untouched)
Delete a user-created collection (books untouched)
No parameter schema in public metadata yet.
add_book_to_collectionAdd a book to a collection (idempotent)
Add a book to a collection (idempotent)
No parameter schema in public metadata yet.
remove_book_from_collectionRemove a book from a collection (idempotent)
Remove a book from a collection (idempotent)
No parameter schema in public metadata yet.
list_all_booksList all books
List all books
No parameter schema in public metadata yet.
search_booksFind books whose title or author contains the query, ignoring case, accents and quote/dash style
Find books whose title or author contains the query, ignoring case, accents and quote/dash style
No parameter schema in public metadata yet.
search_books_by_titleSearch for books by title (same matching, titles only)
Search for books by title (same matching, titles only)
No parameter schema in public metadata yet.
describe_bookGet details of a particular book (metadata, progress, annotation count, description), whether its text is readable (see below) and an "Open in Books" link
Get details of a particular book (metadata, progress, annotation count, description), whether its text is readable (see below) and an "Open in Books" link
No parameter schema in public metadata yet.
list_annotationsAnnotations for a book in reading order (id + text + chapter per row, with your notes)
Annotations for a book in reading order (id + text + chapter per row, with your notes)
No parameter schema in public metadata yet.
get_books_by_genreGet books by genre (substring match)
Get books by genre (substring match)
No parameter schema in public metadata yet.
get_books_in_progressGet books currently being read
Get books currently being read
No parameter schema in public metadata yet.
get_finished_booksGet books that have been finished
Get books that have been finished
No parameter schema in public metadata yet.
get_unstarted_booksGet books not yet started
Get books not yet started
No parameter schema in public metadata yet.
get_recently_read_booksGet the most recently read books
Get the most recently read books
No parameter schema in public metadata yet.
list_all_annotationsBrowse every annotation grouped by book, newest first, with your notes
Browse every annotation grouped by book, newest first, with your notes
No parameter schema in public metadata yet.
recent_annotationsGet most recent annotations (flat, with date + book per row)
Get most recent annotations (flat, with date + book per row)
No parameter schema in public metadata yet.
describe_annotationGet full details of a single annotation, with the book's "Open in Books" link
Get full details of a single annotation, with the book's "Open in Books" link
No parameter schema in public metadata yet.
get_annotation_contextText window around a highlight (the paragraph it's in), with the highlight marked `«...»`
Text window around a highlight (the paragraph it's in), with the highlight marked `«...»`
No parameter schema in public metadata yet.
get_highlights_by_colorHighlights of a particular color, grouped by book
Highlights of a particular color, grouped by book
No parameter schema in public metadata yet.
search_notesSearch user notes (shows highlight + note inline)
Search user notes (shows highlight + note inline)
No parameter schema in public metadata yet.
search_annotationsSearch across highlights + notes + surrounding text (shows notes inline)
Search across highlights + notes + surrounding text (shows notes inline)
No parameter schema in public metadata yet.
get_annotations_by_date_rangeAnnotations within a date range, inclusive of the `before` day, local time (flat, with date + book per row)
Annotations within a date range, inclusive of the `before` day, local time (flat, with date + book per row)
No parameter schema in public metadata yet.
get_library_statsGet library summary with reading stats
Get library summary with reading stats
No parameter schema in public metadata yet.
list_book_chaptersTable of contents for a book (chapter titles, order, nesting)
Table of contents for a book (chapter titles, order, nesting)
No parameter schema in public metadata yet.
get_chapter_contentPlain-text content of a chapter, with optional `offset` + `max_chars` slicing. `chapter_id="current"` (the default) reads the chapter you're on in Apple Books
Plain-text content of a chapter, with optional `offset` + `max_chars` slicing. `chapter_id="current"` (the default) reads the chapter you're on in Apple Books
No parameter schema in public metadata yet.
get_current_reading_positionThe chapter the user last left off reading (via Apple Books' auto-bookmark CFI), with an "Open in Books" link
The chapter the user last left off reading (via Apple Books' auto-bookmark CFI), with an "Open in Books" link
No parameter schema in public metadata yet.
Sponsors
Configuration
APPLE_BOOKS_MCP_ENABLE_WRITESdefault: falseAllow the collection write tools (create, rename and delete collections; add and remove books). Writes refuse to run while Books is open and take a backup first.
APPLE_BOOKS_DATA_DIRFolder holding the Apple Books stores (BKLibrary and AEAnnotation), if not ~/Library/Containers/com.apple.iBooksX/Data/Documents.
APPLE_BOOKS_MCP_THREADSdefault: 8How many tool calls may run at once (default 8; 0 runs them one at a time on the event loop).
APPLE_BOOKS_QUERY_TIMEOUTdefault: 30Seconds a library query may run before it is stopped (default 30; 0 for no limit).
Readme
Apple Books MCP
Model Context Protocol (MCP) server for Apple Books.
At a glance
Details
- Repository
- github.com/vgnshiyer/apple-books-mcp
- Website
- vgnshiyer.me/AppleBooksMcp
- Package
apple-books-mcp- Transport
- STDIO
- Registry
- MCP registry, active