项目简介
MCP PDF阅读器是一个实现了 Model Context Protocol (MCP) 的服务器,它提供了一个名为 'read_pdf' 的工具,允许大型语言模型(LLM)客户端读取PDF文档的内容。这个工具旨在帮助LLM理解和处理PDF文件中的信息,从而扩展LLM的应用场景,例如文档问答、信息提取等。
主要功能点
- PDF文档读取: 提供 'read_pdf' 工具,允许LLM指定PDF文件名,服务器读取并返回PDF文件的文本内容。
- MCP协议支持: 基于 'fastmcp' 库构建,实现了MCP服务器的核心功能,可以与任何兼容MCP协议的LLM客户端进行通信。
- 灵活部署: 可以通过简单的配置集成到支持MCP协议的LLM应用中,如 Claude Desktop, LibreChat 等。
安装步骤
- 安装支持MCP的LLM客户端: 例如 Claude Desktop。请参考 Claude for Desktop 安装指南 完成安装。
- 安装Python: 确保安装了 Python 3.10 或更高版本,并将其添加到系统环境变量 PATH 中。
- 安装uv: 打开命令行终端(Windows 用户请以管理员身份运行),执行命令 'pip install --user uv' 安装 'uv'。
服务器配置
要将 MCP PDF阅读器集成到 MCP 客户端,您需要配置客户端的 MCP 服务器列表。以 'claude_desktop_config.json' 为例,添加以下配置信息:
{ "mcpServers": { "mcp-pdf-reader": { "command": "uvx", "args": [ "--from", "git+https://github.com/karateboss/mcp_pdf_reader@main", "mcp_pdf_reader" ] } } }
配置参数说明:
- '"mcp-pdf-reader"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
- '"command": "uvx"': 指定用于启动服务器的命令。 'uvx' 是一个用于从 git 仓库快速安装和运行 Python 应用的工具。
- '"args"': 启动参数列表。
- '"--from", "git+https://github.com/karateboss/mcp_pdf_reader@main"': 指定从 GitHub 仓库 'https://github.com/karateboss/mcp_pdf_reader' 的 'main' 分支获取代码。
- '"mcp_pdf_reader"': 指定要运行的 Python 模块入口点为 'mcp_pdf_reader' (对应 'mcp_pdf_reader.py' 文件)。
注意: 请确保您的 MCP 客户端能够读取并应用 'claude_desktop_config.json' 或类似的配置文件。具体的配置文件位置和格式请参考您使用的 MCP 客户端的文档。
基本使用方法
- 启动MCP客户端: 启动配置了 MCP PDF阅读器的 LLM 客户端,例如 Claude Desktop。客户端会自动连接并注册 MCP PDF阅读器提供的工具。
- 调用 'read_pdf' 工具: 在 LLM 客户端中,您可以指示 LLM 调用 'read_pdf' 工具来读取 PDF 文件。例如,您可以向 LLM 发送指令:'请使用 read_pdf 工具读取名为 "example.pdf" 的文件内容'。
- 准备PDF文件: 将您希望 LLM 读取的 PDF 文件放置在服务器指定的 PDF 目录下。默认情况下,该目录为服务器脚本所在目录下的 'pdfs' 文件夹。您可以通过设置环境变量 'PDF_DIRECTORY' 来修改 PDF 文件的存储路径。
- 查看结果: LLM 客户端会接收到 'read_pdf' 工具返回的 PDF 文件内容,并基于内容进行后续处理,例如回答问题或总结文档。
重要提示:
- 请确保 PDF 文件名与您在 LLM 指令中提供的文件名一致。
- 如果 PDF 文件过大,可能会消耗较多 tokens,并可能受到 LLM 客户端的token限制。
- 服务器默认会将 PDF 文件存储在 './pdfs' 目录下。您可以根据需要修改 'mcp_pdf_reader.py' 文件中的 'PDF_DIRECTORY' 变量或设置环境变量来更改存储路径。
信息
分类
数据库与文件