Apple Books MCP Server

Off by default. Enable by adding `--enable-writes` to the server args:

Local serverstdioPython

What is the Apple Books MCP Server?

Off by default. Enable by adding --enable-writes to the server args:

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
list_all_collectionsList all collections
get_collection_booksGet all books in a collection
describe_collectionGet details of a collection
search_collections_by_titleSearch for collections by title
create_collectionCreate a new collection
rename_collectionRename a user-created collection
delete_collectionDelete a user-created collection (books untouched)
add_book_to_collectionAdd a book to a collection (idempotent)
remove_book_from_collectionRemove a book from a collection (idempotent)
list_all_booksList all books
search_booksFind books whose title or author contains the query, ignoring case, accents and quote/dash style
search_books_by_titleSearch for books by title (same matching, titles only)
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
list_annotationsAnnotations for a book in reading order (id + text + chapter per row, with your notes)
get_books_by_genreGet books by genre (substring match)
get_books_in_progressGet books currently being read
get_finished_booksGet books that have been finished
get_unstarted_booksGet books not yet started
get_recently_read_booksGet the most recently read books
list_all_annotationsBrowse every annotation grouped by book, newest first, with your notes
recent_annotationsGet most recent annotations (flat, with date + book per row)
describe_annotationGet full details of a single annotation, with the book's "Open in Books" link
get_annotation_contextText window around a highlight (the paragraph it's in), with the highlight marked «...»
get_highlights_by_colorHighlights of a particular color, grouped by book
search_notesSearch user notes (shows highlight + note inline)
search_annotationsSearch across highlights + notes + surrounding text (shows notes inline)
get_annotations_by_date_rangeAnnotations within a date range, inclusive of the before day, local time (flat, with date + book per row)
get_library_statsGet library summary with reading stats
list_book_chaptersTable of contents for a book (chapter titles, order, nesting)
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
get_current_reading_positionThe chapter the user last left off reading (via Apple Books' auto-bookmark CFI), with an "Open in Books" link

How to install the Apple Books MCP Server

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

From the project documentation. Replace placeholders and example paths before connecting.

Example prompts to try

  • “Use Apple Books MCP to Collections.”
  • “Use Apple Books MCP to Books.”
  • “Use Apple Books MCP to Annotations.”

Frequently asked questions

Off by default. Enable by adding `--enable-writes` to the server args: Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.