Skip to main content
Glama

Save page as PDF

pdf_save
Read-only

Prints a browser tab to a PDF file and returns the saved path, with options for paper size, scale, orientation, and backgrounds.

Instructions

Prints the page to a PDF file and returns its path.

Input Schema

NameRequiredDescriptionDefault
paperNoPaper size (default A4).
scaleNoScale factor 0.1-2 (default 1).
tabIdNoTab to act on. Defaults to the session target tab (see tab_select).
savePathNoAbsolute file path to save to. Defaults to a file in the kyte-webmcp output folder.
landscapeNoLandscape orientation (default false).
printBackgroundNoPrint background graphics (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations give readOnlyHint=true and openWorldHint=false, so the safety profile is covered by structured data. The description adds one genuinely useful behavioral fact beyond that — that the tool returns a file path — but says nothing about whether the existing default-path file is overwritten, whether it waits for the page to finish loading, or whether it captures the full scrollable page. Note a mild tension with readOnlyHint=true, since a PDF is written to disk, though creating a new artifact rather than mutating page state is a defensible reading.

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?

A single sentence with zero filler, with the action and the return value front-loaded. It is efficient but so terse that it does no structuring work — there is no grouping of the six formatting options or the output-path behavior.

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

Completeness3/5

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

With six all-optional, fully schema-documented parameters and no output schema, the description's statement of the return value is the one thing that must be there and it is. However, for a tool that writes a file to disk it omits where the default output folder is (left to the schema), overwrite behavior, and whether the capture includes the full page — gaps that matter for correct invocation.

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%, with defaults, ranges, and the sole enum all documented in the input schema, so the baseline of 3 applies. The description contributes no parameter information of its own — no mention of paper size, scale, orientation, background printing, or the tabId/savePath interaction.

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?

Specific verb and resource: 'Prints the page to a PDF file and returns its path.' An agent can distinguish this from screenshot/downloads because the output medium (PDF) and the return value (path) are stated. It stops short of naming a sibling it is explicitly not, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

There is no when-to-use/when-not guidance and no alternatives named — nothing tells the agent to prefer this over `screenshot`, `downloads`, or `page_snapshot` when the goal is capturing page content. The action is inferable from the description, but no usage context or prerequisites are supplied.

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