Loading languages...
AP

apple-books-mcp

@vgnshiyer35

Apple Books MCP Server

Apple Books
books
library
annotations
highlights

Apple Books MCP

Model Context Protocol (MCP) server for Apple Books.

PyPI License: Apache 2.0 Buy Me A Coffee

At a glance

  • Ask Claude to summarize your recent highlights
  • Ask Claude to organize books in your library by genre
  • Ask Claude to recommend similar books based on your reading history
  • Ask Claude to compare notes from different books read on the same subject

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

And much more!

Available Tools

Tool Description Parameters
list_collections() List all collections None
get_collection_books(collection_id) Get all books in a collection collection_id: str
describe_collection(collection_id) Get details of a collection collection_id: str
list_all_books() List all books None
get_book_annotations(book_id) Get all annotations for a book book_id: str
describe_book(book_id) Get details of a particular book book_id: str
list_all_annotations() List all annotations None
get_highlights_by_color(color) Get all highlights by color color: str
search_highlighted_text(text) Search for highlights by highlighted text text: str
search_notes(note) Search for notes note: str
full_text_search(text) Search for annotations containing the given text text: str
recent_annotations() Get 10 most recent annotations None
describe_annotation(annotation_id) Get details of an annotation annotation_id: str

Installation

Using uv (recommended)

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

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

Using pip

pip install apple-books-mcp

After installing, you can run the server using:

python -m apple_books_mcp

Configuration

Claude Desktop Setup

Using uvx (recommended)

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

Using python

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

Upcoming Features

  • [ ] add docker support
  • [ ] add resources support
  • [ ] edit collections support
  • [ ] edit highlights support

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.

uv venv
uv sync

Debugging

With Claude Desktop

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

With inspector

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.

# mcpServer Config

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

# stdio

uvx apple-books-mcp@latest
Transport:
stdio
Language:
Python
Created: 4/6/2025
Updated: 2/2/2026