使用说明
项目简介
Ebook-MCP 是一款基于 Model Context Protocol (MCP) 构建的服务器,旨在弥合传统电子书与现代 AI 功能之间的差距。它允许 LLM 应用通过标准化的 MCP 协议,便捷地访问和处理电子书内容,实现智能化的阅读和学习体验。
主要功能点
- 智能图书馆管理:支持 LLM 应用查询和管理本地电子书库,例如查找特定格式或主题的电子书。
- 互动式阅读体验:允许用户通过自然语言与电子书进行对话,例如提问书籍简介、章节内容、关键点总结等。
- 主动学习支持:辅助用户进行主动学习,例如基于书籍内容生成测验题、解释概念、提供练习题等。
- 内容导航:方便用户通过自然语言查询在电子书中导航,例如查找特定主题的章节或段落。
- EPUB 格式支持:
- 提取元数据(标题、作者、出版日期等)
- 提取目录
- 提取章节内容(Markdown 格式)
- 批量处理 EPUB 文件
- PDF 格式支持:
- 提取元数据(标题、作者、创建日期等)
- 提取目录
- 按页码提取内容
- 按章节标题提取内容
- Markdown 输出支持
- 批量处理 PDF 文件
安装步骤
- 克隆仓库:
git clone https://github.com/onebirdrocks/ebook-mcp.git cd ebook-mcp - 安装依赖:
uv pip install -r requirements.txt- 确保已安装 'uv' 包管理器,如果没有请先安装 'pip install uv'。
服务器配置
为了使 MCP 客户端(如 Cursor 或 Claude)能够连接到 Ebook-MCP 服务器,您需要在客户端中配置服务器信息。以下是通用的 JSON 格式配置示例,请根据您的实际环境进行调整:
{ "ebook-mcp": { // 服务器名称,客户端用于识别和调用 "command": "uv", // 启动服务器的命令,这里使用 uv 运行 Python 脚本 "args": [ // 启动命令的参数列表 "run", // uv 的 run 子命令,用于运行 Python 脚本 "main.py" // 服务器主程序入口文件 ], // "directory": "/path/to/ebook-mcp" // (可选) 如果客户端工作目录与服务器脚本不在同一目录,需要指定服务器代码所在的目录 // 注意:如果您的客户端工作目录默认就在 ebook-mcp 仓库根目录,则不需要 "directory" 参数。 // 如果客户端工作目录不是仓库根目录,则需要指定 "directory" 参数,指向 ebook-mcp 仓库的绝对路径。 // 请将 "/path/to/ebook-mcp" 替换为您的 ebook-mcp 仓库在您本地文件系统中的实际绝对路径。 } }
配置说明:
- '"ebook-mcp"': 服务器的名称,您可以自定义,客户端会使用此名称来引用该服务器。
- '"command": "uv"': 指定用于启动服务器进程的命令。这里假设您使用 'uv' 包管理器来运行 Python 脚本。如果您的环境中使用 'python' 或其他方式运行,请相应修改此命令。
- '"args": [...]': 一个字符串数组,包含传递给 'command' 的参数。
- '"run"': 'uv run' 命令用于执行 Python 脚本。
- '"main.py"': 指定服务器的主程序入口文件为 'main.py'。
- '"directory": "/path/to/ebook-mcp"' (可选): 指定服务器代码所在的目录的绝对路径。仅当客户端的工作目录与服务器代码目录不同时才需要配置。请务必替换为您的实际路径。
Cursor 配置示例 (参考 README):
如果您的 MCP 客户端是 Cursor,可以直接将以上 JSON 配置添加到 Cursor 的配置文件中。Cursor 示例中使用了绝对路径,您需要根据您的实际情况修改 '/Users/onebird/github/ebook-mcp' 为您本地仓库的路径。
"ebook-mcp":{ "command": "uv", "args": [ "--directory", "/Users/onebird/github/ebook-mcp", // 请替换为您的 ebook-mcp 仓库路径 "run", "main.py" ] }
基本使用方法
- 启动服务器: 根据上述 "服务器配置" 中的配置,在 MCP 客户端中启动 'ebook-mcp' 服务器。
- 客户端交互: 在 MCP 客户端中,您可以使用自然语言指令,结合 'ebook-mcp' 服务器提供的工具 (Tools) 来操作电子书。例如:
- 查询电子书库: "列出我的下载文件夹中所有的 EPUB 文件"
- 获取书籍信息: "《LLM Engineer Handbook》这本书是关于什么的?"
- 查询章节内容: "这本书第三章讲了什么内容?"
- 总结关键内容: "总结这本书关于 RAG 的要点"
- 内容查找: "找到所有关于 prompt engineering 的章节"
客户端会将您的自然语言指令转换为对 'ebook-mcp' 服务器工具的调用,服务器会处理请求并返回结果,最终呈现给您。 具体可用的工具和使用方式取决于客户端的实现,请参考您的 MCP 客户端的文档。
信息
分类
数据库与文件