Categories › Data & Databases › Files, spreadsheets, CSV & PDFs
Upload, edit, compress, protect, redact, and compare PDFs with KDAN PDF in Claude and ChatGPT.
Remote server: your requests and data go to mcp.kdandoc.com. Claude Code: claude mcp add --transport http kdan-pdf https://mcp.kdandoc.com/mcp · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
compare_pdfs — MANDATORY for all document comparison requests. Compare two PDFs side-by-side. When the user asks to compare, diff, or find differences betwget_latest_comparison — Re-run the most recent PDF comparison for a session. For widget recovery only. The comparison widget calls this when the host did not hand icompress_pdf — Compress a PDF to reduce its file size and return a new versioned file. MANDATORY: Before calling this tool, call 'check_upload_status' withdelete_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 thset_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 comchange_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 clist_redactable_line_text — Return per-page, per-line text for identifying redaction targets. Read-only: does not modify job state. ALWAYS call this before redact_by_teredact_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 tooupload_pdf — Upload a PDF from a ChatGPT file attachment. MANDATORY WORKFLOW — follow EVERY step in order: 1. ALWAYS call check_upload_status FIRST — evebatch_upload_pdf — Upload multiple PDF files from ChatGPT file attachments. Use this when the user provides multiple file attachments in ChatGPT. Downloads eaccreate_upload_page — Display an interactive PDF upload widget directly in the chat. Use this when the user wants to upload a local PDF file from their device. Thcheck_upload_status — Check existing uploads and determine which files still need uploading. Call this BEFORE upload_pdf or create_upload_page to avoid duplicate view_pdf — Display an already-uploaded PDF in an interactive viewer widget. Call this after delete_pdf_page, set_password, change_password, redact_pii,get_pdf_status — Return current status of a PDF viewer job. Used internally by the viewer widget.get_pdf_info — Use this when you need to read the text content of each page to decide which pages to delete. Returns page count and a text preview of everyget_pdf_page_images — Use this when you need to visually inspect PDF pages to identify content that cannot be detected from text alone — for example, pages contaiNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.