Skip to main content
Glama

save_pdf

Destructive

Save the active browser tab as a validated PDF to a relative path under ~/Downloads/browsertap. Supports scale, landscape, print backgrounds, page ranges, and CSS page size.

Instructions

Print a real-browser tab to a validated PDF file through bounded CDP. save_path is RELATIVE and resolves under ~/Downloads/browsertap; an absolute path or a '..' escape is refused. The file is written atomically only after valid non-empty PDF bytes are returned; a CDP timeout invalidates and detaches the debugger lease.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scaleNo
timeoutNo
landscapeNo
save_pathYes
session_idNo
page_rangesNo
print_backgroundNo
prefer_css_page_sizeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial behavior beyond annotations: atomic write only after valid non-empty PDF bytes, CDP timeout invalidation, debugger lease detachment, and path validation. These details are not present in the annotations and meaningfully inform the agent of failure modes and write safety.

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?

Three sentences with purpose front-loaded and zero fluff. Every clause adds operational value (what it does, path restrictions, atomicity/timeout behavior).

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

Completeness2/5

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

Despite having an output schema, the tool has 8 parameters and the description leaves pivotal call semantics unexplained: how the tab is selected (session_id), the format of page_ranges, and the meaning of print options. The description covers path and timeout safety but is not complete enough for reliable invocation without external knowledge.

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

Parameters2/5

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

With schema description coverage at 0%, the description must compensate for parameter meaning. It only explains save_path (relative path rules) and indirectly timeout (CDP timeout invalidates). Parameters like scale, landscape, page_ranges, print_background, prefer_css_page_size, and session_id are left to name-based inference, which is insufficient at this coverage level.

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 ('Print'), resource ('real-browser tab'), and output ('validated PDF file') via 'bounded CDP'. The specificity distinguishes it from siblings like capture_page_screenshot or download_file, even without naming them.

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?

Provides clear context for when to use (print a tab to PDF) and adds essential path constraints (relative under ~/Downloads/browsertap, refusal of absolute and '..' paths). Does not explicitly name alternatives or exclusions, so not a 5.

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