Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Apple Books Mcp

    Apple Books MCP Server

    33 stars
    Python
    Updated Oct 8, 2025
    ai
    apple
    apple-books
    llm
    mcp
    mcp-server
    productivity

    Table of Contents

    • At a glance
    • Available Tools
    • Collections
    • Books
    • Reading Status
    • Annotations
    • Library Stats
    • Book Content
    • Available Resources
    • Available Prompts
    • Installation
    • Using uv (recommended)
    • Using pip
    • Using Docker
    • First-run permission prompt (macOS)
    • Configuration
    • Claude Desktop Setup
    • Using uvx (recommended)
    • Using python
    • Using Docker
    • Upcoming Features
    • Contribution
    • Development
    • Debugging
    • Opening Issues
    • Contributing
    • License

    Table of Contents

    • At a glance
    • Available Tools
    • Collections
    • Books
    • Reading Status
    • Annotations
    • Library Stats
    • Book Content
    • Available Resources
    • Available Prompts
    • Installation
    • Using uv (recommended)
    • Using pip
    • Using Docker
    • First-run permission prompt (macOS)
    • Configuration
    • Claude Desktop Setup
    • Using uvx (recommended)
    • Using python
    • Using Docker
    • Upcoming Features
    • Contribution
    • Development
    • Debugging
    • Opening Issues
    • Contributing
    • License

    Documentation

    Apple Books MCP

    Model Context Protocol (MCP) server for Apple Books.

    Website

    MCP Server

    PyPI

    License: Apache 2.0

    Buy Me A Coffee

    At a glance

    • Pick up where you left off — Claude sees the chapter you're on *and* its text, plus recent highlights in the book.
    • 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

    Collections

    ToolDescriptionParameters
    list_all_collectionsList all collectionslimit?: int
    get_collection_booksGet all books in a collectioncollection_id: str
    describe_collectionGet details of a collectioncollection_id: str
    search_collections_by_titleSearch for collections by titletitle: str

    Books

    ToolDescriptionParameters
    list_all_booksList all bookslimit?: int
    describe_bookGet details of a particular book (metadata, progress, annotation count, description)book_id: str
    list_annotationsGet all annotations for a book (id + text + chapter per row, chapter-ordered)book_id: int, limit?: int
    search_books_by_titleSearch for books by titletitle: str
    get_books_by_genreGet books by genre (substring match)genre: str, limit?: int

    Reading Status

    ToolDescriptionParameters
    get_books_in_progressGet books currently being readlimit?: int
    get_finished_booksGet books that have been finishedlimit?: int
    get_unstarted_booksGet books not yet startedlimit?: int
    get_recently_read_booksGet most recently opened bookslimit?: int (default: 10)

    Annotations

    ToolDescriptionParameters
    list_all_annotationsBrowse every annotation grouped by book, newest firstlimit?: int
    recent_annotationsGet most recent annotations (flat, with date + book per row)limit?: int (default: 10)
    describe_annotationGet full details of a single annotationannotation_id: str
    get_annotation_contextText window around a highlight (the paragraph it's in), with the highlight marked «...»annotation_id: int, chars_before?: int (default: 500), chars_after?: int (default: 500)
    get_highlights_by_colorHighlights of a particular color, grouped by bookcolor: str, limit?: int
    search_notesSearch user notes (shows highlight + note inline)note: str, limit?: int
    search_annotationsSearch across highlights + notes + surrounding texttext: str, limit?: int
    get_annotations_by_date_rangeAnnotations within a date range (flat, with date + book per row)after?: YYYY-MM-DD, before?: YYYY-MM-DD, limit?: int

    Library Stats

    ToolDescriptionParameters
    get_library_statsGet library summary with reading statsNone

    Book Content

    Only works for non-DRM EPUBs (imported books, Project Gutenberg, Standard Ebooks, etc.). Apple Books Store purchases are FairPlay-protected and return a clear error. iCloud-only books return a "not downloaded" hint.

    ToolDescriptionParameters
    list_book_chaptersTable of contents for a book (chapter titles, order, nesting)book_id: int
    get_chapter_contentPlain-text content of a chapter, with optional offset + max_chars slicingbook_id: int, chapter_id: str, offset?: int, max_chars?: int
    get_current_reading_positionThe chapter the user last left off reading (via Apple Books' auto-bookmark CFI)book_id: int

    Available Resources

    Attachable data objects accessible from Claude Desktop's resource picker.

    ResourceURIDescription
    Currently Readingapple-books://currently-readingThe book you're reading right now — most recently opened in-progress book, with metadata, the chapter you left off on plus a preview of its text (for non-DRM EPUBs), and recent annotations. Attach to any conversation to focus Claude on your current read.

    Available Prompts

    One-click workflows, accessible from Claude Desktop's prompt picker.

    PromptDescriptionArguments
    weekly_digestSummarize what I've read and highlighted in the past weekdays?: int (default: 7)
    library_snapshotA reflection on my whole reading lifeNone
    revisit_bookRevisit your notes and highlights from a specific bookbook_title: str

    Installation

    Using uv (recommended)

    uvx can be used to directly run apple-books-mcp (without installing it).

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

    Using pip

    bash
    pip install apple-books-mcp

    After installing, you can run the server using:

    bash
    python -m apple_books_mcp

    Using Docker

    bash
    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

    First-run permission prompt (macOS)

    On first use, macOS will ask whether uvx (or python / docker, depending on how you launched) may "access data from other apps." Click Allow — the MCP reads Apple Books' private container at ~/Library/Containers/com.apple.iBooksX/, which macOS treats as another app's sandboxed data. Access is read-only and scoped to that container; the server starts successfully either way, but without permission every tool comes back empty.

    macOS permission prompt: uvx would like to access data from other apps. Don't Allow / Allow.

    Configuration

    Claude Desktop Setup

    Using uvx (recommended)

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

    Using python

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

    Using Docker

    json
    {
        "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"
                ]
            }
        }
    }

    Upcoming Features

    • [ ] PDF content access (currently EPUB-only)
    • [ ] fuller annotation context via CFI → paragraph resolution

    Contribution

    Thank you for considering contributing to this project!

    Development

    If you cloned this repository, you can test it using Claude Desktop with below configuration:

    Use uv venv to create a virtual environment and install the dependencies.

    bash
    uv venv
    uv sync

    Debugging

    With Claude Desktop

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

    With inspector

    bash
    npx @modelcontextprotocol/inspector uvx apple-books-mcp

    Opening Issues

    If you encounter a bug, have a feature request, or want to discuss something related to the project, please open an issue on the GitHub repository. When opening an issue, please provide:

    Bug Reports: Describe the issue in detail. Include steps to reproduce the bug if possible, along with any error messages or screenshots.

    Feature Requests: Clearly explain the new feature you'd like to see added to the project. Provide context on why this feature would be beneficial.

    General Discussions: Feel free to start discussions on broader topics related to the project.

    Contributing

    1️⃣ Fork the GitHub repository https://github.com/vgnshiyer/apple-books-mcp \

    2️⃣ Create a new branch for your changes (git checkout -b feature/my-new-feature). \

    3️⃣ Make your changes and test them thoroughly. \

    4️⃣ Push your changes and open a Pull Request to main.

    *Please provide a clear title and description of your changes.*

    License

    Apple Books MCP is licensed under the Apache 2.0 license. See the LICENSE file for details.

    Similar MCP

    Based on tags & features

    • BI

      Biomcp

      Python·
      327
    • KI

      Kill Process Mcp

      Python·
      9
    • FH

      Fhir Mcp Server

      Python·
      55
    • MC

      Mcp Aoai Web Browsing

      Python·
      30

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • BI

      Biomcp

      Python·
      327
    • KI

      Kill Process Mcp

      Python·
      9
    • FH

      Fhir Mcp Server

      Python·
      55
    • MC

      Mcp Aoai Web Browsing

      Python·
      30

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k