by vgnshiyer
Provides an MCP server that lets Claude and other AI agents interact with Apple Books data, exposing functions to list collections, retrieve books, fetch annotations, search highlights, and more.
Apple Books offers a Model Context Protocol (MCP) server that enables AI models to query and manipulate a user's Apple Books library. It surfaces operations such as listing collections, retrieving book details, accessing annotations, searching highlights, and fetching recent activity, all through a standardized tool interface.
Installation
uv
(recommended):
brew install uv # macOS only
uvx apple-books-mcp
pip
:
pip install apple-books-mcp
Running the server
python -m apple_books_mcp
Configuration for Claude Desktop
{
"mcpServers": {
"apple-books-mcp": {
"command": "uvx",
"args": ["apple-books-mcp@latest"]
}
}
}
Or using Python:
{
"mcpServers": {
"apple-books-mcp": {
"command": "python",
"args": ["-m", "apple_books_mcp"]
}
}
}
Q: Do I need an Apple ID? A: The server works with the local Apple Books database on macOS; an Apple ID is required only to sync books to the device.
Q: Can I modify annotations through the server? A: Editing annotations is on the upcoming‑features roadmap; currently the server is read‑only.
Q: Is Docker support available? A: Docker support is planned for a future release.
Q: Which Python versions are supported? A: The package follows standard Python 3.8+ compatibility.
Q: How do I debug the server?
A: Use the provided Claude Desktop debug configuration or run npx @modelcontextprotocol/inspector uvx apple-books-mcp
for inspector output.
Model Context Protocol (MCP) server for Apple Books.
https://github.com/user-attachments/assets/77a5a29b-bfd7-4275-a4af-8d6c51a4527e
And much more!
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 |
uvx can be used to directly run apple-books-mcp (without installing it).
brew install uv # for macos
uvx apple-books-mcp
pip install apple-books-mcp
After installing, you can run the server using:
python -m apple_books_mcp
{
"mcpServers": {
"apple-books-mcp": {
"command": "uvx",
"args": [ "apple-books-mcp@latest" ]
}
}
}
{
"mcpServers": {
"apple-books-mcp": {
"command": "python",
"args": ["-m", "apple_books_mcp"]
}
}
}
Thank you for considering contributing to this project!
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
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
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.
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.
Apple Books MCP is licensed under the Apache 2.0 license. See the LICENSE file for details.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.