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.

io.github.AryanBV/pdf-toolkit-mcp

NPM · @ARYANBV/PDF-TOOLKIT-MCP · SCANNED AUG 6

Write-capable PDF toolkit MCP: 22 tools to read, create, render, encrypt, merge & fill PDFs.

+43 this week 67 Trust /100
Trust breakdown (6 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 →

Supply Chain Security89
  • No malware found by supply-chain analysis.Pass
  • Known CVEs were checked across the 243 of 247 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 243 of 247 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3068 tokens (~133/item across 23 items; 22 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 Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @aryanbv/pdf-toolkit-mcp

# add to Claude Code
claude mcp add aryanbv-pdf-toolkit-mcp -- npx -y @aryanbv/pdf-toolkit-mcp
# add to Codex CLI
codex mcp add aryanbv-pdf-toolkit-mcp -- npx -y @aryanbv/pdf-toolkit-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "aryanbv-pdf-toolkit-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@aryanbv/pdf-toolkit-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add aryanbv-pdf-toolkit-mcp --command npx --arg -y --arg @aryanbv/pdf-toolkit-mcp
# ~/.hermes/config.yaml
mcp_servers:
  aryanbv-pdf-toolkit-mcp:
    command: "npx"
    args: ["-y", "@aryanbv/pdf-toolkit-mcp"]
// mcp.json
{
  "mcpServers": {
    "aryanbv-pdf-toolkit-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@aryanbv/pdf-toolkit-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.

  • 6 Aug 26 +32
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Schema quality: unverified → 100 functional
    • MCP protocol: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Schema quality: fail functional
  • 2 Aug 26 +15
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Stability: Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare. security
    • Security disclosure: fail → unverified functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess. functional
    • Capabilities: Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake. functional
    • Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess. functional
    • Licence: MIT functional
  • 1 Aug 26 +15
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
  • 31 Jul 26 −19
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −3
    • Security disclosure: unverified → fail functional
    • Dependency health: partial → unverified functional
    • Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess. functional
    • Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess. functional
  • 28 Jul 26 +2
    • Security disclosure: fail → unverified functional
  • 27 Jul 26 25

    First indexed and scored.

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 6 Aug 2026 · Analysed npm/@aryanbv/[email protected]

Provenance No attestation

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

Result No attestation
Ecosystem npm
Dependencies 243 packages
Packages resolved 243
Deprecated 204
Stale 88
No linked repository 2
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 22 exposed · ~3,047 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.

Tool Tokens
pdf_add_page_numbers ~130

Add page numbers to a PDF. Supports configurable position, format, starting number, and font size.

NameTypeReqDescription
filePathstringyesAbsolute path to the source PDF file
fontSizenumberFont size for page numbers (6–24). Defaults to 10.
formatstringNumber format. Defaults to "Page X of Y".
outputPathstringyesAbsolute path for the output PDF
positionstringPosition of page numbers. Defaults to bottom-center.
startFromintegerStarting page number. Defaults to 1.

No output schema declared.

No examples provided.

pdf_add_watermark ~201

Add a text watermark to PDF pages. Watermark is centered and rotated diagonally by default. Applies to all pages if no page range is specified.

NameTypeReqDescription
colorstringWatermark color. Defaults to gray.
filePathstringyesAbsolute path to the source PDF file
fontSizenumberWatermark font size (10–200). Defaults to 50.
opacitynumberWatermark opacity (0.0–1.0). Defaults to 0.3.
outputPathstringyesAbsolute path for the watermarked output PDF
pagesstringPage range, e.g. '1-5' or '1,3,5'. Omit to watermark all pages.
rotationnumberWatermark rotation in degrees (0–360). Defaults to 45 (diagonal).
textstringyesWatermark text to overlay on pages

No output schema declared.

No examples provided.

pdf_compare ~167

Compare two PDFs page by page (by absolute page index) and report text differences. Returns identical:true when text matches. Diffs content-stream-order text (not visual reading order), so it is best for same-layout documents; reflowed or multi-column PDFs produce noisy diffs. Inserting/deleting a page shifts all later pages and reports them as changed. Large diffs are trimmed (truncated:true) to fit the response limit.

NameTypeReqDescription
filePathAstringyesAbsolute path to the first (baseline) PDF file
filePathBstringyesAbsolute path to the second (comparison) PDF file
pagesstringPage range to compare, e.g. '1-5' or '1,3,5'. Defaults to all pages.

No output schema declared.

No examples provided.

pdf_create ~203

Create a new PDF from text content with automatic line wrapping and page overflow. Supports A4, Letter, and Legal page sizes. Provide fontPath for non-Latin text (Arabic, CJK, etc.).

NameTypeReqDescription
authorstringPDF document author metadata
contentstringyesText content for the PDF. Use \n for line breaks.
fontPathstringAbsolute path to a .ttf/.otf font file for non-Latin character support (Arabic, CJK, etc.). The built-in font is Latin-only.
fontSizenumberFont size in points (6–72). Defaults to 12.
marginnumberPage margin in points (0–500). Defaults to 50.
outputPathstringyesAbsolute path for the output PDF file
pageSizestringPage size. Defaults to A4.
titlestringPDF document title metadata

No output schema declared.

No examples provided.

pdf_create_from_markdown ~120

Create a rich, high-fidelity PDF from Markdown (CommonMark + GFM). Supports headings, bold/italic, links, ordered/bullet lists, tables, fenced code blocks, blockquotes, and horizontal rules.

NameTypeReqDescription
authorstringPDF document author metadata
markdownstringyesMarkdown content to render as PDF
outputPathstringyesAbsolute path for the output PDF file
pageSizestringPage size. Defaults to A4.
titlestringPDF document title metadata

No output schema declared.

No examples provided.

pdf_create_from_template ~170

Create a polished PDF from a named template (invoice, report, or letter). Pass structured data matching the template's fields; data is validated against the template's schema.

NameTypeReqDescription
dataobjectyesTemplate data. Invoice: companyName, clientName, invoiceNumber, invoiceDate, items[{description, quantity, unitPrice}], taxRate, currency (ISO code or symbol, default USD), dueDate, notes, paymentTer…
outputPathstringyesAbsolute path for the output PDF file
templateNamestringyesTemplate to use: invoice, report, or letter

No output schema declared.

No examples provided.

pdf_delete_pages ~131

Delete specific pages from a PDF, keeping the rest in their original order. AcroForm fields on the remaining pages are preserved. Set flatten:true to bake field values into static content. Cannot delete every page.

NameTypeReqDescription
filePathstringyesAbsolute path to the source PDF file
flattenbooleanFlatten the resulting form: bake field values into static content and remove interactivity. Defaults to false.
outputPathstringyesAbsolute path for the output PDF
pagesstringyesPage range to DELETE, e.g. '2' or '1-3,5'

No output schema declared.

No examples provided.

pdf_embed_image ~184

Embed a PNG or JPEG image into a specific page of a PDF. Supports custom positioning and optional scaling with aspect ratio preservation.

NameTypeReqDescription
filePathstringyesAbsolute path to the source PDF file
heightnumberImage height in points. Omit to use original height (or scale proportionally if width is set).
imagePathstringyesAbsolute path to the PNG or JPEG image file
outputPathstringyesAbsolute path for the output PDF
pageintegeryesTarget page number (1-indexed)
widthnumberImage width in points. Omit to use original width (or scale proportionally if height is set).
xnumberyesX position in points from the left edge of the page
ynumberyesY position in points from the bottom edge of the page

No output schema declared.

No examples provided.

pdf_embed_qr_code ~176

Embed a QR code or barcode into a specific page of a PDF at given coordinates. Supports qrcode, code128, datamatrix, ean13, pdf417, and azteccode.

NameTypeReqDescription
contentstringyesData to encode in the QR code or barcode
filePathstringyesAbsolute path to the source PDF file
outputPathstringyesAbsolute path for the output PDF
pageintegeryesTarget page number (1-indexed)
sizenumberSize of the QR code/barcode in points. Defaults to 100.
typestringBarcode type. Defaults to qrcode.
xnumberyesX position in points from the left edge
ynumberyesY position in points from the bottom edge

No output schema declared.

No examples provided.

pdf_encrypt ~100

Encrypt a PDF with AES-256 password protection. Requires a user password to open. Owner password controls editing permissions (defaults to the user password).

NameTypeReqDescription
filePathstringyesAbsolute path to the source PDF file
outputPathstringyesAbsolute path for the encrypted output PDF
ownerPasswordstringPassword for editing permissions. Defaults to userPassword if omitted.
userPasswordstringyesPassword required to open the PDF

No output schema declared.

No examples provided.

pdf_extract_text ~88

Extract text content from a PDF file. Returns first 10 pages by default to avoid exceeding LLM context limits. Use the 'pages' parameter for specific pages.

NameTypeReqDescription
filePathstringyesAbsolute path to the PDF file
pagesstringPage range, e.g. '1-5' or '1,3,5'. Defaults to first 10 pages.

No output schema declared.

No examples provided.

pdf_fill_form ~158

Fill form fields in a PDF. Supports text, checkbox, dropdown, radio, and list-box (multi-select) fields. Provide fontPath for non-Latin text (Arabic, CJK, etc.).

NameTypeReqDescription
fieldsobjectyesObject mapping field names to values. Strings for text/dropdown/radio, booleans for checkboxes.
filePathstringyesAbsolute path to the PDF file with form fields
flattenbooleanFlatten form fields after filling (makes them non-editable). Defaults to false.
fontPathstringAbsolute path to a .ttf/.otf font file for non-Latin character support.
outputPathstringyesAbsolute path for the filled output PDF

No output schema declared.

No examples provided.

pdf_flatten ~66

Flatten a PDF's form fields, baking their current values into the page content and removing interactivity. Form-less PDFs are copied unchanged.

NameTypeReqDescription
filePathstringyesAbsolute path to the source PDF file
outputPathstringyesAbsolute path for the flattened output PDF

No output schema declared.

No examples provided.

pdf_get_form_fields ~54

List all form fields in a PDF with their names, types, current values, and required status. Returns hasForm: false for PDFs without forms.

NameTypeReqDescription
filePathstringyesAbsolute path to the PDF file

No output schema declared.

No examples provided.

pdf_get_metadata ~48

Get metadata from a PDF file including title, author, subject, page count, creation/modification dates, and producer information.

NameTypeReqDescription
filePathstringyesAbsolute path to the PDF file

No output schema declared.

No examples provided.

pdf_merge ~110

Merge multiple PDF files into one. AcroForm fields are preserved; fields whose names collide across inputs are auto-renamed (namespaced by source). Set flatten:true to bake field values into static content.

NameTypeReqDescription
filePathsarrayyesArray of absolute paths to PDF files to merge, in order
flattenbooleanFlatten the merged form: bake field values into static content and remove interactivity. Defaults to false.
outputPathstringyesAbsolute path for the merged output PDF

No output schema declared.

No examples provided.

pdf_render_pages ~225

Render PDF pages to images so a vision-capable client can read scanned or image-only PDFs. Writes PNG/JPEG files and returns their paths; set inline:true to return image blocks the model can see directly.

NameTypeReqDescription
dpiintegerRender resolution in DPI (36–300). Defaults to 150.
filePathstringyesAbsolute path to the source PDF file
formatstringOutput image format. Defaults to png.
inlinebooleanReturn rendered pages as inline image blocks the model can see directly instead of writing files. Max 5 pages; DPI is auto-capped so neither dimension exceeds 1500px. Defaults to false.
outputDirstringDirectory for the output images: an absolute path is recommended; a relative path resolves against the server working directory. The directory must already exist. Defaults to the input PDF's director…
pagesstringPage range to render, e.g. '1-5,8'. Defaults to the first 50 pages.

No output schema declared.

No examples provided.

pdf_reorder_pages ~168

Reorder pages in a PDF. Specify the new page order as a comma-separated string (e.g. '3,1,2'). Duplicates are allowed. AcroForm fields are preserved. Set flatten:true to bake field values into static content.

NameTypeReqDescription
filePathstringyesAbsolute path to the source PDF file
flattenbooleanFlatten the reordered form: bake field values into static content and remove interactivity. Defaults to false.
outputPathstringyesAbsolute path for the reordered output PDF
pageOrderstringyesNew page order as comma-separated 1-indexed numbers, e.g. '3,1,2,4' or '1,1,2' (duplicates allowed; up to 2000 pages)

No output schema declared.

No examples provided.

pdf_rotate_pages ~130

Rotate pages in a PDF by 90, 180, or 270 degrees. Rotation is additive to any existing rotation. Rotates all pages if no page range is specified.

NameTypeReqDescription
degreesnumberyesRotation angle: 90, 180, or 270 degrees clockwise
filePathstringyesAbsolute path to the source PDF file
outputPathstringyesAbsolute path for the rotated output PDF
pagesstringPage range to rotate, e.g. '1-5' or '1,3,5'. Omit to rotate all pages.

No output schema declared.

No examples provided.

pdf_search ~117

Search text across a PDF and return matches with a short surrounding snippet and the page number. The query is matched as a literal substring (case-insensitive by default). Searches all pages unless a range is given.

NameTypeReqDescription
caseSensitivebooleanMatch case exactly. Defaults to false.
filePathstringyesAbsolute path to the PDF file
pagesstringPage range, e.g. '1-5'. Defaults to all pages.
querystringyesLiteral text to find (matched as a substring)

No output schema declared.

No examples provided.

pdf_split ~130

Extract specific pages from a PDF into a new file. AcroForm fields on the extracted pages are preserved; fields on omitted pages are dropped. Set flatten:true to bake field values into static content.

NameTypeReqDescription
filePathstringyesAbsolute path to the source PDF file
flattenbooleanFlatten the extracted form: bake field values into static content and remove interactivity. Defaults to false.
outputPathstringyesAbsolute path for the output PDF
pagesstringyesPage range to extract, e.g. '1-5' or '1,3,5'

No output schema declared.

No examples provided.

pdf_to_markdown ~171

Convert a PDF to clean, reading-order Markdown for LLM consumption: reconstructs up to 2 content columns (plus full-width title/footer bands), infers headings from font size, and detects bullet/numbered lists. Pages with 3 or more columns fall back to single-column reading order. Tables are emitted as plain reading-order text, NOT reconstructed as Markdown tables. Best on clean, digital (text-based) PDFs; degrades on scanned/image-only PDFs (use pdf_render_pages for those) and very complex layouts. Returns the first 10 pages by default.

NameTypeReqDescription
filePathstringyesAbsolute path to the PDF file
pagesstringPage range, e.g. '1-5' or '1,3,5'. Defaults to first 10 pages.

No output schema declared.

No examples provided.