
PDF Reader
io.github.Xvvln由 GitHub 账号 Xvvln 发布v0.2.1更新于 Oct 24, 2026
MCP server for extracting text, images, tables, links, annotations, and metadata from PDF files.
概览
本地 MCP 服务器,让助手读取 PDF 文件:文本、页面图像、表格、图片、链接、批注、目录和元数据。
- 可以做什么
- 读取文档元数据、页数、文件大小、加密状态以及单页详情
- 按页码范围提取文本、带页面上下文搜索文本,并统计文本信息
- 将页面渲染为 base64 图像,并提取内嵌图片
- 提取表格、外部链接和内部页面跳转
- 读取书签目录、评论与高亮,并比较两页文本相似度
- 适用场景
- 适合让助手就本地 PDF 报告、论文或合同回答问题、在文档内检索,或提取表格、链接和批注,而无需把文件上传到外部服务。
- 运行要求
- 作为本地进程在用户机器上运行(仅桌面端)。需要 Python 3.10+ 和 PyPI 包 pdf-insight-mcp,通常用 uvx 或 pip install 启动。各工具需传入 PDF 文件的绝对路径。未声明账号、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 PDF Reader,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
pdf-reader-mcp
一个用于读取和分析 PDF 文件的 MCP 服务器。它可以为支持 MCP(Model Context Protocol)的客户端提供 PDF 文本、页面图片、表格、链接、批注、目录、元数据和基础文本统计。
A PDF-focused MCP server for extracting text, rendered pages, tables, links, annotations, outlines, metadata, and text statistics from PDF files.
Package name
- GitHub repository:
pdf-reader-mcp - MCP Registry name:
io.github.Xvvln/pdf-reader-mcp - PyPI package:
pdf-insight-mcp - CLI commands:
pdf-reader-mcpandpdf-insight-mcp
pdf-reader-mcp is the project name. The PyPI package is published as pdf-insight-mcp because the pdf-reader-mcp package name is not available on PyPI.
Features
Quick start
Install uv if you do not already have it:
Run the server directly from PyPI:
Or install it first:
MCP client configuration
Use the published PyPI package:
Use a local checkout for development:
Replace /absolute/path/to/pdf-reader-mcp with the absolute path to this repository on your machine.
Common usage
Ask your MCP client to call tools with an absolute PDF path. Example requests:
For large PDFs, prefer small page ranges first. For scanned or layout-sensitive PDFs, use read_pdf_as_images with a small pages range and moderate dpi.
Limits and behavior
read_pdf_as_textdefaults to at most 50 pages and 200000 returned characters.read_pdf_as_imagesrejects requests above 20 pages.read_pdf_as_imagesdefaults to an overall image payload cap of about 20 MB.extract_pdf_imagesreturns at most 20 embedded images but reports the actual detected total.- Encrypted PDFs are rejected unless they are already accessible without a password.
- Scanned PDFs may have little or no extractable text. Use image rendering or OCR outside this server when needed.
Development
Install dependencies:
Run tests:
Build the package:
Run the local server:
Release
Releases are published through GitHub Actions.
Before the first release, configure PyPI Trusted Publishing with:
Then release by bumping versions in pyproject.toml and server.json, committing the change, and pushing a version tag:
The Publish workflow runs tests, builds the Python package, publishes to PyPI, authenticates to the MCP Registry with GitHub OIDC, and publishes server.json.
Tech stack
- Python 3.10+
- MCP Python SDK
- PyMuPDF
- uv
- pytest
License
MIT
来源:README.md,提交 88d4232
工具
0版本历史
1- v0.2.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分