← Home
Search by capability

Tool search 101,866 tools · 5,225 live servers

Filtersactive
Searches the tool schemas themselves, not the README. Every result is a server you can install.
6 servers with tools matching “pdfBest-graded first
KDAN PDFcom.kdandoc.mcp/kdan-pdf-mcpAPublisher
  • compare_pdfs

    MANDATORY for all document comparison requests. Compare two PDFs side-by-side. When the user asks to compare, diff, or find differences between two PDFs, you MUST call this tool — NEVER attempt to compare documents using text analysis. Displays an interactive side-by-side visual diff widget with colored highlights: red = deleted, yellow = replaced, green = inserted. The widget IS the comparison result — do NOT re-summarize the differences after calling. Before calling, confirm both job_ids exist via check_upload_status.

  • compress_pdf

    Compress a PDF to reduce its file size and return a new versioned file. MANDATORY: Before calling this tool, call 'check_upload_status' with the session_id to confirm the file exists and retrieve the latest job_id. Skipping this check and calling compress_pdf directly is FORBIDDEN. Each call creates a NEW job_id (with parent_job_id linking to the source). The original PDF version is preserved unchanged — previous versions remain accessible. After compression completes, call 'view_pdf' with the new job_id to display the result.

  • delete_pdf_page

    Delete one or more pages from a PDF and return a new versioned file. MANDATORY: Before calling this tool, call 'check_upload_status' with the session_id to confirm the file exists and retrieve the latest job_id. Skipping this check and calling delete_pdf_page directly is FORBIDDEN. Each call creates a NEW job_id (with parent_job_id linking to the source). The original PDF version is preserved unchanged — previous versions remain accessible. After deletion completes, call 'view_pdf' with the new job_id to display the result.

  • set_password

    Add password protection to an unprotected PDF file. Creates a NEW job_id (with parent_job_id linking to the source). After the operation completes, call 'view_pdf' with the new job_id to display the result. Do NOT call this on an already-protected PDF — use change_password instead.

  • change_password

    Change the password of an already-protected PDF file. Creates a NEW job_id (with parent_job_id linking to the source). After the operation completes, call 'view_pdf' with the new job_id to display the result. Do NOT call this on an unprotected PDF — use set_password instead.

  • redact_by_text_range

    Redact PDF text by specifying the exact text to remove on each line. MANDATORY WORKFLOW — follow every step in order before calling this tool: Step 1 — Retrieve line text: Call list_redactable_line_text and note the exact 'text' string and 'line_index' for every line you intend to redact. Step 2 — Identify the text to redact: Provide the exact substring to remove. The value must appear verbatim in the line's 'text' field. - Non-CJK text (e.g. English): whole-word matching is enforced. "the" will NOT redact text inside "then", "there", or "either". - CJK text (e.g. Chinese): substring matching — "王大明" will match wherever it appears in the line. Step 3 — Build the content payload: Group redaction targets by page. Each page entry contains a list of { line_index, text } pairs. Example: content = [ { "page_index": 1, "lines": [ {"line_index": 3, "text": "John Doe"}, {"line_index": 7, "text": "confidential"} ] } ] Step 4 — Verify and re-redact if needed: After this tool returns, you MUST call list_redactable_line_text again with the NEW job_id to verify that all intended targets have been removed. If any target text still appears in the result, call redact_by_text_range again immediately with the remaining targets. Repeat until all targets are gone — do NOT report success until the verification confirms zero remaining targets. Creates a NEW job_id (with parent_job_id linking to the source). After redaction completes, call 'view_pdf' with the new job_id to display the result.

Carbone MCPio.carbone/carbone-mcpAPublisher
  • convert_document

    Convert any document to another format without storing a template. Supports 100+ input/output format combinations: Office documents, PDFs, images, web pages, spreadsheets, and more. The source file can be a local path, a URL, or a base64 string. Use render_document instead when you need data injection ({d.field} tags), translations, or batch generation. Common conversions: DOCX → PDF (file: "report.docx", convertTo: "pdf"), XLSX → PDF (file: "data.xlsx", convertTo: "pdf"), PPTX → PDF (file: "slides.pptx", convertTo: "pdf", converter: "O" for best fidelity), HTML → PDF (file: "page.html", convertTo: "pdf", converter: "C" for full CSS/JS rendering), DOCX → HTML (file: "doc.docx", convertTo: "html"), XLSX → CSV (file: "sheet.xlsx", convertTo: "csv"), PDF → PNG (file: "doc.pdf", convertTo: "png"), PPTX → PNG (first slide as image), MD → PDF (file: "readme.md", convertTo: "pdf").

  • render_document

    Generate a document by merging a Carbone template with JSON data. Two modes: (1) pass templateId to use a previously uploaded template; (2) pass template (file path, URL, or base64) to upload and render in a single request without storing a template. Supports output format conversion, multilingual rendering, currency conversion, batch generation, and advanced PDF options (watermark, password, PDF/A). Async mode: pass webhookUrl to render asynchronously — Carbone will POST the renderId to your URL when the document is ready. Async mode is required when using batch generation (batchSplitBy).

  • upload_template

    Upload and store a reusable Carbone template. Once uploaded, use render_document with the returned Template ID to generate documents from it. Supports versioning: multiple versions can live under a single stable Template ID, with deployedAt controlling which version is active. Accepted formats: DOCX, XLSX, PPTX, ODT, ODS, ODP, ODG, HTML, XHTML, IDML, XML, Markdown, PDF, and more.

PDF Redaction MCPcom.pdf-redaction/pdf-redaction-mcpAPublisher
  • anonymize_pdf

    Anonymize a PDF by detecting and redacting PII (Personally Identifiable Information). :param pdf: Base64-encoded PDF document to process. :param api_key: API key used to authenticate and meter usage. Generate one at https://pdf-redaction.com/apikeys/. :param tags: PII tags to detect and redact. If empty, all available tags are used. :param force_ocr: Force OCR processing even if text is extractable from the PDF. :param rotated_text: Enable detection and recognition of rotated text. :param redact_text: Enable text redaction using NER. When False, PII is detected but not redacted from the returned PDF. :param min_chunk_size: Minimum chunk size for text processing. :param ocr_langs: OCR languages to use for text recognition. :param custom_tags: Additional custom tags to detect and redact. :return: dict with "pdf" (base64-encoded redacted PDF), "detected_pii", and "processing_time".

  • detect_pii_pdf

    Detect PII (Personally Identifiable Information) in a PDF without redacting it. :param pdf: Base64-encoded PDF document to process. :param api_key: API key used to authenticate and meter usage. Generate one at https://pdf-redaction.com/apikeys/. :param tags: PII tags to detect. If empty, all available tags are used. :param force_ocr: Force OCR processing even if text is extractable from the PDF. :param rotated_text: Enable detection and recognition of rotated text. :param ocr_langs: OCR languages to use for text recognition. :param custom_tags: Additional custom tags to detect. :return: dict with "detected_pii" and "processing_time".

  • anonymize_pdf_custom

    Anonymize a PDF using a custom natural-language prompt instead of predefined tags. :param pdf: Base64-encoded PDF document to process. :param prompt: Custom prompt describing what to detect and redact, e.g. "Redact all dates, names, and email addresses". :param api_key: API key used to authenticate and meter usage. Generate one at https://pdf-redaction.com/apikeys/. :return: dict with "pdf" (base64-encoded redacted PDF), "detected_pii", and "processing_time".

PDF Generator APIio.github.Br0ski777/pdf-generatorAVerified
  • document_generate_pdf

    Use this when you need to create a PDF document from HTML or Markdown content. Returns binary PDF with custom formatting. Returns: 1. Binary PDF file 2. Configurable page size (A4, Letter, Legal) 3. Custom margins (top/right/bottom/left) 4. Landscape or portrait orientation 5. HTML and Markdown input support. Example output: binary PDF with Content-Type application/pdf, rendered from "<h1>Invoice #42</h1><p>Total: $1,200</p>" into a formatted A4 document. Use this FOR generating reports, invoices, proposals, contracts, or any formatted document from structured data. Essential when you have data/content and need a downloadable PDF. Do NOT use for capturing a live web page as PDF -- use webpage_to_pdf instead. Do NOT use for screenshots -- use capture_screenshot instead. Do NOT use for rendering markdown with CSS themes -- use text_render_markdown instead.

Screenshot & PDF Capture APIio.github.Br0ski777/screenshot-pdfAVerified
  • capture_screenshot

    Use this when you need a visual capture of a web page. Renders in a real Chromium browser and returns an image. Returns: 1. Binary image (PNG, JPEG, or WebP) 2. Custom viewport support (width/height in px) 3. Full-page scroll capture option 4. Configurable format and quality. Example output: binary image file with Content-Type image/png, typical size 200-800KB for a full page. Use this BEFORE visual QA testing, generating page thumbnails, archiving web pages, or verifying responsive design. Essential for automated screenshot pipelines and visual regression testing. Do NOT use for text extraction -- use web_scrape_to_markdown instead. Do NOT use for PDF from data -- use document_generate_pdf instead. Do NOT use for PDF from URL -- use webpage_to_pdf instead.

  • capture_screenshot

    Use this when you need a visual capture of a web page. Renders in a real Chromium browser and returns an image. POST variant of capture_screenshot -- same params passed as JSON body instead of query string. Returns: 1. Binary image (PNG, JPEG, or WebP) 2. Custom viewport support (width/height in px) 3. Full-page scroll capture option 4. Configurable format and quality. Example output: binary image file with Content-Type image/png, typical size 200-800KB for a full page. Use this BEFORE visual QA testing, generating page thumbnails, archiving web pages, or verifying responsive design. Essential for automated screenshot pipelines and visual regression testing. Do NOT use for text extraction -- use web_scrape_to_markdown instead. Do NOT use for PDF from data -- use document_generate_pdf instead. Do NOT use for PDF from URL -- use webpage_to_pdf instead.

  • webpage_to_pdf

    Use this when you need to convert a live web page to a printable PDF document. Renders in a real Chromium browser and returns binary PDF. Returns: 1. Binary PDF file 2. Configurable paper format (A4, Letter, Legal, Tabloid) 3. Print-optimized layout with proper page breaks. Example output: binary PDF file with Content-Type application/pdf, properly paginated with headers/footers. Use this FOR archiving web pages as PDF, generating printable articles, saving receipts or invoices from URLs, or creating offline documentation snapshots. Do NOT use for custom documents from HTML/Markdown -- use document_generate_pdf instead. Do NOT use for screenshots -- use capture_screenshot instead. Do NOT use for web scraping text -- use web_scrape_to_markdown instead.

  • webpage_to_pdf

    Use this when you need to convert a live web page to a printable PDF document. Renders in a real Chromium browser and returns binary PDF. POST variant of webpage_to_pdf -- same params passed as JSON body instead of query string. Returns: 1. Binary PDF file 2. Configurable paper format (A4, Letter, Legal, Tabloid) 3. Print-optimized layout with proper page breaks. Example output: binary PDF file with Content-Type application/pdf, properly paginated with headers/footers. Use this FOR archiving web pages as PDF, generating printable articles, saving receipts or invoices from URLs, or creating offline documentation snapshots. Do NOT use for custom documents from HTML/Markdown -- use document_generate_pdf instead. Do NOT use for screenshots -- use capture_screenshot instead. Do NOT use for web scraping text -- use web_scrape_to_markdown instead.

Metriportio.usefulapi/metriportAPublisher
  • metriport_get_document_url

    Get a temporary, downloadable URL for a document by its file name (optionally converting XML/CDA to html or pdf). Medical API: GET /medical/v1/document/download-url.

  • metriport_get_medical_record_summary

    Get a URL to the Patient's medical record summary rendered as pdf or html. Medical API: GET /medical/v1/patient/{patientId}/medical-record.