# io.github.theluckystrike/pdf (mcpb · pdf.mcpb)

Merge, split, extract, rotate, reorder and stamp PDF pages from your AI chat, all offline.

- Trust score: 48/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- mcpb · `pdf.mcpb`: 48/100 (this document), [markdown](https://verifymcp.io/servers/theluckystrike-pdf/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-pdf-mcpb.md), [page](https://verifymcp.io/servers/theluckystrike-pdf/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-pdf-mcpb)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/pdf.mcpb`
- Version: `0.22.0`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Supply Chain Security**: 23/100
  - Malware scan not yet available for this package.
  - Known CVEs were checked across the 101 of 101 dependencies we could resolve, so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - 34 of 101 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 86/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1546 tokens (~118/item across 13 items; 12 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "pdf_merge" implies "merge" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**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

- Download bundle: `https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/pdf.mcpb`

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-18 (score 48)

First indexed and scored.

## MCP tools (12)

### `pdf_info` (~83 tokens)

Inspect a PDF

Call this tool to inspect a PDF: page count, page sizes in points/mm, paper name, metadata (title, author, producer, dates) and whether it is encrypted. Read-only, never modifies the file. Free tier: unlimited.

Input parameters:

- `path` (string, required): Path to the PDF file. ~ is expanded; a relative path is resolved against the working directory

### `pdf_count` (~65 tokens)

Count pages in several PDFs

Page count per file plus the total, for any number of PDFs, with how many were readable. A file that cannot be read is reported on its own row and the others still count. Read-only. Free and unlimited.

Input parameters:

- `paths` (array, required): Paths to the PDF files

### `pdf_merge` (~119 tokens)

Merge PDFs into one file

Call this tool to join several PDFs into one, in the order given. Page sizes are kept as-is, so a merged file may have mixed sizes, and the answer says so. Inputs are never modified. Free tier: up to 5 files per merge.

Input parameters:

- `out_path` (string, required): Where to write the merged PDF
- `overwrite` (boolean): Replace out_path if a file is already there. Default false: an existing file is never overwritten
- `paths` (array, required): The PDFs to join, in the order they should appear

### `pdf_split` (~219 tokens)

Split a PDF into several files

Call this tool to write one new PDF per range. Ranges are 1-based and may be open-ended: "1-3,5,7-" gives pages 1-3, page 5, and 7 to the end. The input is never modified. Free tier: files up to 30 pages.

Input parameters:

- `out_path_pattern` (string, required): Output path with a placeholder: {n} is the part number (1, 2, 3...), {range} is the range itself (e.g. 1-3), {name} is the input file name without .pdf. Example: ~/out/{name}-{range}.pdf
- `overwrite` (boolean): Replace existing outputs. Default false: nothing is overwritten and nothing is written at all if any target exists
- `path` (string, required): The PDF to split
- `ranges` (string, required): Comma-separated 1-based page ranges, e.g. "1-3,5,7-". An open-ended range runs to the last page

### `pdf_pages` (~138 tokens)

Extract pages into a new PDF

Call this tool to pull selected pages into one new PDF, in the order written: "2,4-6" gives four pages. Asking for a page twice copies it twice. The input is never modified. Free tier: files up to 30 pages.

Input parameters:

- `out_path` (string, required): Where to write the extracted PDF
- `overwrite` (boolean): Replace out_path if it exists. Default false
- `pages` (string, required): 1-based pages and ranges to keep, in output order, e.g. "2,4-6" or "5,1,1"
- `path` (string, required): The source PDF

### `pdf_rotate` (~157 tokens)

Rotate pages

Call this tool to turn pages by a multiple of 90 degrees, clockwise for positive. Rotation is added to whatever the page already had, for a sideways scan. Writes a new file. Free tier: files up to 30 pages.

Input parameters:

- `degrees` (integer, required): 90, 180, 270 or -90. Positive turns clockwise. Added to the page's existing rotation
- `out_path` (string, required): Where to write the rotated PDF
- `overwrite` (boolean): Replace out_path if it exists. Default false
- `pages` (string): Which pages to turn, e.g. "1" or "2,4-6". Omit for every page
- `path` (string, required): The source PDF

### `pdf_stamp` (~273 tokens)

Stamp text on a PDF

Call this tool to draw a word such as PAID or DRAFT across the pages, in a colour and position you choose. Writes a new file; input untouched. Free tier: the PAID and DRAFT presets in their preset colours.

Input parameters:

- `color` (string): Hex code such as #1b7f3b, or a name: red, green, blue, black, gray, orange, purple. Pro
- `font_size` (number): Point size. By default the stamp is sized to fit the page width
- `opacity` (number): 0 to 1. Default 0.35 in the centre, 0.85 in a corner
- `out_path` (string, required): Where to write the stamped PDF
- `overwrite` (boolean): Replace out_path if it exists. Default false
- `pages` (string): Which pages to stamp, e.g. "1" or "2,4-6". Omit for every page
- `path` (string, required): The source PDF
- `position` (string): Where on the page. Default center, which is drawn on the 45-degree diagonal like a real stamp
- `text` (string, required): What to stamp. PAID and DRAFT are presets with their own colour; any other text is Pro

### `pdf_watermark_business` (~115 tokens)

Stamp your business details in the footer

Call this tool to put your business name and VAT id in the footer of every page, from the shared profile mcp-invoice and mcp-docx write. Use it before sending a document out. Pro.

Input parameters:

- `out_path` (string, required): Where to write the footed PDF
- `overwrite` (boolean): Replace out_path if it exists. Default false
- `pages` (string): Which pages, e.g. "1". Omit for every page
- `path` (string, required): The source PDF

### `pdf_reorder` (~129 tokens)

Reorder the pages of a PDF

Call this tool to write a new PDF with pages in the order you give. The order must name every page exactly once, so nothing drops by accident; use pdf_pages for a subset. Pro.

Input parameters:

- `order` (array, required): The 1-based page numbers in their new order, e.g. [3,1,2] for a three-page file. Every page must appear exactly once
- `out_path` (string, required): Where to write the reordered PDF
- `overwrite` (boolean): Replace out_path if it exists. Default false
- `path` (string, required): The source PDF

### `pdf_text` (~95 tokens)

Read the text of a PDF

Call this tool for best-effort text extraction from standard-font PDFs. Returns nothing for a scan (no OCR), or glyph indices for a custom-encoded font, and says which case applies. Read-only. Free tier: unlimited.

Input parameters:

- `pages` (string): Which pages, e.g. "1" or "2,4-6". Omit for every page
- `path` (string, required): The PDF to read

### `license_status` (~54 tokens)

License status

Report this server's licence state: product, tier free or pro, licence id, expiry, the key source and the upgrade URL. No arguments, no network. Explains a free-tier refusal; license_activate installs a key.

### `license_activate` (~71 tokens)

Activate license

Activate a Pro key (MCPL1.xxx.yyy) from checkout: verified offline against a built-in public key, saved to your config file. A wrong, malformed or expired key is refused, unsaved. license_status reads it back.

Input parameters:

- `key` (string, required): License key from the checkout confirmation page

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/theluckystrike-pdf/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-pdf-mcpb#diagnostics

## Score history

- 2026-09-21: 48
- 2026-09-20: 48
- 2026-09-19: 48
- 2026-09-18: 48

## Common questions

### What is the io.github.theluckystrike/pdf MCP server?

io.github.theluckystrike/pdf is an MCP server listed in the public MCP registry as io.github.theluckystrike/pdf. Merge, split, extract, rotate, reorder and stamp PDF pages from your AI chat, all offline. This page covers its MCPB bundle (https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/pdf.mcpb).

### Is the io.github.theluckystrike/pdf MCP server safe to use?

io.github.theluckystrike/pdf scores 48 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.theluckystrike/pdf MCP server expose?

io.github.theluckystrike/pdf exposes 12 tools: pdf_info, pdf_count, pdf_merge, pdf_split, pdf_pages, and 7 more. Their descriptions and schemas cost roughly 1,518 tokens of context every time the server is loaded.

### What licence is the io.github.theluckystrike/pdf MCP server under?

io.github.theluckystrike/pdf declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- Repository: https://github.com/theluckystrike/mcp-servers
- Website: https://mcp.zovo.one/s/pdf
- Changelog RSS feed: https://verifymcp.io/servers/theluckystrike-pdf/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-pdf-mcpb.xml
- Changelog JSON feed: https://verifymcp.io/servers/theluckystrike-pdf/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-pdf-mcpb.json
- HTML version of this page: https://verifymcp.io/servers/theluckystrike-pdf/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-pdf-mcpb
