Skip to main content
Glama
by vgnshiyer

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!

Related MCP server: mcp-open-library

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vgnshiyer/apple-books-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server