article
README
🚀 PDF 阅读器 MCP 服务器
本项目是一个基于 Model Context Protocol (MCP) 的服务器,可从 PDF 文件中阅读和提取文本内容,支持本地文件和 URL 两种方式,为用户提供便捷的 PDF 文本读取服务。
🚀 快速开始
安装步骤
- 克隆仓库:
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": []
}
}
}
✨ 主要特性
- 支持从本地 PDF 文件中读取文本内容。
- 支持从 PDF URLs 中读取文本内容。
- 具备处理损坏或无效 PDF 的错误处理机制。
- 可通过卷挂载访问本地 PDF 文件。
- 能自动检测 PDF 编码。
- 采用标准化的 JSON 输出格式。
💻 使用示例
基础用法
read_local_pdf
- 目的:从本地 PDF 文件中读取文本内容
- 输入:
{
"path": "/pdfs/document.pdf"
}
- 输出:
{
"success": true,
"data": {
"text": "提取的内容..."
}
}
read_pdf_url
- 目的:从指定的 PDF URL 中读取文本内容
- 输入:
{
"url": "http://example.com/example.pdf"
}
- 输出:
{
"success": true,
"data": {
"text": "提取的内容..."
}
}
📚 详细文档
错误处理
服务器在遇到错误时会返回以下 JSON 格式的响应:
{
"success": false,
"error": {
"code": " ErrorCode ",
"message": " 错误信息 "
}
}
其中,ErrorCode 是一个唯一的错误代码,Error Message 描述了具体的错误原因。
依赖项
- Python 版本:3.8 或更高
- 必要库:
- Flask (用于 Web 服务)
- requests (用于处理 URL 请求)
项目结构
.
├── README.md # 项目文档
├── requirements.txt # 依赖项列表
├── app.py # 主应用程序文件
└── config.py # 配置文件
📄 许可证
本项目受 Apache License 2.0 许可证的约束。详细内容请参考 LICENSE 文件。
👨💻 作者
Philip Van de Walker
邮箱:philip.vandewalker@gmail.com
GitHub:https://github.com/trafflux
📞 联系方式
如需联系,请发送邮件至 philip.vandewalker@gmail.com 或访问 GitHub 仓库:https://github.com/trafflux/pdf-reader-mcp
扫码加入微信群