PDF MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PDF MCP ServerMerge the files report1.pdf, report2.pdf, and report3.pdf into a single document."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PDF MCP Server
Transform PDF manipulation with AI-powered natural language commands through Claude integration
Comprehensive PDF toolkit that integrates seamlessly with Claude AI via MCP (Model Context Protocol). Perform complex PDF operations using simple conversational commands - merge, split, encrypt, optimize, and analyze PDFs effortlessly.

🚀 Quick Start
Clone & Setup
git clone https://github.com/Sohaib-2/pdf-mcp-server.git
cd pdf-mcp-serverOption 1: With Virtual Environment (Recommended)
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
pip install -r requirements.txtOption 2: Without Virtual Environment
pip install fastmcp requests pathlibInstall PDF Tools
PDFtk:
# Ubuntu/Debian
sudo apt-get install pdftk
# macOS
brew install pdftk-java
# Windows: Download from https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/QPDF:
# Ubuntu/Debian
sudo apt-get install qpdf
# macOS
brew install qpdf
# Windows: Download from https://qpdf.sourceforge.io/🔧 Claude Desktop Integration
Locate Claude config file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add PDF MCP Server:
With Virtual Environment:
{
"mcpServers": {
"pdf-tools": {
"command": "C:\\path\\to\\pdf-mcp-server\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\pdf-mcp-server\\server.py"]
}
}
}Without Virtual Environment:
{
"mcpServers": {
"pdf-tools": {
"command": "python",
"args": ["C:\\path\\to\\pdf-mcp-server\\server.py"]
}
}
}macOS/Linux with venv:
{
"mcpServers": {
"pdf-tools": {
"command": "/path/to/pdf-mcp-server/.venv/bin/python",
"args": ["/path/to/pdf-mcp-server/server.py"]
}
}
}Restart Claude Desktop
Start using natural language:
"Merge these 3 PDFs into one document"
"Encrypt my report with password protection"
"Extract pages 1-10 from this manual"
📚 Complete Tool Reference
Core Operations
Tool | Description | Example |
| Combine multiple PDFs |
|
| Split into individual pages |
|
| Extract specific page ranges |
|
| Rotate pages by degrees |
|
Security & Encryption
Tool | Description | Example |
| AES-256 encryption |
|
| Basic password protection |
|
| Remove password protection |
|
Optimization & Repair
Tool | Description | Example |
| Compress for web/email |
|
| Fix corrupted PDFs |
|
| Validate PDF structure |
|
Information & Analysis
Tool | Description | Example |
| Detailed metadata (JSON) |
|
| Modify title/author/etc |
|
| Internal structure analysis |
|
| Extract embedded files |
|
File Management
Tool | Description | Example |
| Download from URL |
|
| Open with system viewer |
|
| File size/path details |
|
| Set working directory |
|
| List PDFs in folder |
|
System Management
Tool | Description | Purpose |
| Check tool availability | Verify PDFtk/QPDF installation |
| Show search paths | Debug file resolution issues |
| Complete documentation | In-app help reference |
💬 Natural Language Examples
Document Management:
"Combine all my research papers into one bibliography"
"Split this 100-page manual into chapters"
"Extract the executive summary from pages 2-4"
Security Operations:
"Encrypt this contract with military-grade protection"
"Remove password from this locked document"
"Add owner permissions to prevent editing"
File Optimization:
"Optimize all PDFs in my downloads folder"
"Fix this corrupted presentation file"
Advanced Analysis:
"Show me detailed metadata about this academic paper"
"Analyze the internal structure for security audit"
🗂️ File Path Handling
Flexible path resolution:
Absolute:
C:\Documents\file.pdfRelative:
../pdfs/document.pdfFilename only:
report.pdf(searches default directories)
Default search order:
PDF_WORKSPACEenvironment variable~/Documents/PDFs~/Downloads~/DesktopCurrent working directory
⚙️ Configuration
Custom workspace:
configure_pdf_workspace('/path/to/your/pdfs')Check installation:
get_server_status() # Verify PDFtk and QPDF availability🛠️ Troubleshooting
Common issues:
Problem | Solution |
| Install PDFtk and add to PATH |
| Install QPDF via package manager |
| Use |
| Run with appropriate file permissions |
| Use |
Debug commands:
get_server_status() # Check tool installation
list_default_directories() # Verify search paths
get_pdf_info('file.pdf') # Validate PDF structure🏗️ Architecture
pdf-mcp-server/
├── server.py # FastMCP server with 16 tools
├── pdftk_tools.py # PDFtk CLI wrapper
├── qpdf_tools.py # QPDF CLI wrapper
├── utils.py # File utilities & path resolution
└── requirements.txt # Python dependenciesBuilt with:
🤝 Contributing
Fork the repository
Create feature branch:
git checkout -b feature/amazing-featureCommit changes:
git commit -m 'Add amazing feature'Push to branch:
git push origin feature/amazing-featureOpen Pull Request
📄 License
This project is licensed under the MIT License
👨💻 Author
Sohaib-2 - GitHub
🌟 Acknowledgments
⭐ Star this repo if it helped you! | 🐛 Report issues | 💡 Request features
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sohaib-2/pdf-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server