PDF Reader
MCP server for extracting text, images, tables, links, annotations, and metadata from PDF files.
Connector by Xvvln · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/xvvln-pdf-reader-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 12 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 12
Read from the source code; the running server may list different tools.
Read 12 · Look things up without changing anything.
compare_pdf_pagesextract_pdf_imagesextract_pdf_linksextract_pdf_tablesget_pdf_annotationsget_pdf_infoget_pdf_outlineget_pdf_page_infoget_pdf_text_statsread_pdf_as_imagesread_pdf_as_textsearch_pdf_text
Files it touches
- Any path the agent passes to its tools
Tools (12)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
compare_pdf_pages比较PDF中两个页面的文本差异。 Args: file_path: PDF文件的完整路径 page1: 第一个页码(从1开始) page2: 第二个页码(从1开始) Returns: 包含以下信息的字典: - page1_chars: 第一页字符数 - page2_chars: 第二页字符数 - common_lines: 相同的行数 - page1_unique_lines: 仅在第一页出现的行数 - page2_unique_lines: 仅在第二页出现的行数 - similarity: 相似度(0-1)
extract_pdf_images提取PDF中嵌入的图片。 Args: file_path: PDF文件的完整路径 pages: 要提取的页码范围(可选,默认全部页面) min_width: 最小图片宽度,过滤小图片,默认100像素 min_height: 最小图片高度,过滤小图片,默认100像素 Returns: 包含以下信息的字典: - total_images: 图片总数 - images: 图片列表,每个包含: - page: 页码 - image_index: 该页中的图片索引 - width: 宽度 - height: 高度 - format: 图片格式 - image_base64: base64编码的图片数据
extract_pdf_links提取PDF中的所有链接(URL和内部跳转)。 Args: file_path: PDF文件的完整路径 pages: 要提取的页码范围(可选,默认全部页面) Returns: 包含以下信息的字典: - total_links: 链接总数 - external_links: 外部URL链接列表 - internal_links: 内部跳转链接列表
extract_pdf_tables提取PDF中的表格数据。 注意:表格提取依赖PDF的结构,对于复杂或扫描版PDF可能效果不佳。 Args: file_path: PDF文件的完整路径 pages: 要提取的页码范围(可选,默认全部页面) Returns: 包含以下信息的字典: - total_tables: 表格总数 - tables: 表格列表,每个包含: - page: 页码 - table_index: 该页中的表格索引 - rows: 行数 - cols: 列数 - data: 表格数据(二维数组)
get_pdf_annotations获取PDF中的注释(批注、高亮、下划线等)。 Args: file_path: PDF文件的完整路径 pages: 要提取的页码范围(可选,默认全部页面) Returns: 包含以下信息的字典: - total_annotations: 注释总数 - annotations: 注释列表,每个包含: - page: 页码 - type: 注释类型 - content: 注释内容 - author: 作者
get_pdf_info获取PDF文件的基本信息。 Args: file_path: PDF文件的完整路径 Returns: 包含以下信息的字典: - page_count: 页数 - title: 标题 - author: 作者 - subject: 主题 - creator: 创建程序 - producer: 生成程序 - creation_date: 创建日期 - modification_date: 修改日期 - file_size: 文件大小(字节) - file_size_mb: 文件大小(MB) - is_encrypted: 是否加密
get_pdf_outline获取PDF的书签/目录结构(大纲)。 Args: file_path: PDF文件的完整路径 Returns: 包含以下信息的字典: - has_outline: 是否有目录 - outline_count: 目录条目数量 - outline: 目录列表,每个元素包含: - level: 层级(1开始) - title: 标题 - page: 页码
get_pdf_page_info获取PDF指定页面的详细信息。 Args: file_path: PDF文件的完整路径 page: 页码(从1开始) Returns: 包含以下信息的字典: - page_number: 页码 - width: 页面宽度(点) - height: 页面高度(点) - rotation: 旋转角度 - has_text: 是否包含文本 - text_length: 文本长度 - image_count: 图片数量 - link_count: 链接数量
get_pdf_text_stats获取PDF文本的统计信息(字数、字符数、段落数等)。 Args: file_path: PDF文件的完整路径 pages: 要统计的页码范围(可选,默认全部页面) Returns: 包含以下信息的字典: - total_pages: 总页数 - analyzed_pages: 分析的页数 - total_characters: 总字符数 - total_characters_no_space: 不含空格的字符数 - total_words: 总词数(按空格分割) - total_lines: 总行数 - total_paragraphs: 总段落数 - avg_chars_per_page: 平均每页字符数 - avg_words_per_page: 平均每页词数 - is_likely_scanned: 是否可能是扫描版PDF
read_pdf_as_images将PDF页面转换为图片(base64编码)返回。适合需要保留原始排版、图表、公式的场景。 Args: file_path: PDF文件的完整路径 pages: 要读取的页码,支持多种格式: - 不传或"all": 所有页面 - "1": 单页 - "1-5": 页码范围 - "1-": 从第1页到末尾 - "-5": 从开头到第5页 - "1,3,5": 指定多页 - "1-3,5,7-9": 混合格式 dpi: 图片分辨率,默认150。72=低质量小文件,150=平衡,300=高清大文件 image_format: 图片格式,"jpeg"(默认,文件小)或"png"(无损,文件大) quality: JPEG压缩质量(1-100),默认85。仅对jpeg格式有效,值越低文件越小但质量越差 max_total_bytes_mb: 单次调用允许返回的最大图片负载(MB),默认20 Returns: 图片列表,每个元素包含: - page_number: 页码(从1开始) - image_base64: 图片的base64编码 - width: 图片宽…
read_pdf_as_text提取PDF的文本内容。适合纯文本PDF,速度快,消耗token少。 注意:对于扫描版PDF(图片PDF),此方法可能无法提取文本,建议使用read_pdf_as_images。 Args: file_path: PDF文件的完整路径 pages: 要读取的页码,支持多种格式: - 不传或"all": 所有页面 - "1": 单页 - "1-5": 页码范围 - "1-": 从第1页到末尾 - "-5": 从开头到第5页 - "1,3,5": 指定多页 - "1-3,5,7-9": 混合格式 max_pages: 单次调用最多返回的页数,默认50 max_chars: 单次调用最多返回的总字符数,默认200000 Returns: 包含以下信息的字典: - total_pages: 总页数 - extracted_pages: 提取的页码列表 - pages: 每页内容列表,包含page_number和text - full_text: 所有页面的合并文本 - warning: 警告信息(如检测到可能是扫描版PDF或结果被截断)
search_pdf_text在PDF中搜索文本,返回匹配位置和上下文。 Args: file_path: PDF文件的完整路径 query: 搜索关键词 pages: 搜索的页码范围(可选,默认全部页面) max_results: 最大返回结果数,默认50 Returns: 包含以下信息的字典: - query: 搜索关键词 - total_matches: 匹配总数 - pages_with_matches: 有匹配的页码列表 - results: 匹配结果列表,每个包含: - page: 页码 - context: 匹配的上下文文本
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 30
- Last commit
- Jun 11, 2026 (4 months ago)
- Last release
- Jun 11, 2026 (4 months ago)
- Last package publish
- Jun 11, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.Xvvln/pdf-reader-mcp- Version
- 0.2.1
- Auth
- No auth
- Packages
- pypi pdf-insight-mcp
- License
- MIT
- Repository
- github.com/Xvvln/pdf-reader-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
PDF Reader MCP server. Agent Mart. https://agentmart.dev/connectors/xvvln-pdf-reader-mcp (last updated 2026-10-24)