MCP server for extracting text, images, tables, links, annotations, and metadata from PDF files.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
ไธไธช็จไบ่ฏปๅๅๅๆ 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.
pdf-reader-mcpio.github.Xvvln/pdf-reader-mcppdf-insight-mcppdf-reader-mcp and pdf-insight-mcppdf-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.
| Tool | What it does |
|---|---|
get_pdf_info | Read document metadata, page count, file size, and encryption status. |
read_pdf_as_text | Extract text from selected pages with page and character limits. |
read_pdf_as_images | Render selected pages as base64-encoded images. |
get_pdf_outline | Read bookmarks and outline entries. |
search_pdf_text | Search text and return per-match page context. |
extract_pdf_tables | Extract structured tables when PyMuPDF can detect them. |
extract_pdf_images | Extract embedded PDF images. |
get_pdf_page_info | Inspect one page's size, text, images, links, and rotation. |
extract_pdf_links | Extract external URLs and internal page jumps. |
get_pdf_annotations | Read comments, highlights, and annotation metadata. |
get_pdf_text_stats | Compute text, line, paragraph, and scan-likelihood stats. |
compare_pdf_pages | Compare text similarity between two pages. |
Install uv if you do not already have it:
Run the server directly from PyPI:
Or install it first:
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.
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.
read_pdf_as_text defaults to at most 50 pages and 200000 returned characters.read_pdf_as_images rejects requests above 20 pages.read_pdf_as_images defaults to an overall image payload cap of about 20 MB.extract_pdf_images returns at most 20 embedded images but reports the actual detected total.Install dependencies:
Run tests:
Build the package:
Run the local server:
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.
MIT
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/pdf-reader)<a href="https://allmcps.com/mcp/pdf-reader"><img src="https://allmcps.com/api/badge/pdf-reader?style=directory" alt="PDF Reader on AllMCPs" /></a>