Ebook-MCP 是一个强大的 Model Context Protocol(MCP)服务器,用于处理电子书。它构建在 Model Context Protocol 之上,提供一组标准化 API,实现 LLM 应用与电子书处理能力之间的无缝集成。目前支持 EPUB 和 PDF 格式。
用途与价值
Ebook-MCP 改变了用户与数字图书的交互方式,使读者能够用自然语言与阅读材料对话。它可以无缝集成到 Cursor、Claude 等现代 AI 驱动的 IDE 中,帮助用户实现:
- 智能书库管理:例如“显示我下载文件夹中的所有 EPUB 文件”或“在我的书库中查找关于 GenAI 的书”。
- 互动阅读体验:与书籍进行自然对话,例如“简要介绍《LLM Engineer Handbook》”“第 3 章讲了什么?”“总结这本书中关于 RAG 的要点”。
- 主动学习支持:通过 AI 驱动的交互增强学习,例如“根据第 5 章的 RAG 概念创建一个小测验”“解释本章讨论的架构之间的差异”“根据本节概念给我一些实践练习”。
- 内容导航:用自然语言查询轻松浏览书籍,例如“查找所有讨论提示工程的部分”“显示关于微调的章节”“带我到关于向量数据库的部分”。
通过弥合传统电子书与 AI 能力之间的差距,Ebook-MCP 帮助读者通过直观的、基于对话的交互,从数字书库中提取更多价值。
主要能力
快速演示——使用 DeepSeek 运行(Claude/OpenAI 的所有示例请查看 mcp-client-example 文件夹):
EPUB 处理:
- 提取元数据(标题、作者、出版日期等)
- 提取目录
- 提取章节内容(支持 Markdown 输出)
- 批量处理 EPUB 文件
PDF 处理:
- 提取元数据(标题、作者、创建日期等)
- 按页码提取内容
- 按章节标题提取内容
- 支持 Markdown 输出
- 批量处理 PDF 文件
使用方式
- 克隆仓库。
- 使用 uv 安装依赖。
- 以开发模式启动 MCP 服务器:可在开发模式下运行服务器,访问 http://localhost:5173/ 进行测试和调试,也可以安装 inspector 进行测试。
- 以生产模式启动 MCP 服务器:运行服务器。
- 在 Cursor 中添加相应配置。
EPUB 处理示例:
- 获取指定目录中的所有 EPUB 文件。
- 从 EPUB 文件获取元数据。
- 从 EPUB 文件获取目录。
- 以 Markdown 格式获取章节内容。
PDF 处理示例:
- 获取指定目录中的所有 PDF 文件。
- 从 PDF 文件获取元数据。
- 从 PDF 文件获取目录。
- 从特定页面获取纯文本内容。
- 从特定页面获取 Markdown 格式内容。
- 按章节标题获取章节内容及对应页码。
关键依赖
- ebooklib:EPUB 文件处理
- PyPDF2:基础 PDF 处理
- PyMuPDF:高级 PDF 处理
- beautifulsoup4:HTML 解析
- html2text:HTML 转 Markdown
- pydantic:数据验证
- fastmcp:MCP 服务器框架
重要说明与限制
- PDF 处理依赖文档的目录(TOC)。如果缺少 TOC,某些功能可能无法使用。
- 对于大型 PDF 文件,建议按页面范围处理,以避免一次性加载整个文件。
- EPUB 章节 ID 必须从目录结构中获取。
欢迎提交 Issue 和 Pull Request。详细变更信息请参见 CHANGELOG.md。