A Model Context Protocol (MCP) server that enables Claude to analyze PDF documents using its vision capabilities.
- 📄 Direct PDF analysis using Claude's vision capabilities
- 📑 Multi-session support for handling multiple PDFs
- 🔍 Page-by-page navigation and analysis
- 📊 Extract and analyze single pages or page ranges
- 🖼️ Works with complex layouts, tables, charts, and scanned PDFs
npm install -g mcp-pdf-vision
claude mcp add pdf-vision --scope user -- npx mcp-pdf-vision
git clone https://github.com/MIMICLab/mcp-pdf-vision.git
cd mcp-pdf-vision
npm install
npm run build
claude mcp add pdf-vision --scope user -- node $(pwd)/dist/index.js
curl -sSL https://raw.githubusercontent.com/MIMICLab/mcp-pdf-vision/main/install.sh | bash
claude mcp list
# Should show: pdf-vision ✓ Connected
# Load a PDF
"Load /path/to/document.pdf using pdf-vision"
# View current page
"Show me the current page"
# Navigate pages
"Go to next page"
"Go to page 5"
# Analyze content
"Analyze the table on this page"
"Summarize pages 1-5"
-
load_pdf - Load a PDF file for analysis
pdfPath
: Path to the PDF filesessionId
: Optional session identifier
-
get_current_page - Get the current page as an image
sessionId
: Session ID of the loaded PDFdpi
: Resolution for image extraction (default: 150)
-
go_to_page - Navigate to a specific page
sessionId
: Session IDpageNumber
: Target page number (1-indexed)
-
next_page / previous_page - Navigate between pages
sessionId
: Session ID
-
get_pages_range - Get multiple pages at once
sessionId
: Session IDstartPage
: Starting page numberendPage
: Ending page numberdpi
: Resolution (default: 150)
-
get_all_pages - Get all pages from the PDF
sessionId
: Session IDdpi
: Resolution (default: 150)
-
get_pdf_info - Get information about the loaded PDF
sessionId
: Session ID
-
list_sessions - List all active PDF sessions
The server is automatically configured when installed via npm or the install script.
Manual configuration in ~/.claude.json
:
{
"mcpServers": {
"pdf-vision": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mcp-pdf-vision/dist/index.js"]
}
}
}
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS):
{
"mcpServers": {
"pdf-vision": {
"command": "npx",
"args": ["mcp-pdf-vision"]
}
}
}
# Clone the repository
git clone https://github.com/MIMICLab/mcp-pdf-vision.git
cd mcp-pdf-vision
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build TypeScript
npm run build
# Test locally
claude mcp add pdf-vision-dev --scope project -- node $(pwd)/dist/index.js
- Restart Claude Code completely
- Check server status:
claude mcp list
- Reinstall:
npm uninstall -g mcp-pdf-vision && npm install -g mcp-pdf-vision
- Ensure the PDF path is absolute, not relative
- Check file permissions
- Verify the PDF is not corrupted
Contributions are welcome! Please feel free to submit a Pull Request.
MIT
Taehoon Kim - MIMICLab