Agentic RAG over one PDF or a whole folder: hybrid search, selective page reads, tables, OCR.
Connect Runs on your machine
claude mcp add pdf-mcp -e PDF_MCP_CACHE_DIR=<PDF_MCP_CACHE_DIR> -e PDF_MCP_CACHE_TTL=<PDF_MCP_CACHE_TTL> -e PDF_MCP_CACHE_MAX_MB=<PDF_MCP_CACHE_MAX_MB> -- uvx pdf-mcp==3.7.0
{
"mcpServers": {
"pdf-mcp": {
"command": "uvx",
"args": [
"pdf-mcp==3.7.0"
],
"env": {
"PDF_MCP_CACHE_DIR": "<PDF_MCP_CACHE_DIR>",
"PDF_MCP_CACHE_TTL": "<PDF_MCP_CACHE_TTL>",
"PDF_MCP_CACHE_MAX_MB": "<PDF_MCP_CACHE_MAX_MB>"
}
}
}
}
{
"mcpServers": {
"pdf-mcp": {
"command": "uvx",
"args": [
"pdf-mcp==3.7.0"
],
"env": {
"PDF_MCP_CACHE_DIR": "<PDF_MCP_CACHE_DIR>",
"PDF_MCP_CACHE_TTL": "<PDF_MCP_CACHE_TTL>",
"PDF_MCP_CACHE_MAX_MB": "<PDF_MCP_CACHE_MAX_MB>"
}
}
}
}
{
"servers": {
"pdf-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"pdf-mcp==3.7.0"
],
"env": {
"PDF_MCP_CACHE_DIR": "<PDF_MCP_CACHE_DIR>",
"PDF_MCP_CACHE_TTL": "<PDF_MCP_CACHE_TTL>",
"PDF_MCP_CACHE_MAX_MB": "<PDF_MCP_CACHE_MAX_MB>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
PDF_MCP_CACHE_DIROptional | Directory for storing PDF cache (default: ~/.cache/pdf-mcp) |
PDF_MCP_CACHE_TTLOptional | Optional time expiry in hours; unset keeps a document while its PDF exists |
PDF_MCP_CACHE_MAX_MBOptional | Cache size cap in MB, least recently used evicted first (default: 2048; 0 = no cap) |
Details
| Package | [email protected] (PYPI, stdio) |
| Package | https://github.com/jztan/pdf-mcp/releases/download/v3.7.0/pdf-mcp-3.7.0.mcpb (MCPB, stdio) |
| First published | 7 Nov 2026 |
| Last updated | 7 Nov 2026 |
| Registry name | io.github.jztan/pdf-mcp |
More files and documents servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
