Skip to main content
Glama

sign_screenshot_url

Read-only

Create a signed link that renders a screenshot when opened, with no API key needed: for emails, documents or sharing with others. Creating the link is free. Opening it renders the page and uses one capture from this account (a recent cached copy is served free). Links expire after expires_in seconds (default: 1 day).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL to capture (must start with http:// or https://)
delayNoExtra milliseconds to wait after the page loads, 0-10000 (default: 0)
widthNoViewport width in CSS pixels, 320-3840 (default: 1280). Ignored when device is set.
deviceNoPhone, tablet or laptop preset (overrides width and height): iphone_14 (390x844), iphone_15_pro (393x852), pixel_7 (412x915), ipad_pro (1024x1366), macbook_pro (1440x900)
formatNoOutput format: png (default), jpeg, webp, or pdf
heightNoViewport height in CSS pixels, 200-10000 (default: 800). Ignored when device is set.
qualityNoJPEG and WebP quality, 1-100 (default: 90). Ignored for png.
block_adsNoBlock ads and trackers (default: true)
dark_modeNoAsk the page for its dark color scheme (default: false)
full_pageNoCapture the whole scrollable page instead of one screen (default: false). Very tall pages are cut at about 32,000 px (about 8,000 px for webp, less with phone presets).
expires_inNoLink validity in seconds, 60-2592000 (default: 86400 = 1 day)
user_agentNoCustom User-Agent string
click_selectorNoCSS selector to click before the capture
hide_selectorsNoComma-separated CSS selectors to hide before the capture
block_cookie_bannersNoRemove cookie consent banners (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • changedInput schema / properties / block_ads / description
      Previous value: -"Block ads (default: true)"New value: +"Block ads and trackers (default: true)"
    • changedInput schema / properties / block_cookie_banners / description
      Previous value: -"Remove cookie banners (default: true)"New value: +"Remove cookie consent banners (default: true)"
    • changedInput schema / properties / click_selector / description
      Previous value: -"CSS selector to click"New value: +"CSS selector to click before the capture"
    • changedInput schema / properties / dark_mode / description
      Previous value: -"Enable dark mode (default: false)"New value: +"Ask the page for its dark color scheme (default: false)"
    • changedInput schema / properties / delay / description
      Previous value: -"Milliseconds to wait after load (default: 0)"New value: +"Extra milliseconds to wait after the page loads, 0-10000 (default: 0)"
    • changedInput schema / properties / device / description
      Previous value: -"Device preset for emulation"New value: +"Phone, tablet or laptop preset (overrides width and height): iphone_14 (390x844), iphone_15_pro (393x852), pixel_7 (412x915), ipad_pro (1024x1366), macbook_pro (1440x900)"
    • changedInput schema / properties / expires_in / description
      Previous value: -"URL validity in seconds, 60-2592000 (default: 86400 = 1 day)"New value: +"Link validity in seconds, 60-2592000 (default: 86400 = 1 day)"
    • changedInput schema / properties / format / description
      Previous value: -"Output format (default: png)"New value: +"Output format: png (default), jpeg, webp, or pdf"
    • changedInput schema / properties / full_page / description
      Previous value: -"Capture entire scrollable page (default: false)"New value: +"Capture the whole scrollable page instead of one screen (default: false). Very tall pages are cut at about 32,000 px (about 8,000 px for webp, less with phone presets)."
    • changedInput schema / properties / height / description
      Previous value: -"Viewport height in pixels (default: 800)"New value: +"Viewport height in CSS pixels, 200-10000 (default: 800). Ignored when device is set."
    • changedInput schema / properties / hide_selectors / description
      Previous value: -"CSS selectors to hide"New value: +"Comma-separated CSS selectors to hide before the capture"
    • changedInput schema / properties / quality / description
      Previous value: -"Image quality (default: 90)"New value: +"JPEG and WebP quality, 1-100 (default: 90). Ignored for png."
    • changedInput schema / properties / user_agent / description
      Previous value: -"Custom user agent"New value: +"Custom User-Agent string"
    • changedInput schema / properties / width / description
      Previous value: -"Viewport width in pixels (default: 1280)"New value: +"Viewport width in CSS pixels, 320-3840 (default: 1280). Ignored when device is set."
  2. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations establish it's a read-only, non-destructive operation, so the bar is lower. The description still adds valuable billing and caching context: 'Creating the link is free. Opening it renders the page and uses one capture from this account (a recent cached copy is served free).' This tells the agent that opening the link consumes credits, not just creating it. Missing explicit mention of auth requirements beyond 'no API key needed.'

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?

Three sentences, front-loaded with what the link is and does. Efficient, but the billing/caching detail could be slightly tighter.

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 tool with a rich 15-param schema (100% coverage), the description covers the key non-schema concerns: sharing purpose, cost model, and link expiration. No output schema exists, but for a link-creation tool the output (the signed URL) is self-evident. Adequate.

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 coverage is 100%, so the input schema already documents all 15 parameters thoroughly. The description only adds the expires_in default behavior ('default: 1 day'), which the schema also states. Baseline 3 is correct when schema does the heavy lifting.

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+resource ('Create a signed link that renders a screenshot') and distinguishes from siblings by noting it's a shareable link requiring no API key, unlike take_screenshot which presumably returns an image directly.

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?

Clear context for when to use: 'for emails, documents or sharing with others.' Does not explicitly exclude use cases or name alternatives, but the sharing-with-others framing is sufficiently differentiated.

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.