MCP servercom.kdandoc.mcp/kdan-pdf-mcp
Upload, edit, compress, protect, redact, and compare PDFs with KDAN PDF in Claude and ChatGPT.
Overview
Score?
UNRATED 0.746
of what a free look can see, on 33 looks
Looks
36
last 5 hr ago
Tools
16
More info
URL
mcp.kdandoc.com/mcp
streamable-http
Says it is
pdf-mcp-server 3.2.4
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.746 · highest on record 0.8561
Toolsfrom sha256:9428984e8a…64f789
| Tool | Schema |
|---|---|
| batch_upload_pdf Upload multiple PDF files from ChatGPT file attachments.
Use this when the user provides multiple file attachments in ChatGPT.
Downloads each PDF from its signed URL and stores it |
input · output |
| 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 |
input · output |
| check_upload_status Check existing uploads and determine which files still need uploading.
Call this BEFORE upload_pdf or create_upload_page to avoid duplicate uploads.
Also call it after the user up |
input · output |
| 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 — |
input · output |
| 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 exi |
input · output |
| create_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.
This is the standard upload method for MC |
input · output |
| 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 |
input · output |
| get_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 it the comparison
payload. Prefer compar |
input · output |
| 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 every page. Use for text-based identification |
input · output |
| get_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 containing a logo, a photograph, a watermark, |
input · output |
| get_pdf_status Return current status of a PDF viewer job. Used internally by the viewer widget. |
input · output |
| list_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_text_range.
The returned 'text' field for |
input · output |
| 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:
Ca |
input · output |
| 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 jo |
input · output |
| upload_pdf Upload a PDF from a ChatGPT file attachment.
MANDATORY WORKFLOW — follow EVERY step in order:
1. ALWAYS call check_upload_status FIRST — even if you think the file is new.
2. If a |
input · output |
| view_pdf Display an already-uploaded PDF in an interactive viewer widget.
Call this after delete_pdf_page, set_password, change_password, redact_pii, and
redact_by_text_range to show the u |
input · output |
Verify it yourself
npx teppi-check https://mcp.kdandoc.com/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ278AJN35HSK1W4Q77DHF