Skip to main content
Glama

Merge PDFs

apitemplate_merge_pdfs

WRITE: joins 2-20 PDFs (public http(s) URLs, in the given order, e.g. earlier download_url values) into one PDF and returns the hosted primary_url (never the file bytes). The source files are not changed or deleted. COST: uses 1 generation of your APITemplate.io plan quota per call (see apitemplate_get_account). Do not retry or repeat it unless needed; every call is counted. POST /v2/merge-pdfs (export_type=json).

Input Schema

NameRequiredDescriptionDefault
metaNoYour own reference id for this file; it shows up in apitemplate_list_objects.
urlsYesThe PDF URLs to join, in order.
expirationNoMinutes until the hosted file expires: 0 = keep permanently (default), or 1-43200.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false, destructiveHint=false and idempotentHint=false; the description adds the substantive facts an agent needs: it is a WRITE, source files are untouched, the result is a hosted primary_url rather than bytes, and each call consumes one plan generation (non-idempotent in practice). This is exactly the value-add structured fields cannot convey.

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?

Dense and front-loaded with WRITE/COST labels, so the highest-value facts read first. The cost warning is slightly duplicated ('1 generation per call' followed by 'every call is counted'), which costs a little efficiency but nothing is truly wasted.

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 correctly carries the return contract (hosted primary_url, never bytes), plus side effects, cost, and input constraints. An agent has everything needed to call it correctly and avoid wasteful repeats.

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

Parameters3/5

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

Schema description coverage is 100%, so meta, urls, and expiration are already documented in the schema, and the description largely restates the urls ordering constraint. It does add the useful 'public http(s) URLs' requirement beyond the schema, but says nothing extra about meta or expiration, so the baseline 3 applies.

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?

Specific verb (joins/merges) and resource (2-20 PDFs into one PDF), with the ordering constraint and the endpoint made explicit. An agent can distinguish this from the create_pdf* siblings immediately since those generate documents rather than combine existing ones.

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?

Gives clear context for correct invocation: PDFs must be public http(s) URLs, typically prior download_url values, passed in the required order, and it warns against gratuitous retries because each call bills quota. It does not, however, name an alternative tool or state when a different sibling (e.g., create_pdf_from_url) would be the right choice.

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.