Sponsored by Deepsite.site

Pdf Toolkit Mcp

Created By
AryanBVa month ago
MCP server for PDF manipulation — create PDFs from Markdown with tables and formatting, fill forms, merge, split, encrypt, add QR codes. 16 tools, zero external binaries, TypeScript-native. Install: npx -y @aryanbv/pdf-toolkit-mcp
Overview

PDF Toolkit MCP Server

MCP server for PDF manipulation — create from Markdown, fill forms, merge, split, encrypt, add QR codes. Zero-config, TypeScript-native.

npm version license node tools

Install

npx -y @aryanbv/pdf-toolkit-mcp

No config files, no API keys, no Docker. Works offline.

Create PDFs from Markdown

The standout feature — turn Markdown into professional PDFs:

"Create a PDF from this Markdown with page numbers"

# Quarterly Report

## Revenue

Revenue grew **23% year-over-year**, driven by enterprise expansion.

| Region    | Q1 2025  | Q1 2026  | Growth |
|-----------|----------|----------|--------|
| Americas  | $1.2M    | $1.5M    | +25%   |
| EMEA      | $800K    | $960K    | +20%   |
| APAC      | $400K    | $520K    | +30%   |

## Key Wins

1. Signed 12 new enterprise contracts
2. Reduced churn to 3.1%
3. Launched self-serve tier

This produces a multi-page PDF with formatted headings, styled tables, numbered lists, bold/italic text, and page numbers — all from a single tool call.

Client Setup

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "pdf-toolkit": {
      "command": "npx",
      "args": ["-y", "@aryanbv/pdf-toolkit-mcp"]
    }
  }
}
Claude Code
claude mcp add pdf-toolkit -- npx -y @aryanbv/pdf-toolkit-mcp
Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "pdf-toolkit": {
      "command": "npx",
      "args": ["-y", "@aryanbv/pdf-toolkit-mcp"]
    }
  }
}
VS Code

VS Code uses "servers", NOT "mcpServers". Copying the config from other clients will silently fail. Requires the GitHub Copilot extension with Agent mode enabled.

Add to .vscode/mcp.json:

{
  "servers": {
    "pdf-toolkit": {
      "command": "npx",
      "args": ["-y", "@aryanbv/pdf-toolkit-mcp"]
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "pdf-toolkit": {
      "command": "npx",
      "args": ["-y", "@aryanbv/pdf-toolkit-mcp"]
    }
  }
}

Tools

16 tools organized by category:

CategoryToolDescription
Createpdf_createCreate new PDF from text content
pdf_create_from_markdownCreate rich PDF from Markdown (headings, tables, lists, code blocks)
pdf_create_from_templateCreate PDF from template (invoice, report, letter)
Readpdf_extract_textExtract text from PDF pages (first 10 by default)
pdf_get_metadataGet title, author, page count, creation date
pdf_get_form_fieldsList form fields with names, types, and values
Modifypdf_mergeMerge multiple PDFs into one
pdf_splitExtract page ranges into a new PDF
pdf_rotate_pagesRotate pages by 90, 180, or 270 degrees
pdf_reorder_pagesReorder pages in any order (supports duplication)
Enhancepdf_add_watermarkAdd text watermark to pages
pdf_add_page_numbersAdd page numbers (configurable position and format)
pdf_embed_imageEmbed PNG or JPEG image into a page
Formspdf_fill_formFill form fields (text, checkbox, dropdown, radio)
Securitypdf_encryptPassword-protect with user/owner passwords
pdf_embed_qr_codeEmbed QR code or barcode (Code128, DataMatrix, EAN-13, PDF417, Aztec)

Templates

Generate professional documents from structured data:

"Create an invoice for Acme Corp"

{
  "templateName": "invoice",
  "data": {
    "companyName": "Your Company",
    "clientName": "Acme Corp",
    "invoiceNumber": "INV-001",
    "invoiceDate": "2026-04-01",
    "items": [
      { "description": "Web Development", "quantity": 40, "unitPrice": 150 },
      { "description": "Hosting (Annual)", "quantity": 1, "unitPrice": 299 }
    ],
    "taxRate": 18,
    "paymentTerms": "Net 30"
  },
  "outputPath": "/path/to/invoice.pdf"
}

Available templates: invoice, report, letter.

Encryption

"Encrypt report.pdf with password 'secure123'"

Applies RC4 128-bit encryption. Set separate user (open) and owner (edit) passwords for granular access control.

QR Codes & Barcodes

"Add a QR code linking to our website on page 1"

Supported types: QR Code, Code128, DataMatrix, EAN-13, PDF417, Aztec Code. Position and size are fully configurable.

Usage Examples

Just ask naturally:

  • "Create a PDF from this Markdown report"
  • "Generate an invoice for Client Corp — 10 hours consulting at $150/hr"
  • "Merge january.pdf and february.pdf into q1-combined.pdf"
  • "Extract text from pages 5-10 of thesis.pdf"
  • "Fill the Name field with 'John Doe' in application.pdf"
  • "Add a CONFIDENTIAL watermark to draft.pdf"
  • "Encrypt financials.pdf with password 'budget2026'"
  • "Add page numbers to presentation.pdf"
  • "Embed a QR code with our URL on the cover page"
  • "Reorder pages as 3,1,2 in report.pdf"

Known Limitations

  • Merge/Split/Reorder: Form fields are not preserved. Visual content transfers, but interactive fields are lost.
  • Text extraction: Returns PDF stream order, not visual reading order. Multi-column layouts may interleave.
  • Extract text: Defaults to first 10 pages to avoid exceeding LLM context. Request specific pages for longer documents.
  • Image embedding: Only JPEG and PNG formats are supported.
  • Form filling: Non-Latin characters (Arabic, CJK, Devanagari) require providing a custom font file (.ttf/.otf).
  • Encryption: Uses RC4 128-bit, not AES. Adequate for access control but not modern strong encryption.
  • Markdown fonts: pdfmake uses Roboto only. Custom fonts are not yet supported for Markdown PDFs.

Tech Stack

Dual-engine architecture for maximum capability:

  • pdfmake — Rich document creation (Markdown, templates, tables, headers/footers)
  • @pdfme/pdf-lib — Existing PDF manipulation (merge, split, rotate, watermark, forms, images, QR codes)
  • unpdf — Text extraction and metadata reading

Requirements

  • Node.js >= 18

Development

npm install          # Install dependencies
npm run build        # Compile TypeScript
npm run test         # Run all 51 tests
npm run inspect      # Open MCP Inspector (requires Node >= 22.7.5)

See CLAUDE.md for architecture details and contribution guidelines.

License

MIT

Server Config

{
  "mcpServers": {
    "pdf-toolkit": {
      "command": "npx",
      "args": [
        "-y",
        "@aryanbv/pdf-toolkit-mcp"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Amap Maps高德地图官方 MCP Server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
CursorThe AI Code Editor
ChatWiseThe second fastest AI chatbot™
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
WindsurfThe new purpose-built IDE to harness magic
Serper MCP ServerA Serper MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
DeepChatYour AI Partner on Desktop
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Tavily Mcp
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Playwright McpPlaywright MCP server
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.