About mcp-pymupdf
mcp-pymupdf is an MCP server for extracting text and metadata from PDFs using PyMuPDF. It supports local files and URLs, with tools for full-document text, page ranges, and metadata.
Key features
- 01Extract text from local PDFs or URLs
- 02Read selected page ranges
- 03Retrieve PDF metadata
- 04Limit pages and bytes for full-text reads
Use cases
- 01Extract text from a locally stored PDF
- 02Read selected pages from a PDF URL
- 03Inspect PDF metadata without extracting its text
MCP support
The MCP server exposes tools to read PDF text, retrieve a page range, and get metadata. MCP clients can provide a local file path or URL as the source.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-pymupdf
An MCP server for reading PDFs using PyMuPDF. Supports local files and URLs.
Installation
pip install mcp-pymupdf
Tools
read_pdf
Extract text from a PDF file or URL.
{
"source": "/path/to/file.pdf",
"max_pages": 50,
"max_bytes": 200000
}
get_page
Extract text from a specific page range.
{
"source": "https://example.com/paper.pdf",
"start_page": 3,
"end_page": 8
}
get_metadata
Retrieve PDF metadata without reading full text.
{
"source": "/path/to/file.pdf"
}
Usage with Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"pdf": {
"command": "mcp-pymupdf"
}
}
}
Notes
- Scanned or image-based PDFs cannot be read without OCR
- Mathematical notation may render as plain text approximations
- URLs are downloaded to a temp file and deleted after reading
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.