apple-books-mcp
Apple Books MCP
Сервер протокола контекста модели (MCP) для Apple Books.
Краткий обзор
Продолжайте с того места, где остановились — Claude видит главу, на которой вы остановились, и её текст, а также недавние выделения в книге.
Разверните любое выделение — получите объяснение окружающего абзаца в контексте, с точным якорем, который вы отметили, показанным в
«...».Вернитесь к книге — извлеките свои выделения, сгруппируйте их по темам и процитируйте их себе.
Размышляйте о своем чтении — закономерности в книгах, повторяющиеся идеи в ваших выделениях, то, к чему вас на самом деле тянет.
https://github.com/user-attachments/assets/77a5a29b-bfd7-4275-a4af-8d6c51a4527e
И многое другое!
Related MCP server: Co-Reading MCP
Доступные инструменты
Коллекции
Инструмент | Описание | Параметры |
list_all_collections | Список всех коллекций | limit?: int |
get_collection_books | Получить все книги в коллекции | collection_id: str |
describe_collection | Получить детали коллекции | collection_id: str |
search_collections_by_title | Поиск коллекций по названию | title: str |
Книги
Инструмент | Описание | Параметры |
list_all_books | Список всех книг | limit?: int |
describe_book | Получить детали конкретной книги (метаданные, прогресс, количество аннотаций, описание) | book_id: str |
list_annotations | Получить все аннотации для книги (id + текст + глава в строке, упорядочено по главам) | book_id: int, limit?: int |
search_books_by_title | Поиск книг по названию | title: str |
get_books_by_genre | Получить книги по жанру (поиск по подстроке) | genre: str, limit?: int |
Статус чтения
Инструмент | Описание | Параметры |
get_books_in_progress | Получить книги, которые сейчас читаются | limit?: int |
get_finished_books | Получить прочитанные книги | limit?: int |
get_unstarted_books | Получить книги, которые еще не начинали читать | limit?: int |
get_recently_read_books | Получить недавно открытые книги | limit?: int (по умолчанию: 10) |
Аннотации
Инструмент | Описание | Параметры |
list_all_annotations | Просмотр всех аннотаций, сгруппированных по книгам, сначала новые | limit?: int |
recent_annotations | Получить самые последние аннотации (плоский список, с датой + книга в строке) | limit?: int (по умолчанию: 10) |
describe_annotation | Получить полные детали одной аннотации | annotation_id: str |
get_annotation_context | Текстовое окно вокруг выделения (абзац, в котором оно находится), с выделением, отмеченным | annotation_id: int, chars_before?: int (по умолчанию: 500), chars_after?: int (по умолчанию: 500) |
get_highlights_by_color | Выделения определенного цвета, сгруппированные по книгам | color: str, limit?: int |
search_notes | Поиск заметок пользователя (показывает выделение + заметку в строке) | note: str, limit?: int |
search_annotations | Поиск по выделениям + заметкам + окружающему тексту | text: str, limit?: int |
get_annotations_by_date_range | Аннотации в диапазоне дат (плоский список, с датой + книга в строке) | after?: YYYY-MM-DD, before?: YYYY-MM-DD, limit?: int |
Статистика библиотеки
Инструмент | Описание | Параметры |
get_library_stats | Получить сводку библиотеки со статистикой чтения | None |
Содержимое книг
Работает только для EPUB без DRM (импортированные книги, Project Gutenberg, Standard Ebooks и т.д.). Покупки в Apple Books Store защищены FairPlay и возвращают понятную ошибку. Книги только из iCloud возвращают подсказку "не загружено".
Инструмент | Описание | Параметры |
list_book_chapters | Оглавление книги (названия глав, порядок, вложенность) | book_id: int |
get_chapter_content | Текстовое содержимое главы с опциональным срезом | book_id: int, chapter_id: str, offset?: int, max_chars?: int |
get_current_reading_position | Глава, на которой пользователь остановился (через автозакладку CFI Apple Books) | book_id: int |
Доступные ресурсы
Прикрепляемые объекты данных, доступные из выбора ресурсов Claude Desktop.
Ресурс | URI | Описание |
Сейчас читаю |
| Книга, которую вы читаете прямо сейчас — последняя открытая книга в процессе чтения, с метаданными, главой, на которой вы остановились, плюс предварительный просмотр её текста (для EPUB без DRM) и недавними аннотациями. Прикрепите к любому разговору, чтобы сфокусировать Claude на текущем чтении. |
Доступные подсказки (Prompts)
Рабочие процессы в один клик, доступные из выбора подсказок Claude Desktop.
Подсказка | Описание | Аргументы |
weekly_digest | Резюме того, что я прочитал и выделил за последнюю неделю | days?: int (по умолчанию: 7) |
library_snapshot | Размышление о всей моей читательской жизни | None |
revisit_book | Пересмотрите свои заметки и выделения из конкретной книги | book_title: str |
Установка
Использование uv (рекомендуется)
uvx можно использовать для прямого запуска apple-books-mcp (без установки).
brew install uv # for macos
uvx apple-books-mcpИспользование pip
pip install apple-books-mcpПосле установки вы можете запустить сервер с помощью:
python -m apple_books_mcpИспользование Docker
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Запрос разрешения при первом запуске (macOS)
При первом использовании macOS спросит, может ли uvx (или python / docker, в зависимости от того, как вы запустили) "получать доступ к данным из других приложений". Нажмите Разрешить — MCP читает частный контейнер Apple Books по адресу ~/Library/Containers/com.apple.iBooksX/, который macOS рассматривает как изолированные данные другого приложения. Доступ осуществляется только для чтения и ограничен этим контейнером; сервер в любом случае запускается успешно, но без разрешения все инструменты будут возвращать пустые результаты.

Конфигурация
Настройка Claude Desktop
Использование uvx (рекомендуется)
{
"mcpServers": {
"apple-books-mcp": {
"command": "uvx",
"args": [ "apple-books-mcp@latest" ]
}
}
}Использование python
{
"mcpServers": {
"apple-books-mcp": {
"command": "python",
"args": ["-m", "apple_books_mcp"]
}
}
}Использование Docker
{
"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"
]
}
}
}Предстоящие функции
[ ] Доступ к содержимому PDF (сейчас только EPUB)
[ ] Более полный контекст аннотаций через разрешение CFI → абзац
Вклад
Спасибо, что рассматриваете возможность внесения вклада в этот проект!
Разработка
Если вы клонировали этот репозиторий, вы можете протестировать его с помощью Claude Desktop со следующей конфигурацией:
Используйте uv venv для создания виртуального окружения и установки зависимостей.
uv venv
uv syncОтладка
С Claude Desktop
{
"mcpServers": {
"apple-books-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/apple-books-mcp/",
"run",
"apple_books_mcp",
"-v"
]
}
}
}С инспектором
npx @modelcontextprotocol/inspector uvx apple-books-mcpОткрытие проблем (Issues)
Если вы столкнулись с ошибкой, у вас есть запрос на функцию или вы хотите обсудить что-то, связанное с проектом, пожалуйста, откройте issue в репозитории GitHub. При открытии issue, пожалуйста, предоставьте:
Отчеты об ошибках: Опишите проблему подробно. Включите шаги для воспроизведения ошибки, если это возможно, вместе с любыми сообщениями об ошибках или скриншотами.
Запросы функций: Четко объясните новую функцию, которую вы хотели бы видеть добавленной в проект. Предоставьте контекст, почему эта функция была бы полезной.
Общие обсуждения: Не стесняйтесь начинать обсуждения на более широкие темы, связанные с проектом.
Внесение вклада
1️⃣ Сделайте форк репозитория GitHub https://github.com/vgnshiyer/apple-books-mcp
2️⃣ Создайте новую ветку для ваших изменений (git checkout -b feature/my-new-feature).
3️⃣ Внесите изменения и тщательно протестируйте их.
4️⃣ Отправьте изменения и откройте Pull Request в main.
Пожалуйста, предоставьте четкое название и описание ваших изменений.
Лицензия
Apple Books MCP лицензирован под лицензией Apache 2.0. Подробности см. в файле LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to read and write local Apple Books library, collections, and annotations. Supports searching, exporting, and modifying books and highlights via MCP tools.MIT
- AlicenseBqualityBmaintenanceA local MCP server that gives Claude a durable reading room for EPUB and plain text books, enabling chunk-by-chunk navigation, annotations, progress tracking, and shared margin cards.26103MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for processing raw book notes into structured, searchable knowledge using embeddings and semantic search.

Books Mandala MCPofficial
FlicenseNot gradedqualityCmaintenanceMCP server enabling AI assistants to search, browse, and discover books from Books Mandala's live catalog of 50,000+ titles.2
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
An MCP memory server. One memory your agents share — across models, devices and apps.
Apple Developer Documentation with Semantic Search, RAG, and AI reranking for MCP clients
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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