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

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

−4 this week 77 Trust /100

Last scanned (2 hours ago)

Scores higher than 74% of PyPI servers

Category Documents and Files

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 Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 22 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Build provenance not yet verified. View diagnostics → Unverified
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 89 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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 Management70
  • Stability observed for 21 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
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.

  • 5 Nov 26 +15
    • Provenance: fail → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
  • 4 Nov 26 −14
    • Malware scan: pass → unverified ▼ security
  • 3 Nov 26 +10
    • Malware scan: unverified → pass ▲ security
    • Stability: pass → 0.63 functional
  • 30 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 29 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 28 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Stability: 0.97 → pass security
  • 27 Oct 26 +1

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

  • 26 Oct 26 −1
    • Stability: pass → 0.93 functional
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 5 Nov 2026 · Analysed pypi/pdf4me-mcp@1.0.0

Provenance Inconclusive

We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.

Result Inconclusive
Ecosystem pypi
Reason Attestation not fetched

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 22 packages
Packages resolved 22
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_xstring–Horizontal position of the page number text.
align_ystring–Vertical position of the page number text.
font_size––Font size for the page number (allowed range 8–72 when set).
is_bold––If true, render page numbers in bold.
is_italic––If true, render page numbers in italic.
margin_x_in_mm––Horizontal margin from the aligned edge, in millimeters (0–100).
margin_y_in_mm––Vertical margin from the aligned edge, in millimeters (0–100).
output_dir––Directory for the saved PDF; defaults to the input file's directory.
output_file_name––File 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_name––Output document name sent to the API (should end with .pdf). Defaults to the input file basename.
skip_first_page––If 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_footerboolean–Show header/footer when supported.
file_pathstringyesLocal path to the HTML file (.html or .htm).
layoutstring–Portrait or Landscape.
left_marginstring––
output_dir–––
output_file_name–––
page_formatstring–Page size (e.g. A4, Letter).
print_backgroundboolean–Include backgrounds in the PDF.
right_marginstring––
scalenumber–Content 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_formatstring–Source image format (BMP, GIF, JPG, PNG, TIFF).
file_pathstringyesLocal path to the source image.
new_image_formatstring–Target 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_dateboolean–Enable number/date cell conversion.
date_formatstring–Date format string for the API.
file_pathstringyesLocal path to the JSON file (.json).
first_columninteger–First data column (1-based).
first_rowinteger–First data row (1-based).
ignore_null_valuesboolean–Skip null values when building the sheet.
is_title_boldboolean–Bold title row when supported.
is_title_wrap_textboolean–Wrap text in title row when supported.
number_formatstring–Number format string for the API.
output_dir–––
output_file_name–––
worksheet_namestring–Target 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.
languagestring–OCR language code (e.g. eng). Empty defaults to eng.
ocr_when_neededboolean–When true, skip OCR if text is already searchable (sent as "true"/"false").
output_dir–––
output_file_name–––
quality_typestring–Draft 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.
languagestring–Document language hint for OCR/extraction.
merge_all_sheetsboolean–Merge content into a single sheet when supported.
ocr_when_neededboolean–Enable OCR when the API determines it is needed.
output_dir–––
output_file_name–––
quality_typestring–Draft 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_downgradeboolean–Allow downgrading to lower compliance when supported by the API.
allow_upgradeboolean–Allow upgrading to higher compliance when supported by the API.
compliancestring–PDF/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.
languagestring–Document language hint for OCR/extraction.
merge_all_sheetsboolean–Merge content into a single presentation when supported.
ocr_when_neededboolean–Enable OCR when the API determines it is needed.
output_dir–––
output_file_name–––
quality_typestring–Draft 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.
languagestring–Document language hint for OCR/extraction.
merge_all_sheetsboolean–Merge content into a single output when supported.
ocr_when_neededboolean–Enable OCR when the API determines it is needed.
output_dir–––
output_file_name–––
quality_typestring–Draft 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_typestring–Site auth mode (e.g. NoAuth; use Basic + username/password if needed).
bottom_marginstring––
display_header_footerboolean–Print browser header/footer region if supported.
layoutstring–Page orientation (portrait or landscape).
left_marginstring––
output_dir––Directory to save the PDF.
output_file_name––File name for the saved PDF.
page_formatstring–Paper size (e.g. A4, Letter, Tabloid per API docs).
passwordstring–Optional password when the target URL requires authentication.
print_backgroundboolean–Include backgrounds in the PDF.
right_marginstring––
scalenumber–Render scale (1.0 = 100%).
top_marginstring––
usernamestring–Optional 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_fitboolean–Auto-fit content to page.
file_pathstringyesLocal path to the Visio file (.vsdx/.vsd/.vsdm).
include_hidden_pagesboolean–Include hidden pages.
is_pdf_compliantboolean–Make PDF compliant with standards.
output_dir–––
output_file_name–––
page_countinteger–Number of pages to convert.
page_indexinteger–Start page index (0-based).
save_foreground_pageboolean–Keep foreground page content.
save_tool_barboolean–Include 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_extensionstring–Output format: jpg, jpeg, bmp, gif, png, tif, tiff, etc. (imageAction.ImageExtension).
output_dir–––
page_numberstring–Page 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_pixelstring–Output 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_levelstring–BASIC, COMFORT, or EXTENDED.
input_formatstring–XML, JSON, or CSV.
invoice_csv_data––Local CSV file path when input_format is CSV (file is base64-encoded).
invoice_json_data––Local JSON file path when input_format is JSON (file is base64-encoded).
invoice_xml_data––Local XML file path when input_format is XML (file is base64-encoded).
language––Optional localization language code (e.g. de, en, fr).
output_dirstring–Directory to save the output file (required).
output_file_namestring–Output file name (required).
output_modestring–XmlWithPdf (PDF with embedded XML) or XmlOnly.
render_invoice_on_pdfboolean–Applies to XmlWithPdf output mode.
source_pdf_path––Local source PDF path for XmlWithPdf (used to derive docContent and document.Name).
zugferd_versionstring–ZUGFeRD 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.

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
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 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 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 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the PDF4me MCP server under?

PDF4me declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.