Ebook Mcp

Ebook Mcp

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

这是一个用于处理和分析电子书文件的工具平台,支持EPUB和PDF格式。平台可提取元数据、获取目录结构、读取章节内容,还能将内容转换为Markdown格式,并且提供了一个可通过命令运行的服务端框架。

🚀 快速开始

本平台是一个强大的电子书内容处理工具,支持EPUB和PDF两种常见的电子书格式。它能帮助你轻松提取电子书的元数据、目录结构和章节内容,并将其转换为方便编辑和分享的Markdown格式。

✨ 主要特性

EPUB处理功能

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

PDF处理功能

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

📦 安装指南

关键依赖

  • 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]] 根据章节标题获取对应内容及其所在的页码范围。
  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-19 03:39

相似服务问题

相关AI产品