Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

PDF4me

PYPI · PDF4ME-MCP · 2 COMPONENTS · SCANNED SEP 20

PDF & document automation via the PDF4me API — convert, OCR, extract, edit, secure.

0 this week 62 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 1 of 23 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability77
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 14930 tokens (~160/item across 93 items; 92 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage76
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 29% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_blank_pages_from_pdf" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 93 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the PDF4me MCP server?

PDF4me runs locally as a PyPI package, launched with uvx pdf4me-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · pdf4me-mcp

# add to Claude Code
claude mcp add pdf4me-pdf4me-mcp -- uvx pdf4me-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "pdf4me-pdf4me-mcp": {
      "command": "uvx",
      "args": [
        "pdf4me-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "pdf4me-pdf4me-mcp": {
      "command": "uvx",
      "args": [
        "pdf4me-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add pdf4me-pdf4me-mcp -- uvx pdf4me-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pdf4me-pdf4me-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "pdf4me-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add pdf4me-pdf4me-mcp --command uvx --arg pdf4me-mcp
# ~/.hermes/config.yaml
mcp_servers:
  pdf4me-pdf4me-mcp:
    command: "uvx"
    args: ["pdf4me-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "pdf4me-pdf4me-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "pdf4me-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add pdf4me-pdf4me-mcp -t stdio -c uvx -a pdf4me-mcp
// mcp.json
{
  "mcpServers": {
    "pdf4me-pdf4me-mcp": {
      "command": "uvx",
      "args": [
        "pdf4me-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 −3
    • Stability: pass → 0.77 functional
  • 16 Sept 26 +1
    • Stability: 0.97 → pass security
  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Sept 26 −3
    • Security disclosure: unverified → fail functional
    • Stability: pass → 0.80 functional
  • 9 Sept 26 +1
    • Stability: 0.97 → pass security
    • Security disclosure: fail → unverified functional
  • 8 Sept 26 −15
    • Malware scan: pass → unverified security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/pdf4me-mcp@1.0.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 23 packages
Packages resolved 23
Stale 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 92 exposed · ~14,915 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_attachment_to_pdf ~117

Embed one or more files as attachments into a PDF using the PDF4me AddAttachmentToPdf API. Provide the path to the source PDF and a list of local file paths to attach (docName is each file's basename). Optional: request_doc_name for the API docName field (defaults to the PDF's filename) and output path.

NameTypeReqDescription
attachment_file_pathsarrayyes
output_dir
output_file_name
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

add_barcode_to_pdf ~287

Draw a barcode or QR code onto PDF pages using the PDF4me addbarcode API (/api/v2/addbarcode). Requires local pdf_file_path, barcode text, barcodeType (e.g. qrCode, code128), pages spec (e.g. all, 1, 1-3, 1,3,5), alignX (Left/Center/Right), alignY (Top/Middle/Bottom), hideText. Optional: size/margins in MM or points, opacity, displayText, showOnlyInPrint, isTextAbove.

NameTypeReqDescription
align_xstring
align_ystring
barcode_typestring
display_text
height_in_mm
height_in_pt
hide_textboolean
is_text_above
margin_x_in_mm
margin_x_in_pt
margin_y_in_mm
margin_y_in_pt
opacity
output_dir
output_file_name
pagesstring
pdf_file_pathstringyes
request_doc_name
show_only_in_print
textstringyes
width_in_mm
width_in_pt

No output schema declared.

No examples provided.

add_form_fields_to_pdf ~161

Add an interactive form field (TextBox or CheckBox) to a PDF via PDF4me AddFormField (/api/v2/AddFormField). Provide the PDF path, field name, initial value, position (X/Y in PDF units), Size, pages spec, and formFieldType. Saves the resulting PDF to disk.

NameTypeReqDescription
field_namestringyes
form_field_typestringyes
initial_valuestringyes
output_dir
output_file_name
pagesstringyes
pdf_file_pathstringyes
position_xintegeryes
position_yintegeryes
request_doc_name
sizeintegeryes

No output schema declared.

No examples provided.

add_html_header_footer_to_pdf ~167

Add HTML as header, footer, or both on PDF pages using PDF4me AddHtmlHeaderFooter (/api/v2/AddHtmlHeaderFooter). html_content is a plain HTML string (not base64). header_footer_location is Header, Footer, or Both. Optional: pages (empty string = all), skip_first_page, pixel margins, output path.

NameTypeReqDescription
header_footer_locationstringyes
html_contentstringyes
margin_bottom
margin_left
margin_right
margin_top
output_dir
output_file_name
pagesstring
pdf_file_pathstringyes
request_doc_name
skip_first_page

No output schema declared.

No examples provided.

add_image_stamp_to_pdf ~235

Stamp or watermark a PDF with an image using PDF4me ImageStamp (/api/v2/ImageStamp). Provide pdf_file_path, image_file_path (PNG/JPG/etc.), alignX (Left/Center/Right), alignY (Top/Middle/Bottom). Optional: pages, size in MM or pixels, margins, opacity, is_background, show_only_in_print, output path.

NameTypeReqDescription
align_xstringyes
align_ystringyes
height_in_mm
height_in_px
image_file_pathstringyes
image_name
is_background
margin_x_in_mm
margin_x_in_px
margin_y_in_mm
margin_y_in_px
opacity
output_dir
output_file_name
pagesstring
pdf_file_pathstringyes
request_doc_name
show_only_in_print
width_in_mm
width_in_px

No output schema declared.

No examples provided.

add_image_watermark_to_image ~193

Overlay a watermark image on a source image via PDF4me AddImageWatermarkToImage (/api/v2/AddImageWatermarkToImage). Provide image_file_path, watermark_image_file_path, and position (topright, topleft, bottomright, bottomleft, centralhorizontal, diagonal, centralvertical, custom). Optional: opacity (0.0–1.0), horizontal/vertical offset, position_x/y for custom, rotation (degrees), output path.

NameTypeReqDescription
doc_name
horizontal_offset
image_file_pathstringyes
opacity
output_dir
output_file_name
positionstringyes
position_x
position_y
rotation
vertical_offset
watermark_file_name
watermark_image_file_pathstringyes

No output schema declared.

No examples provided.

add_margin_to_pdf ~108

Add margins to a PDF using the PDF4me AddMargin API. Provide a local PDF path and optional margins in millimeters (margin_left/right/top/bottom, 0-100). Saves the resulting PDF to disk.

NameTypeReqDescription
margin_bottom
margin_left
margin_right
margin_top
output_dir
output_file_name
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

add_page_number_to_pdf ~512

Add page numbers to a PDF via PDF4me POST /api/v2/AddPageNumber. When helping a user, explain how to set page_number_format before calling: use the literal character # for the current page (1, 2, 3, …) and the literal substring {1} for the total page count. Those are placeholders, not Python format specifiers—pass them exactly as strings (e.g. '# of {1}' renders as '1 of 10', 'Page #' as 'Page 1', '# / {1}' as '1 / 10', '(#)' as '(1)', '#' alone as '1'). align_x must be left, center, or right; align_y must be top, middle, or bottom. Optional: margin_x_in_mm and margin_y_in_mm (integers 0–100 mm from the chosen edge), font_size (8–72), is_bold, is_italic, skip_first_page. Requires a local pdf_file_path; output defaults next to the source file.

NameTypeReqDescription
align_xstringHorizontal position of the page number text.
align_ystringVertical position of the page number text.
font_sizeFont size for the page number (allowed range 8–72 when set).
is_boldIf true, render page numbers in bold.
is_italicIf true, render page numbers in italic.
margin_x_in_mmHorizontal margin from the aligned edge, in millimeters (0–100).
margin_y_in_mmVertical margin from the aligned edge, in millimeters (0–100).
output_dirDirectory for the saved PDF; defaults to the input file's directory.
output_file_nameFile name for the saved PDF (e.g. numbered_report.pdf).
page_number_formatstringyesText pattern for each footer/header line. Use # for current page number and {1} for total pages (both are literal characters in the string). Examples: '# of {1}', 'Page #', '# / {1}', '(#)', '#'.
pdf_file_pathstringyesAbsolute or relative path to the input PDF file.
request_doc_nameOutput document name sent to the API (should end with .pdf). Defaults to the input file basename.
skip_first_pageIf true, do not print a page number on the first page.

No output schema declared.

No examples provided.

add_text_stamp_to_pdf ~282

Add a text stamp or watermark to a PDF using PDF4me Text Stamp (/api/v2/Stamp). Provide pdf_file_path, stamp text, pages (e.g. all, 1, 1-3), alignX/alignY, font and margin settings. Uses API field isItalics (italic). Saves the stamped PDF to disk.

NameTypeReqDescription
align_xstring
align_ystring
fit_text_over_pageboolean
font_colorstring
font_namestring
font_sizeinteger
is_backgroundboolean
is_boldboolean
is_italicsboolean
margin_x_in_mmstring
margin_x_in_pxstring
margin_y_in_mmstring
margin_y_in_pxstring
opacitystring
output_dir
output_file_name
pagesstring
pdf_file_pathstringyes
request_doc_name
rotateinteger
show_only_in_printboolean
textstringyes
transverseboolean
underlineboolean

No output schema declared.

No examples provided.

add_text_watermark_to_image ~216

Add a text watermark to an image via PDF4me AddTextWatermarkToImage (/api/v2/AddTextWatermarkToImage). image_file_path, watermark_text, text_position (e.g. bottomleft, diagonal, custom), text_font_family, is_underline, is_italic; optional font size, colour, bold, opacity, rotation, position_x/y.

NameTypeReqDescription
doc_name
image_file_pathstringyes
is_boldboolean
is_italicboolean
is_underlineboolean
opacitynumber
output_dir
output_file_name
position_xnumber
position_ynumber
rotation_anglenumber
text_colourstring
text_font_familystring
text_font_sizeinteger
text_positionstringyes
watermark_textstringyes

No output schema declared.

No examples provided.

classify_document ~68

Classify a PDF by content via PDF4me ClassifyDocument (/api/v2/ClassifyDocument). pdf_file_path; optional request_doc_name and output_dir. Saves classified_document.json.

NameTypeReqDescription
output_dir
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

compress_image ~112

Compress an image via PDF4me CompressImage (/api/v2/CompressImage). image_file_path, image_type (JPG, PNG, WebP), compression_level (Max, Medium, Low); optional doc_name, output_dir, output_file_name. Uses async 202 polling when applicable.

NameTypeReqDescription
compression_levelstring
doc_name
image_file_pathstringyes
image_typestring
output_dir
output_file_name

No output schema declared.

No examples provided.

compress_pdf ~93

Compress a PDF file using the PDF4me API to reduce file size. Provide the local file path to the PDF. Choose an optimization profile: Web (fast download), Print (high-quality), or Screen (screen viewing). Optionally specify an output directory and output file name.

NameTypeReqDescription
file_pathstringyes
optimize_profilestring
output_dir
output_file_name

No output schema declared.

No examples provided.

convert_html_to_pdf ~206

Convert a local HTML file to PDF using the PDF4me ConvertHtmlToPdf API. Provide the file path to the HTML document. Configure layout, page format, scale, margins, print background, and header/footer. Optionally set output directory and output file name.

NameTypeReqDescription
bottom_marginstring
display_header_footerbooleanShow header/footer when supported.
file_pathstringyesLocal path to the HTML file (.html or .htm).
layoutstringPortrait or Landscape.
left_marginstring
output_dir
output_file_name
page_formatstringPage size (e.g. A4, Letter).
print_backgroundbooleanInclude backgrounds in the PDF.
right_marginstring
scalenumberContent scale (e.g. 0.8 = 80%).
top_marginstring

No output schema declared.

No examples provided.

convert_image_format ~132

Convert a local image between formats (BMP, GIF, JPG, PNG, TIFF) using the PDF4me ConvertImageFormat API. Provide the local image path plus current and new format. Supports sync/async processing and optional output directory and output file name.

NameTypeReqDescription
current_image_formatstringSource image format (BMP, GIF, JPG, PNG, TIFF).
file_pathstringyesLocal path to the source image.
new_image_formatstringTarget image format (BMP, GIF, JPG, PNG, TIFF).
output_dir
output_file_name

No output schema declared.

No examples provided.

convert_json_to_excel ~235

Convert a local JSON file to Excel (XLSX) using the PDF4me ConvertJsonToExcel API. Provide the file path to UTF-8 JSON. Options: worksheet_name, title formatting, number/date conversion and formats, ignore_null_values, first_row/first_column (1-based), and optional output path.

NameTypeReqDescription
convert_number_and_datebooleanEnable number/date cell conversion.
date_formatstringDate format string for the API.
file_pathstringyesLocal path to the JSON file (.json).
first_columnintegerFirst data column (1-based).
first_rowintegerFirst data row (1-based).
ignore_null_valuesbooleanSkip null values when building the sheet.
is_title_boldbooleanBold title row when supported.
is_title_wrap_textbooleanWrap text in title row when supported.
number_formatstringNumber format string for the API.
output_dir
output_file_name
worksheet_namestringTarget worksheet name.

No output schema declared.

No examples provided.

convert_md_to_pdf ~111

Convert a local Markdown file (.md) to PDF using the PDF4me ConvertMdToPdf API. Provide the file path to the Markdown file and output_dir where the PDF will be saved. Long HTTP timeouts on requests. complete. Optional output file name (defaults to <input_basename>.pdf).

NameTypeReqDescription
file_pathstringyesLocal path to the Markdown file (.md).
output_dirstringyesDirectory to save the PDF (required).
output_file_name

No output schema declared.

No examples provided.

convert_ocr_pdf ~197

Convert a PDF to a searchable, editable PDF using the PDF4me ConvertOcrPdf API (OCR). Provide the local path to the input PDF, quality (Draft or High), ocr_when_needed, and language (e.g. eng). The API request body only includes docContent, docName, qualityType, ocrWhenNeeded, and language. If the API returns 202, the tool polls the Location URL until the PDF is ready. Optional output directory and output file name.

NameTypeReqDescription
file_pathstringyesLocal path to the PDF to process.
languagestringOCR language code (e.g. eng). Empty defaults to eng.
ocr_when_neededbooleanWhen true, skip OCR if text is already searchable (sent as "true"/"false").
output_dir
output_file_name
quality_typestringDraft or High.

No output schema declared.

No examples provided.

convert_pdf_to_excel ~167

Convert a local PDF file to Excel (XLSX) using the PDF4me ConvertPdfToExcel API. Provide the file path to the PDF. Options: quality (Draft/High), merge_all_sheets, language, OCR when needed, and optional output path. Output is always XLSX.

NameTypeReqDescription
file_pathstringyesLocal path to the PDF file to convert.
languagestringDocument language hint for OCR/extraction.
merge_all_sheetsbooleanMerge content into a single sheet when supported.
ocr_when_neededbooleanEnable OCR when the API determines it is needed.
output_dir
output_file_name
quality_typestringDraft or High quality for extraction.

No output schema declared.

No examples provided.

convert_pdf_to_pdfa ~159

Convert a PDF file to PDF/A (archival ISO format) using the PDF4me PdfA API. Provide the local file path to the PDF. Choose compliance (e.g. PdfA1b), allow_upgrade / allow_downgrade, and optional output path.

NameTypeReqDescription
allow_downgradebooleanAllow downgrading to lower compliance when supported by the API.
allow_upgradebooleanAllow upgrading to higher compliance when supported by the API.
compliancestringPDF/A level (PdfA1b is common for basic conformance).
file_pathstringyesLocal path to the PDF file to convert.
output_dir
output_file_name

No output schema declared.

No examples provided.

convert_pdf_to_powerpoint ~170

Convert a local PDF file to PowerPoint (PPTX) using the PDF4me ConvertPdfToPowerPoint API. Provide the file path to the PDF. Options: quality (Draft/High), language, OCR when needed, merge_all_sheets, and optional output path. Output is always PPTX.

NameTypeReqDescription
file_pathstringyesLocal path to the PDF file to convert.
languagestringDocument language hint for OCR/extraction.
merge_all_sheetsbooleanMerge content into a single presentation when supported.
ocr_when_neededbooleanEnable OCR when the API determines it is needed.
output_dir
output_file_name
quality_typestringDraft or High quality for extraction.

No output schema declared.

No examples provided.

convert_pdf_to_word ~166

Convert a local PDF file to Word (DOCX) using the PDF4me ConvertPdfToWord API. Provide the file path to the PDF. Options: quality (Draft/High), merge_all_sheets, language, OCR when needed, and optional output path. Output is always DOCX.

NameTypeReqDescription
file_pathstringyesLocal path to the PDF file to convert.
languagestringDocument language hint for OCR/extraction.
merge_all_sheetsbooleanMerge content into a single output when supported.
ocr_when_neededbooleanEnable OCR when the API determines it is needed.
output_dir
output_file_name
quality_typestringDraft or High quality for extraction.

No output schema declared.

No examples provided.

convert_to_pdf ~87

Convert a local document file (for example DOCX, PPTX, XLSX, images, or text formats) to PDF using the PDF4me ConvertToPdf API. Provide the local file path, plus optional output directory and output file name.

NameTypeReqDescription
file_pathstringyesLocal path to the input document file.
output_dir
output_file_name

No output schema declared.

No examples provided.

convert_url_to_pdf ~294

Convert a web page to PDF using the PDF4me ConvertUrlToPdf API. Required input is only web_url (https://...); no local file path is read. Optional: layout, page format, margins, scale, print background, auth (NoAuth or credentials), output_dir/output_file_name for where to save the PDF (default file name output.pdf).

NameTypeReqDescription
auth_typestringSite auth mode (e.g. NoAuth; use Basic + username/password if needed).
bottom_marginstring
display_header_footerbooleanPrint browser header/footer region if supported.
layoutstringPage orientation (portrait or landscape).
left_marginstring
output_dirDirectory to save the PDF.
output_file_nameFile name for the saved PDF.
page_formatstringPaper size (e.g. A4, Letter, Tabloid per API docs).
passwordstringOptional password when the target URL requires authentication.
print_backgroundbooleanInclude backgrounds in the PDF.
right_marginstring
scalenumberRender scale (1.0 = 100%).
top_marginstring
usernamestringOptional username when the target URL requires authentication.
web_urlstringyesPage to render (https://...).

No output schema declared.

No examples provided.

convert_visio_to_pdf ~201

Convert a local Visio file (.vsdx/.vsd/.vsdm) to PDF using the PDF4me ConvertVisio API. Supports PDF options (compliance, page range, hidden pages, foreground/toolbar, auto-fit), sync/async processing, and optional output directory/file name.

NameTypeReqDescription
auto_fitbooleanAuto-fit content to page.
file_pathstringyesLocal path to the Visio file (.vsdx/.vsd/.vsdm).
include_hidden_pagesbooleanInclude hidden pages.
is_pdf_compliantbooleanMake PDF compliant with standards.
output_dir
output_file_name
page_countintegerNumber of pages to convert.
page_indexintegerStart page index (0-based).
save_foreground_pagebooleanKeep foreground page content.
save_tool_barbooleanInclude toolbar content.

No output schema declared.

No examples provided.

convert_word_to_pdf_form ~91

Convert a local Word document (DOCX) to a PDF form with fillable fields using the PDF4me ConvertWordToPdfForm API. Provide the file path to the DOCX file. Optionally specify async polling and output directory/file name.

NameTypeReqDescription
file_pathstringyesLocal path to the Word file (.docx).
output_dir
output_file_name

No output schema declared.

No examples provided.

create_barcode ~110

Create a standalone barcode or QR code image (PNG) using the PDF4me Create Barcode API. Pass the text to encode and barcodeType (e.g. qrCode, code128, dataMatrix, ean13, upcA). hideText hides the human-readable label. Saves the file and returns the path.

NameTypeReqDescription
barcode_typestring
hide_textboolean
output_dir
output_file_name
textstringyes

No output schema declared.

No examples provided.

create_images_from_pdf ~239

Render PDF pages to image files using the PDF4me CreateImages API (POST /api/v2/CreateImages). Controls width in pixels, image format (jpeg, png, tiff, etc.), and page selection (top-level pageNrs plus imageAction.PageSelection.PageNrs when the expression parses to integers; use 'all' for all pages). Writes one file per page to output_dir (defaults to the input PDF directory).

NameTypeReqDescription
file_pathstringyesLocal path to the PDF file.
image_extensionstringOutput format: jpg, jpeg, bmp, gif, png, tif, tiff, etc. (imageAction.ImageExtension).
output_dir
page_numberstringPage selection string for top-level pageNrs (e.g. '1', '1-2', '1,3,5'). When parseable, also sent as imageAction.PageSelection.PageNrs. 'all' sends pageNrs only (no PageSelection block).
width_pixelstringOutput image width in pixels (passed as string to imageAction.WidthPixel).

No output schema declared.

No examples provided.

create_swiss_qr_bill ~404

Create the Swiss QR bill payment part on a PDF using the PDF4me CreateSwissQrBill API (POST /api/v2/CreateSwissQrBill). Required inputs per OpenAPI: docContent, document.Name, iban, crName, crAddressType. Enums match backend: address S|K; currency CHF|EUR; language German|French|Italian|English; referenceType QRR|SCOR|NON; seperatorLine LineWithScissor|Line|None (string None). All other schema fields are optional (amount, creditor/debtor address lines, reference, etc.). Reads the source PDF from pdf_file_path (docContent base64); optional document_name overrides document.Name (defaults to the file basename). Output PDF name is output_file_name if set, otherwise 'swiss_qr_bill.pdf'. Saves next to the PDF unless output_dir is set; optional isAsync / 202 polling.

NameTypeReqDescription
amount
av1_parameters
av2_parameters
billing_info
cr_address_typestring
cr_city
cr_namestringyes
cr_postal_code
cr_street_or_address_line1
cr_street_or_address_line2
currencystring
document_name
ibanstringyes
language_typestring
output_dir
output_file_name
pdf_file_pathstringyes
reference
reference_typestring
seperator_linestring
ud_address_type
ud_city
ud_name
ud_postal_code
ud_street_or_address_line1
ud_street_or_address_line2
unstructured_message

No output schema declared.

No examples provided.

create_zugferd_invoice ~338

Create a ZUGFeRD e-invoice using PDF4me CreateZugferdInvoice API (POST /api/v2/CreateZugferdInvoice). Supports inputFormat XML/JSON/CSV, outputMode XmlWithPdf or XmlOnly, conformance level, and language. For XmlWithPdf, provide source PDF via source_pdf_path (docContent/document.Name are derived from the file). Saves output as PDF or XML and returns output metadata.

NameTypeReqDescription
conformance_levelstringBASIC, COMFORT, or EXTENDED.
input_formatstringXML, JSON, or CSV.
invoice_csv_dataLocal CSV file path when input_format is CSV (file is base64-encoded).
invoice_json_dataLocal JSON file path when input_format is JSON (file is base64-encoded).
invoice_xml_dataLocal XML file path when input_format is XML (file is base64-encoded).
languageOptional localization language code (e.g. de, en, fr).
output_dirstringDirectory to save the output file (required).
output_file_namestringOutput file name (required).
output_modestringXmlWithPdf (PDF with embedded XML) or XmlOnly.
render_invoice_on_pdfbooleanApplies to XmlWithPdf output mode.
source_pdf_pathLocal source PDF path for XmlWithPdf (used to derive docContent and document.Name).
zugferd_versionstringZUGFeRD version (currently only "1.0" per schema).

No output schema declared.

No examples provided.

crop_image ~140

Crop an image via PDF4me CropImage (/api/v2/CropImage). Choose crop_type Border or Rectangle. Border: set left/right/top/bottom border in pixels. Rectangle: set upper_left_x/y and width/height.

NameTypeReqDescription
bottom_border
crop_typestring
doc_name
height
image_file_pathstringyes
left_border
output_dir
output_file_name
right_border
top_border
upper_left_x
upper_left_y
width

No output schema declared.

No examples provided.

delete_blank_pages_from_pdf ~96

Delete blank pages from a PDF via PDF4me DeleteBlankPages (/api/v2/DeleteBlankPages). Provide pdf_file_path and delete_page_option (NoTextNoImages, NoText, NoImages). Saves cleaned PDF to disk.

NameTypeReqDescription
delete_page_optionstring
output_dir
output_file_name
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

delete_pdf_pages ~124

Remove pages from a PDF using the PDF4me DeletePages API. Provide the local PDF path and pageNumbers (e.g. '2', '1,3,5', or '2-4'). Optionally set output directory and output file name.

NameTypeReqDescription
file_pathstringyesLocal path to the PDF file.
output_dir
output_file_name
page_numbersstringyesPages to delete, as accepted by the API (e.g. '2', '1,3,5', '2-4').

No output schema declared.

No examples provided.

disable_tracking_changes_in_word ~100

Disable Word Track Changes via PDF4me /api/v2/DisableTrackingChangesInWord. Input is a local Word file path (.docx or .doc) which is sent as docContent Base64; docName defaults to the input filename. Saves a Word output file with track changes disabled.

NameTypeReqDescription
output_dir
output_file_name
request_doc_name
word_file_pathstringyes

No output schema declared.

No examples provided.

enable_tracking_changes_in_word ~100

Enable Word Track Changes via PDF4me /api/v2/EnableTrackingChangesInWord. Input is a local Word file path (.docx or .doc) which is sent as docContent Base64; docName defaults to the input filename. Saves a Word output file with track changes enabled.

NameTypeReqDescription
output_dir
output_file_name
request_doc_name
word_file_pathstringyes

No output schema declared.

No examples provided.

extract_attachment_from_pdf ~92

Extract embedded file attachments from a PDF via PDF4me ExtractAttachmentFromPdf (/api/v2/ExtractAttachmentFromPdf). pdf_file_path; optional output_dir (defaults next to PDF). Saves extracted_attachments.json when JSON, decodes outputDocuments to files, or saves/extracts ZIP.

NameTypeReqDescription
output_dir
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

extract_form_data_from_pdf ~79

Extract all PDF form fields and values via PDF4me /api/v2/ExtractPdfFormData. Input is pdf_file_path; optional request_doc_name and output_dir. Saves extracted_form_data.json with the full API response.

NameTypeReqDescription
output_dir
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

extract_pages_from_pdf ~100

Extract selected pages from a PDF via PDF4me /api/v2/Extract. Inputs: pdf_file_path and page_numbers (e.g. '1,3,5' or '1-5,10'). Optional request_doc_name and output path settings.

NameTypeReqDescription
output_dir
output_file_name
page_numbersstring
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

extract_resources ~105

Extract text and/or embedded images from a PDF via PDF4me ExtractResources (/api/v2/ExtractResources). pdf_file_path, extract_text, extract_images; optional output_dir (defaults next to PDF). Writes extracted_resources.json, extracted_text.txt when text is extracted, and image files.

NameTypeReqDescription
extract_imagesboolean
extract_textboolean
output_dir
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

extract_table_from_pdf ~88

Extract tables from a PDF via PDF4me ExtractTableFromPdf (/api/v2/ExtractTableFromPdf). pdf_file_path; optional output_dir (defaults next to PDF). Saves extracted_tables.json, per-table table_N.json, and table_N.csv when rows are available.

NameTypeReqDescription
output_dir
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

extract_text_by_expression ~118

Extract text from a PDF matching a regex via PDF4me ExtractTextByExpression (/api/v2/ExtractTextByExpression). pdf_file_path, expression, page_sequence (e.g. '1-' all pages, '1-3', '1,2,3'); optional output_dir. Saves JSON, a matches text file, and CSV.

NameTypeReqDescription
expressionstringyes
output_dir
page_sequencestring
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

extract_text_from_image ~88

Extract text from a local image using the PDF4me ImageExtractText API (POST /api/v2/ImageExtractText). Uses OCR; supports async processing with polling on 202. Returns the parsed JSON response in structured_content and a text summary when possible.

NameTypeReqDescription
file_pathstringyesLocal path to the image file (e.g. JPG, PNG, TIFF, WEBP).

No output schema declared.

No examples provided.

extract_text_from_word ~128

Extract text from a Word document via PDF4me /api/v2/ExtractTextFromWord. Supports page range and content filtering options (comments, header/footer, tracked changes). Saves extracted text and JSON response metadata to disk.

NameTypeReqDescription
accept_changesboolean
end_page_numberinteger
output_dir
output_file_name
remove_commentsboolean
remove_header_footerboolean
request_doc_name
start_page_numberinteger
word_file_pathstringyes

No output schema declared.

No examples provided.

fill_pdf_form ~108

Fill form fields in a local PDF using the PDF4me FillPdfForm API. Provide the local PDF path and a JSON object of field/value pairs in form_data. Optionally specify output directory and output file name.

NameTypeReqDescription
file_pathstringyesLocal path to the template PDF file to fill.
form_dataobjectyesForm field values as key/value pairs (for example {"firstname": "John"}).
output_dir
output_file_name

No output schema declared.

No examples provided.

find_and_replace_text ~102

Find and replace text in a PDF via PDF4me /api/v2/FindAndReplace. Inputs: pdf_file_path, old_text, new_text, page_sequence; optional output path.

NameTypeReqDescription
new_textstringyes
old_textstringyes
output_dir
output_file_name
page_sequencestring
pdf_file_pathstringyes
request_doc_name

No output schema declared.

No examples provided.

flatten_pdf ~79

Flatten a PDF file with the PDF4me API: forms, annotations, and layers become static content. Provide the local file path to the PDF. Optionally specify an output directory and output file name.

NameTypeReqDescription
file_pathstringyesLocal path to the PDF file to flatten.
output_dir
output_file_name

No output schema declared.

No examples provided.

Common questions

What is the PDF4me MCP server?

PDF4me is an MCP server listed in the public MCP registry as io.github.pdf4me/pdf4me-mcp. PDF & document automation via the PDF4me API, convert, OCR, extract, edit, secure. This page covers its PyPI package (pdf4me-mcp).

Is the PDF4me MCP server safe to use?

PDF4me scores 62 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the PDF4me MCP server expose?

PDF4me exposes 92 tools: add_attachment_to_pdf, add_barcode_to_pdf, add_form_fields_to_pdf, add_html_header_footer_to_pdf, add_image_stamp_to_pdf, and 87 more. Their descriptions and schemas cost roughly 14,915 tokens of context every time the server is loaded.

Is the PDF4me MCP server still maintained?

PDF4me is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.