The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the PDF4me listing page.
PDF4me MCP Server provides PDF4me API functionality through the Model Context Protocol (MCP), enabling AI assistants to easily perform a wide range of PDF, document, image, and barcode processing tasks.
You need UV (a fast Python packaging tool) to run this MCP server.
macOS / Linux
Windows (PowerShell)
Alternative methods
For more options, see the UV installation guide.
Open Cursor Settings → MCP, or edit ~/.cursor/mcp.json (macOS/Linux) / %USERPROFILE%\.cursor\mcp.json (Windows):
Open the Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonOpen ~/.config/Code/User/mcp.json (macOS/Linux) or %APPDATA%\Code\User\mcp.json (Windows):
Edit ~/.codeium/windsurf/mcp_config.json:
Add to your ~/.continue/config.json:
On Windows, uvx may need to be called with its full path if it is not on your PATH. Replace "command": "uvx" with the full path, e.g.:
| Tool | Description |
|---|---|
add_barcode_to_pdf | Draw a barcode or QR code onto PDF pages with configurable alignment and size |
create_barcode | Generate a barcode or QR code as a PNG image (supports Code128, QR, and more) |
read_barcodes | Read and decode barcode/QR data from a local PDF with barcode type and page filtering |
read_barcodes_from_image | Detect and decode barcodes and QR codes from a local image file |
create_swiss_qr_bill | Add a Swiss QR Bill payment section to a PDF (IBAN, creditor details, currency, reference) |
read_swiss_qr_bill | Parse and extract Swiss QR Bill payment data from a local PDF |
split_pdf_by_barcode | Split a PDF into multiple files at pages that contain a specific barcode value or type |
split_pdf_by_swiss_qr | Split a PDF by Swiss QR code positions into separate PDF files or a ZIP archive |
| Tool | Description |
|---|---|
convert_to_pdf | Convert documents (DOCX, PPTX, XLSX, images, text formats) to PDF |
convert_html_to_pdf | Convert a local HTML file to PDF with layout, margins, and print options |
convert_url_to_pdf | Convert a web page URL to PDF with auth, layout, and margin settings |
convert_md_to_pdf | Convert a local Markdown file to PDF |
convert_visio_to_pdf | Convert a Visio file (.vsdx/.vsd/.vsdm) to PDF |
convert_word_to_pdf_form | Convert a Word document (DOCX) into a fillable PDF form |
convert_pdf_to_word | Convert a PDF to DOCX with quality settings, language, and optional OCR |
convert_pdf_to_excel | Convert a PDF to XLSX with quality, merge sheets, language, and optional OCR |
convert_pdf_to_powerpoint | Convert a PDF to PPTX with quality, language, and optional OCR |
convert_pdf_to_pdfa | Convert a PDF to PDF/A (PdfA1a through PdfA3u) with upgrade/downgrade control |
convert_ocr_pdf | Make a scanned PDF searchable by running OCR and embedding a text layer |
convert_json_to_excel | Convert a local JSON file to an Excel workbook (XLSX) with worksheet name and title options |
convert_image_format | Convert images between BMP, GIF, JPG, PNG, and TIFF formats |
flatten_pdf | Flatten a PDF (merge form fields and annotations into the page content) |
linearize_pdf | Linearize (web-optimize) a PDF for fast browser loading with configurable optimization presets |
| Tool | Description |
|---|---|
add_attachment_to_pdf | Embed one or more files as attachments inside a PDF |
add_html_header_footer_to_pdf | Add an HTML-formatted header, footer, or both to PDF pages |
add_margin_to_pdf | Add page margins (in millimeters) to all pages of a PDF |
add_page_number_to_pdf | Insert page numbers with configurable alignment, format, and font styling |
add_image_stamp_to_pdf | Place an image stamp or watermark on PDF pages with alignment, opacity, and size controls |
add_text_stamp_to_pdf | Place a text stamp or watermark on PDF pages with font, opacity, rotation, and alignment options |
sign_pdf | Apply a signature image to a PDF with layout and margin options |
find_and_replace_text | Find and replace text across PDF pages |
replace_text_with_image | Replace text occurrences in a PDF with an image at configurable dimensions |
update_hyperlink_annotation | Update or replace hyperlink annotations in a PDF by search criteria |
repair_pdf | Repair a corrupted or malformed PDF file |
| Tool | Description |
|---|---|
extract_pages_from_pdf | Extract specific pages from a PDF into a new PDF file |
extract_form_data_from_pdf | Extract all form field names and their current values from a PDF |
extract_attachment_from_pdf | Extract embedded file attachments from a PDF and save them to disk |
extract_resources | Extract text content and images embedded in a PDF |
extract_table_from_pdf | Detect and extract tables from a PDF, saving results as JSON and CSV |
extract_text_by_expression | Extract text from a PDF using a regular expression pattern |
extract_text_from_word | Extract text from a Word document, with options to remove headers, footers, or comments |
extract_text_from_image | Extract text from an image using OCR |
classify_document | Classify a PDF by document type and category with a confidence score |
parse_document | Extract structured data from a PDF using a predefined PDF4me parsing template |
| Tool | Description |
|---|---|
add_form_fields_to_pdf | Add new TextBox or CheckBox form fields to a PDF at specified coordinates |
fill_pdf_form | Fill existing form fields in a PDF using a key/value data map |
| Tool | Description |
|---|---|
generate_document_single | Generate one document from a template (DOCX/HTML/PDF) and a data payload (JSON/XML/text) |
generate_documents_multiple | Generate multiple documents in batch from one template and a multi-record dataset |
enable_tracking_changes_in_word | Enable Track Changes mode in a Word document |
disable_tracking_changes_in_word | Disable Track Changes mode in a Word document |
get_tracking_changes_in_word | Extract all tracked change data from a Word document as structured JSON |
replace_text_with_image_in_word | Replace text placeholders in a Word document with an image |
| Tool | Description |
|---|---|
add_image_watermark_to_image | Overlay a watermark image onto another image with opacity and position controls |
add_text_watermark_to_image | Add a text watermark to an image with font, color, opacity, and rotation options |
compress_image | Compress a JPG, PNG, or WebP image with configurable compression level |
convert_image_format | Convert an image between BMP, GIF, JPG, PNG, and TIFF formats |
create_images_from_pdf | Render PDF pages to image files (JPEG, PNG, TIFF) with page selection and width options |
crop_image | Crop an image by border or by a specific rectangle region |
flip_image | Flip an image horizontally or vertically |
get_image_metadata | Extract image properties and EXIF metadata from a JPG or PNG file |
extract_text_from_image | Run OCR on an image to extract its text content |
resize_image | Resize an image by percentage or to specific dimensions, with aspect ratio control |
rotate_image | Rotate an image by a specified angle with background color and resize options |
rotate_image_by_exif_data | Auto-rotate an image to its correct orientation based on its EXIF metadata |
remove_exif_tags_from_image | Strip all EXIF metadata from a JPG or PNG image |
| Tool | Description |
|---|---|
merge_multiple_pdfs | Merge two or more PDF files into a single PDF |
merge_pdf_overlay | Overlay one PDF on top of another (e.g. stamp a letterhead) |
split_pdf | Split a PDF by page number, recurring interval, sequence, or page ranges |
split_pdf_by_barcode | Split a PDF at pages containing a specified barcode |
split_pdf_by_swiss_qr | Split a PDF at Swiss QR code positions |
split_pdf_by_text | Split a PDF at pages containing a specific text string |
| Tool | Description |
|---|---|
compress_pdf | Compress a PDF with optimization profiles for Web, Print, or Screen |
delete_blank_pages_from_pdf | Remove blank pages from a PDF (no text, no images, or both) |
linearize_pdf | Linearize a PDF for fast incremental loading in web browsers |
| Tool | Description |
|---|---|
delete_pdf_pages | Remove specific pages from a PDF by page number or range |
extract_pages_from_pdf | Extract selected pages from a PDF into a new file |
rotate_pdf | Rotate all pages of a PDF (Clockwise, CounterClockwise, UpsideDown) |
rotate_pdf_page | Rotate selected pages of a PDF independently |
| Tool | Description |
|---|---|
get_pdf_metadata | Read full PDF metadata: title, author, page count, security info, and dates |
get_image_metadata | Read image properties and available EXIF fields from a JPG or PNG |
repair_pdf | Attempt to repair a corrupted or malformed PDF |
| Tool | Description |
|---|---|
protect_pdf | Password-protect a PDF with configurable permissions (print, copy, edit, etc.) |
unlock_pdf | Remove password protection from a PDF using the current password |
| Tool | Description |
|---|---|
process_invoice | Extract structured invoice data (line items, totals, dates, vendor info) from a PDF or image using AI |
process_bank_cheque | Parse bank cheque images and extract cheque details using AI |
process_contract | Extract key clauses and fields from contract documents using AI |
process_credit_card | Extract credit card information from card images using AI |
process_health_card | Extract data from health insurance card images using AI |
process_marriage_certificate | Extract fields from marriage certificates using AI, with optional authenticity verification |
process_mortgage_document | Extract key financial and property details from mortgage documents using AI |
process_pay_stub | Extract earnings, deductions, and employee details from pay stub documents using AI |
process_bank_statement | Parse bank statements for transactions, balances, and patterns using AI |
process_order | Extract order details (items, quantities, prices, addresses) from purchase order documents using AI |
process_receipt | Extract merchant info, line items, and totals from receipt images or PDFs using AI |
process_shipping_label | Extract carrier, tracking number, and address data from shipping labels using AI |
process_tax_document | Extract tax form fields and computed values from tax documents using AI |
process_universal_document | Extract any specified fields from any document type using AI (configurable field list) |
| Tool | Description |
|---|---|
create_zugferd_invoice | Create a ZUGFeRD-compliant e-invoice from XML, JSON, or CSV data — as PDF+XML or XML-only |
| Tool | Description |
|---|---|
upload_file | Upload a local file to PDF4me cloud storage and receive a file reference for further operations |
get_document_from_pdf4me | Register a webhook callback URL to receive documents from PDF4me |
Convert a PDF to Word:
Merge multiple PDFs:
Extract invoice data using AI:
Add a Swiss QR Bill to a PDF:
Split a PDF by barcode:
Generate a document from a template:
Compress an image:
OCR a scanned PDF:
Or, if installed locally:
This project is distributed under the MIT License.