apple-books-mcp
Apple Books MCP
Apple Books 的模型上下文协议 (MCP) 服务器。
一览
从上次中断的地方继续 — Claude 可以看到您当前阅读的章节及其文本,以及书中最近的高亮内容。
扩展任何高亮内容 — 获取上下文中的段落解释,并以
«...»标记出您所选的确切锚点。重温书籍 — 提取您的高亮内容,按主题进行聚类,并向您复述您的观点。
反思您的阅读 — 跨书籍的模式、高亮中反复出现的想法,以及您真正被吸引的内容。
https://github.com/user-attachments/assets/77a5a29b-bfd7-4275-a4af-8d6c51a4527e
还有更多功能!
Related MCP server: Co-Reading MCP
可用工具
收藏 (Collections)
工具 | 描述 | 参数 |
list_all_collections | 列出所有收藏 | limit?: int |
get_collection_books | 获取收藏中的所有书籍 | collection_id: str |
describe_collection | 获取收藏详情 | collection_id: str |
search_collections_by_title | 按标题搜索收藏 | title: str |
书籍 (Books)
工具 | 描述 | 参数 |
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 |
阅读状态 (Reading Status)
工具 | 描述 | 参数 |
get_books_in_progress | 获取当前正在阅读的书籍 | limit?: int |
get_finished_books | 获取已读完的书籍 | limit?: int |
get_unstarted_books | 获取尚未开始阅读的书籍 | limit?: int |
get_recently_read_books | 获取最近打开的书籍 | limit?: int (默认: 10) |
标注 (Annotations)
工具 | 描述 | 参数 |
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 |
图书馆统计 (Library Stats)
工具 | 描述 | 参数 |
get_library_stats | 获取包含阅读统计的图书馆摘要 | 无 |
书籍内容 (Book Content)
仅适用于非 DRM 的 EPUB 文件(导入的书籍、古腾堡计划、Standard Ebooks 等)。Apple Books 商店购买的书籍受 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 | 用户上次阅读的章节(通过 Apple Books 的自动书签 CFI) | book_id: int |
可用资源
可从 Claude Desktop 的资源选择器中访问的可附加数据对象。
资源 | URI | 描述 |
Currently Reading |
| 您当前正在阅读的书籍 — 最近打开的进行中书籍,包含元数据、您上次阅读的章节及文本预览(针对非 DRM EPUB),以及最近的标注。将其附加到任何对话中,让 Claude 专注于您当前的阅读。 |
可用提示词 (Prompts)
一键式工作流,可从 Claude Desktop 的提示词选择器中访问。
提示词 | 描述 | 参数 |
weekly_digest | 总结我过去一周阅读和高亮的内容 | days?: int (默认: 7) |
library_snapshot | 对我整个阅读生活的反思 | 无 |
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,取决于您的启动方式)是否可以“访问其他应用的数据”。请点击 允许 (Allow) — MCP 会读取位于 ~/Library/Containers/com.apple.iBooksX/ 的 Apple Books 私有容器,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"
]
}
}
}使用 inspector
npx @modelcontextprotocol/inspector uvx apple-books-mcp提交 Issue
如果您遇到 Bug、有功能请求或想讨论与项目相关的内容,请在 GitHub 仓库中提交 Issue。提交 Issue 时,请提供:
Bug 报告:详细描述问题。如果可能,请包含重现 Bug 的步骤,以及任何错误消息或截图。
功能请求:清晰地解释您希望添加到项目中的新功能。提供关于该功能为何有益的背景信息。
一般讨论:欢迎就与项目相关的更广泛主题发起讨论。
贡献流程
1️⃣ Fork GitHub 仓库 https://github.com/vgnshiyer/apple-books-mcp
2️⃣ 为您的更改创建一个新分支 (git checkout -b feature/my-new-feature)。
3️⃣ 进行更改并彻底测试。
4️⃣ 推送您的更改并向 main 分支提交 Pull Request。
请为您的更改提供清晰的标题和描述。
许可证
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