Skip to main content
Glama

Save as PDF

browser_pdf

Save the current page as a PDF for receipts, articles, or records. Without a path, it writes to Downloads using the page title and leaves the screen unchanged.

Instructions

Saves the page as a PDF (receipts, articles, etc.). Without path, saves to the user's Downloads folder named after the page title. Doesn't change the screen or window.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tabNoTarget tab: number (1, 2…) or ID ("t7"). Use the stable ID when agents share a slot. Required for action tools when there are multiple tabs.
pathNoFile path to save (e.g. C:\Users\me\Desktop\receipt.pdf)
slotYesBrowser slot 1-30. "3", "slot 3", "browser 3" → 3. If the user gives a port like 14052, subtract 14049.
agentNoYour display name, shown to other agents. Subagents must always set it. Default "claude-68d9".
multiSlotNotrue only when one agent must handle several slots together (e.g. comparing). Normally omit (one agent = one slot; use subagents for the rest)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden; it usefully discloses the default save location (Downloads), the naming convention (page title), and that the screen/window is unaffected. It omits other operationally important behavior: whether a save/download dialog can appear, whether the call waits for completion, and overwrite handling for an existing file.

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 tight sentences: what it does, the default-path fallback, and the non-disruptive guarantee. Front-loaded and every 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 five-parameter save tool with only one required parameter and no output schema, the description covers the essential behavior and the most likely agent question (where did the file go). It stops short of describing the return value or failure modes, a minor gap rather than a blocking one.

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?

Schema description coverage is 100%, so the baseline is 3, but the description adds real value by defining the semantics of an omitted path (fall back to Downloads, name after the page title) — behavior the schema's path description does not state. The tab/agent/multiSlot parameters are left entirely to the schema, which is acceptable given full coverage.

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 ("Saves the page as a PDF") with concrete examples (receipts, articles) that pin down the artifact type. This cleanly separates it from the image-producing browser_screenshot and the wait-only browser_download_wait sibling without needing the schema.

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

Usage Guidelines3/5

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

The description implies when to use it (when you want a durable PDF of the current page) and explains the path-omitted case, but it never explicitly contrasts with browser_screenshot or browser_download_wait, nor states prerequisites. Usage is inferable rather than directed.

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