Skip to main content
Glama
Paperboy

Paperboy

Official
by sudostash

n_up

DestructiveIdempotent

Place multiple PDF pages on one sheet in reading order to create handouts and save paper. Supports 2-up or 4-up layouts with page selection.

Instructions

Put 2 pages side by side on landscape sheets, or 4 in a 2 x 2 grid, in reading order (handouts, saving paper). Sheets are a paper size (a3, a4, a5, letter, legal, tabloid) or by default the first page's size. pages picks and orders the pages. The result is for printing and reading: only page content is placed, so links, comments, stamps, form fields (and their filled-in values) and visible signatures don't appear; use flatten_pdf first to keep them. Document info is copied, bookmarks are not. Needs the owner password if the PDF forbids changes or document assembly.

Any password argument can be "ask": the user then types it on a local page, so it never passes through the chat.

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": {
      "input_path": "<input_path>"
    },
    "name": "n_up"
  }
}

Input Schema

NameRequiredDescriptionDefault
sizeNo
pagesNo
passwordNo
overwriteNo
per_sheetNo
input_pathYes
output_pathNo

Output Schema

NameRequiredDescriptionDefault
outputYes
sheetsYes
sheet_widthYes
pages_placedYes
sheet_heightYes
password_protectedYes
user_password_changedYes
permissions_restrictedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description discloses substantial behavior: which content is dropped (links, comments, stamps, form fields and filled values, visible signatures), what is carried over (document info, not bookmarks), and the permission/password requirement for PDFs that forbid changes or document assembly. The 'ask' mechanism for passwords never passing through the chat is also valuable operational context.

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?

Front-loaded with the outcome, then lossiness, then permissions, then the password convention — a sensible priority order. The parenthetical asides and stacked clauses make it dense, but each sentence carries information an agent needs.

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 lossy layout transform with a password gate, the description covers the critical caveats, and an output schema exists so return values need not be explained. The gaps are the destructive/overwrite behavior implied by destructiveHint=true and the valid range for per_sheet.

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?

With 0% schema description coverage, the description carries the burden and does much of it: size is enumerated (a3, a4, a5, letter, legal, tabloid) with a default of the first page's size, pages is described as selecting and ordering, and password semantics including the 'ask' sentinel are explained. per_sheet is only implied by the 2-or-4 layouts, and overwrite/output_path receive no explanation at all.

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 description opens with a concrete verb and layout outcome: 'Put 2 pages side by side on landscape sheets, or 4 in a 2 x 2 grid, in reading order,' parenthetically framed as handouts. This is clearly distinct from siblings like merge_pdfs or interleave_pdfs because the output is an imposed layout rather than a concatenation.

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?

It gives an explicit use context (handouts, saving paper) and an explicit alternative path for preservation: 'use flatten_pdf first to keep them.' It does not explicitly rule out other multi-document tools such as merge_pdfs, but the layout-based framing makes the boundary inferable.

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