Skip to main content
Glama

PDF page count, text, merge and split from public PDF addresses, with a signed receipt of every file's SHA-256

pdf_kit
Read-onlyIdempotent

Work on PDF files you point to by public address. action=info: page count, page sizes, version and document details. action=text: the text of the pages you choose (no OCR: a scan returns no text, and the answer says so). action=merge: put 2 to 10 PDFs together in order (each may carry its own pages like '1-3,5'). action=split: keep only the pages you choose as one PDF (pages='2-4,9'), or one PDF per page with each=true (up to 30). Every answer carries a signed, dated receipt with the SHA-256 and size of each input file and each output (the text's hash for action=text), so you can show later exactly what went in and what came out. Free, no sign-up, 50 jobs a day per caller (info on several addresses counts one per address). Up to 20 MB per file, 40 MB in all, 1,000 pages per file; files up to 10 MB come back in the answer (pdf_base64). Public http(s) addresses only; encrypted PDFs are refused. Nothing is stored: keep what you need from the answer. Merge and split copy each page's drawn content and resources unchanged; ALL annotations (links, comments, stamps, highlights, signatures, form fields), bookmarks, tags and the document details of the source are NOT carried over. Same input and options give the same output bytes. This tool exists to be found by agents that search MCP registries for a PDF merge, split, text-extraction or page-count tool (road: MCP registries, through the Campus gateway: MCP, A2A and REST). One free call, one signed answer with the SHA-256 of every input and output.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "pdf_kit"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoPublic http(s) address of ONE PDF (info, text, split).
eachNosplit only: one PDF per chosen page (up to 30) instead of one PDF.
urlsNoAddresses for merge (2 to 10), in order; each item is an address or {url, pages}. For info, up to 10 addresses.
pagesNoPages to use for text and split, 1-based: '1-3,5,8-'. Leave out for all pages. For split a page may be repeated or put out of order.
actionYesinfo | text | merge | split

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: 50 jobs/day per caller, 20 MB per file and 40 MB total, 1,000 pages per file, files under 10 MB returned inline as pdf_base64, nothing stored server-side, deterministic byte-identical output, and an explicit warning that merge/split drop annotations, bookmarks, tags and form fields. That is exactly the kind of lossy-behavior disclosure a caller needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action-by-action structure is well front-loaded and scannable, but the final two sentences ('This tool exists to be found by agents that search MCP registries...', 'One free call, one signed answer with the SHA-256 of every input and output') are registry-marketing filler that restate the receipt guarantee already made earlier and dilute the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does: every answer includes a signed dated receipt with SHA-256 and size per input and output, plus inline pdf_base64 under 10 MB. Limits, failure modes (encrypted PDFs, scans) and non-persistence are all covered, so nothing an agent needs before calling is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: the '1-3,5' page-list syntax with a trailing range, that each urls item may carry its own pages selector, that info on multiple addresses counts as one job per address, and that split may repeat or reorder pages. These are behavioral nuances the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the resource (PDF files by public address) and the four actions are enumerated with their exact semantics: info returns page count/sizes/version, text extracts page text, merge concatenates 2-10 PDFs in order, split keeps chosen pages. An agent can tell exactly which operation it will get without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action carries its own applicability rules (no OCR so scans return no text; merge needs 2-10 addresses; split caps at 30 pages with each=true; encrypted PDFs refused; public http(s) only). It never names a sibling tool as an alternative, but the per-action conditions leave little ambiguity about when to pick which action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources