Skip to main content
Glama

Merge PDFs by URL

craftmypdf_merge_pdfs
Destructive

WRITE: uses the CraftMyPDF account's own quota (credits; a successful generation is a billable transaction, typically 1 credit per document, and every call counts even with identical data). Merge 2-10 existing PDFs, given as public https URLs, into ONE PDF. CraftMyPDF downloads the files from your URLs. Returns a hosted file URL that expires after expiration minutes. POST /merge-pdfs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYes2-10 public https URLs of PDF files, merged in this order.
expirationNoMinutes until the hosted file is deleted from CraftMyPDF's CDN, 1-10080 (default 60; the vendor default is 5).
output_fileNoFile name of the output (default output.pdf).

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?

Adds substantial context beyond the annotations: billing behavior (credits, every call counts even with identical data, consistent with idempotentHint=false), that CraftMyPDF downloads the files server-side, and that the returned hosted URL expires. This goes well past the destructiveHint/readOnlyHint flags and materially affects how an agent should invoke it.

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

Conciseness5/5

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

Front-loads the WRITE/billing warning, then covers input, processing, and output in tight sentences. Every sentence carries information and the endpoint is appended cleanly.

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?

For a tool with no output schema, the description fully specifies the return contract (hosted file URL that expires after `expiration` minutes), the input contract, and the account-credit implications. Nothing an agent needs to call it correctly is missing.

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 urls, expiration, and output_file are already documented, including the 2-10 range, the default, and the naming pattern. The description adds only a marginal note tying output expiry back to `expiration`; no syntax or format detail beyond the schema.

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?

States a specific verb and resource ('Merge 2-10 existing PDFs ... into ONE PDF'), names the input format (public https URLs) and the output (one PDF). It clearly distinguishes itself from the creation siblings like create_pdf and create_pdf_from_templates, which generate new documents rather than combining 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?

The description makes clear the scenario: you must already have existing PDF URLs to merge, ruling out the create_* siblings implicitly. It does not, however, explicitly name an alternative tool or state when-not to use it, so the guidance is contextual but not exhaustive.

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.