PDF MCP Server
Extract text and data from PDF files using pdfplumber by providing local file paths.
PDF MCP Server
A simple Model Context Protocol (MCP) server that provides PDF reading capabilities using pdfplumber.
Features
- extract_text: Extract all text content from PDF files
- get_pdf_info: Get basic PDF information (page count, metadata, dimensions)
- extract_tables: Extract tables from PDF files
Installation
Option 1: Without installation (using uvx)
You can run the server directly without installing it:
uvx --from git+https://github.com/gstiebler/pdf-mcp-server.git pdf-mcp-server
Option 2: Local installation
Clone the repository and install dependencies:
git clone https://github.com/gstiebler/pdf-mcp-server.git
cd pdf-mcp-server
uv sync
Usage
If installed locally:
python main.py
The server runs using stdio transport and can be integrated with any MCP client.
Available Tools
extract_text
Extracts all text content from a PDF file.
Parameters:
file_path(string): Path to the PDF file
Returns:
- Complete text content from all pages
get_pdf_info
Gets basic information about a PDF file.
Parameters:
file_path(string): Path to the PDF file
Returns:
- Dictionary containing:
page_count: Number of pagesmetadata: PDF metadata (if available)page_dimensions: Width and height of the first page
extract_tables
Extracts tables from a PDF file.
Parameters:
file_path(string): Path to the PDF filepage_number(integer, optional): Specific page number to extract from (1-indexed)
Returns:
- List of tables with:
page: Page number where the table was founddata: Table data as a list of rows (each row is a list of cell values)
Integration with Claude Desktop
To use this server with Claude Desktop, add it to your Claude Desktop configuration:
Option 1: Direct from GitHub (recommended)
{
"mcpServers": {
"pdf-reader": {
"command": "uvx",
"args": ["--from", "git+https://github.com/gstiebler/pdf-mcp-server.git", "pdf-mcp-server"]
}
}
}
Option 2: From local installation
{
"mcpServers": {
"pdf-reader": {
"command": "python",
"args": ["/path/to/pdf-mcp-server/main.py"]
}
}
}
Requirements
- Python 3.10+
- pdfplumber
- mcp
Related Servers
OpenPyXL MCP Server
An MCP server that wraps the OpenPyXL library, enabling clients to retrieve data from Excel files.
File Merger
A simple utility to combine multiple files into a single file.
JSON MCP Server
A high-performance MCP server for comprehensive JSON file operations, including reading, writing, and advanced querying, optimized for LLM interactions.
CData FTP Server
A read-only MCP server for querying live FTP data using the CData JDBC Driver.
YaraFlux
An MCP server for YARA scanning, enabling LLMs to analyze files using YARA rules.
AI FileSystem MCP
An AI-powered MCP server for advanced file system operations, including search, comparison, and security analysis.
MCP Source Tree Server
Generates a JSON representation of a directory's source file tree, respecting .gitignore patterns.
Obsidian MCP Server - Enhanced
Provides comprehensive access to an Obsidian vault, allowing AI agents to read, write, search, and manage notes via the Local REST API plugin.
MCP Apple Notes
Perform semantic search and retrieval augmented generation over your Apple Notes.
DLIS MCP Server
Analyze and extract information from DLIS (Digital Log Interchange Standard) files, including channel data and metadata.