Skip to main content
Glama

Merge PDFs

pdf_merge
Read-onlyIdempotent

Merge multiple PDFs into one file in a specified order, optionally extracting selected pages from each source before combining.

Instructions

Combine several PDFs into one, in the order given. Each entry can be a file (path or base64) or {file, pages} to take only some pages ("1-3, 5, 8-"; "3-1" keeps reverse order; a page can repeat). Password-protected PDFs must be unlocked first. Web version: https://s3eidat.github.io/pdf-merge/

Input Schema

NameRequiredDescriptionDefault
filesYesPDFs to merge, in order: a path/base64 string, or {file, pages}.
outputNoWhere to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set).
returnBase64NoAlso return the output as base64 in the result (only for small files). Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false), and the description still adds non-obvious behavior: input-order semantics, per-file page slicing including reversed ranges, and the unlock-first prerequisite for encrypted inputs. It stops short of saying what happens on failure or how the output is surfaced, so it is not a 5. Note a mild tension: the tool produces an output artifact while readOnlyHint=true, though the description itself makes no claim of mutating existing resources.

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

Conciseness4/5

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

The core action and ordering constraint are front-loaded in the first clause, followed by the two details an agent actually needs (page selection, encryption prerequisite). The trailing web-version URL is the one element that does not help an agent invoke the tool.

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

Completeness4/5

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

For a 3-parameter, non-destructive merge with a fully documented schema and no output schema, the description covers the important unknowns: ordering, page subsetting, and encrypted-input handling. It leaves the shape/return of the result (path vs. base64) to the schema, which is acceptable but slightly thin given returnBase64 exists.

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 the baseline is 3, but the description contributes edge-case semantics the schema only partially conveys — that a page can repeat and that pages may be omitted per file via the {file, pages} form. It duplicates the reverse-range notation already present in the schema, so the added value is modest rather than large.

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

Purpose4/5

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

States a specific verb and resource ('Combine several PDFs into one') plus an ordering guarantee, so an agent can tell exactly what the operation produces. It does not differentiate from siblings that also manipulate PDF pages (pdf_extract_pages, pdf_organize, pdf_split), which keeps it below a 5.

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

Usage Guidelines3/5

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

Usage is implied by the task (multi-input assembly in a given order) and one real prerequisite is given: password-protected PDFs must be unlocked first. There is no explicit when-to-use vs. when-not, and no routing to pdf_organize/pdf_extract_pages for the overlapping page-range capability.

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

Deploy Server

Other Tools