使用说明
PDF阅读器MCP服务器
一种模型上下文协议(MCP)服务器,提供从PDF文件中读取和提取文本的工具,支持本地文件和URL。
作者
菲利普·范德沃克
电子邮件:philip.vandewalker@gmail.com
github:https://github.com/trafflux
特性
- 从本地PDF文件读取文本内容
- 从PDF URL读取文本内容
- 错误处理损坏或无效的PDF
- 用于访问本地PDF的卷装
- PDF编码的自动检测
- 标准化JSON输出格式
安装
- 克隆存储库:
git clone https://github.com/trafflux/pdf-reader-mcp.git
cd pdf-reader-mcp
- 构建Docker镜像:
docker build -t mcp/pdf-reader .
用法
运行服务器
要运行服务器并访问本地PDF文件,请执行以下操作:
docker run -i --rm -v /path/to/pdfs:/pdfs mcp/pdf-reader
替换 /path/to/pdfs 使用PDF文件目录的实际路径。
如果不使用本地PDF文件:
docker run -i --rm mcp/pdf-reader
MCP配置
添加到MCP设置配置中:
{
"mcpServers": {
"pdf-reader": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/path/to/pdfs:/pdfs",
"mcp/pdf-reader"
],
"disabled": false,
"autoApprove": []
}
}
}
没有本地文件PDF文件:
{
"mcpServers": {
"pdf-reader": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/pdf-reader"],
"disabled": false,
"autoApprove": []
}
}
}
可用工具
-
read_local_pdf- 目的:从本地PDF文件读取文本内容
- 输入:
{ "path": "/pdfs/document.pdf" } - 输出:
{ "success": true, "data": { "text": "Extracted content..." } }
-
read_pdf_url- 目的:从PDF URL读取文本内容
- 输入:
{ "url": "https://example.com/document.pdf" } - 输出:
{ "success": true, "data": { "text": "Extracted content..." } }
错误处理
服务器处理各种错误情况,并显示明确的错误消息:
- 无效或损坏的PDF文件
- 缺少文件
- URL请求失败
- 权限问题
- 网络连接问题
错误响应遵循以下格式:
{
"success": false,
"error": "Detailed error message"
}
依赖项
- Python 3.11+
- PyPDF2:PDF解析和文本提取
- 请求:用于从URL获取PDF的HTTP客户端
- MCP SDK:模型上下文协议实现
项目结构
.
├── Dockerfile # Container configuration
├── README.md # This documentation
├── requirements.txt # Python dependencies
└── src/
├── __init__.py # Package initialization
└── server.py # Main server implementation
许可证
版权所有2025菲利普·范德沃克
根据Apache许可证2.0版(“许可证”)许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下网址获得许可证副本
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发的内容按“原样”分发, 无任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和 许可证下的限制。
贡献
欢迎投稿!请随时提交拉取请求。
联系
如有疑问、问题或意见,请联系Philip Van de Walker:
- 电子邮件:philip.vandewalker@gmail.com
- github:https://github.com/trafflux