Ebook MCP

Ebook-MCP是一个基于模型上下文协议(MCP)的电子书处理服务器,支持EPUB和PDF格式,提供智能图书管理、交互式阅读体验和学习辅助功能,实现与电子书的自然语言交互。
2.5分
34
安装
复制以下命令到你的Client进行配置
注意:您的密钥属于敏感信息,请勿与任何人分享。

🚀 电子书内容处理平台(ebook - MCP)

这是一个专门用于处理和分析电子书文件的工具平台,支持EPUB和PDF两种常见格式。它能提取元数据、获取目录结构、读取章节内容,还可将内容转换为Markdown格式。此外,该平台提供了一个可通过命令运行的服务端框架,为用户带来便利。

🚀 快速开始

本平台可帮助你轻松处理和分析EPUB与PDF格式的电子书文件,提供丰富功能,如提取元数据、获取目录结构等。

✨ 主要特性

EPUB处理功能

  • 能够获取指定目录下的所有EPUB文件。
  • 可提取EPUB文件的元数据信息,像标题、作者、出版日期等。
  • 可以读取EPUB文件的目录结构。
  • 能获取特定章节的内容并将其转换为Markdown格式。

PDF处理功能

  • 可以获取指定目录下的所有PDF文件。
  • 能提取PDF文件的元数据信息。
  • 可读取PDF文件的目录结构。
  • 能获取特定页码的内容,支持纯文本和Markdown格式。
  • 可根据章节标题获取对应内容及其所在的页码范围。

📦 安装指南

关键依赖

  • ebooklib:用于处理EPUB文件的库
  • PyPDF2:基本的PDF处理库
  • PyMuPDF:高级的PDF处理库
  • beautifulsoup4:HTML解析工具
  • html2text:将HTML转换为Markdown格式的工具
  • pydantic:数据验证框架
  • fastmcp:MCP服务器端框架

💻 使用示例

基础用法

EPUB处理示例

# 获取指定目录下的所有EPUB文件
epub_files = get_all_epub_files("/path/to/books")

# 提取单个EPUB文件的元数据
metadata = get_metadata("/path/to/book.epub")

# 读取EPUB文件的目录结构
toc = get_toc("/path/to/book.epub")

# 获取特定章节的内容(Markdown格式)
chapter_content = get_chapter_markdown("/path/to/book.epub", "chapter_id")

PDF处理示例

# 获取指定目录下的所有PDF文件
pdf_files = get_all_pdf_files("/path/to/books")

# 提取单个PDF文件的元数据
metadata = get_pdf_metadata("/path/to/book.pdf")

# 读取PDF文件的目录结构
toc = get_pdf_toc("/path/to/book.pdf")

# 获取特定页码的内容(纯文本格式)
page_text = get_pdf_page_text("/path/to/book.pdf", 1)

# 获取特定页码的内容(Markdown格式)
page_markdown = get_pdf_page_markdown("/path/to/book.pdf", 1)

# 根据章节标题获取对应内容及其所在的页码范围
chapter_content, page_numbers = get_pdf_chapter_content("/path/to/book.pdf", "Chapter 1")

📚 详细文档

API参考

EPUB APIs

API名称 功能描述
get_all_epub_files(path: str) -> List[str] 获取指定目录下的所有EPUB文件路径。
get_metadata(epub_path: str) -> Dict[str, Union[str, List[str]]] 提取指定EPUB文件的元数据信息。
get_toc(epub_path: str) -> List[Tuple[str, str]] 获取指定EPUB文件的目录结构,返回章节标题及其对应的ID。
get_chapter_markdown(epub_path: str, chapter_id: str) -> str 根据章节ID获取对应章节的内容,并将其转换为Markdown格式。

PDF APIs

API名称 功能描述
get_all_pdf_files(path: str) -> List[str] 获取指定目录下的所有PDF文件路径。
get_pdf_metadata(pdf_path: str) -> Dict[str, Union[str, List[str]]] 提取指定PDF文件的元数据信息。
get_pdf_toc(pdf_path: str) -> List[Tuple[str, int]] 获取指定PDF文件的目录结构,返回章节标题及其对应的页码位置。
get_pdf_page_text(pdf_path: str, page_number: int) -> str 根据指定的页码获取对应的内容(纯文本格式)。
get_pdf_page_markdown(pdf_path: str, page_number: int) -> str 根据指定的页码获取对应的内容(Markdown格式)。
get_pdf_chapter_content(pdf_path: str, chapter_title: str) -> Tuple[str, List[int]] 根据章节标题获取对应内容及其所在的页码范围。
精选MCP服务推荐
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
6.8K
4.5分
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
976
4.3分
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
4.1K
5分
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
325
4.8分
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
904
4.8分
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
1.9K
5分
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
5.4K
4.7分
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
824
4.5分
AIbase
智启未来,您的人工智能解决方案智库
简体中文