Skip to main content
Glama

Start a bulk screenshot job from a CSV

bulk_screenshots_csv

Upload a CSV to start bulk screenshot captures, with a URL column and per-row render options, then receive a job UUID for status checks and result downloads.

Instructions

Uploads a CSV to start a bulk screenshot job. The CSV must have a 'url' column with full https:// URLs; any other column is treated as a render option for that row using the API parameter names (file_type, width, height, css, delay, headers, ...). Pass either a local csv_path or the CSV text in csv_content. Returns the job response including its uuid for get_bulk_status and download_bulk_results. ScreenshotAPI also emails a download link when the job finishes. Paid plans only.

Input Schema

NameRequiredDescriptionDefault
csv_pathNoPath to a local CSV file.
csv_contentNoCSV text, e.g. 'url,file_type\nhttps://a.com,png\nhttps://b.com,jpg'. Used when csv_path is not given.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.2

TDQS

A4.1/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden and does well: it discloses the CSV contract (a 'url' column with full https:// URLs, other columns mapped to API option names), the asynchronous job model with an email notification side effect, and the paid-plan restriction. It omits failure behavior, row limits, and whether partial failures are tolerated.

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?

Four dense sentences, front-loaded with the action, then the input contract, then the return/follow-up, then the pricing gate. No sentence is filler.

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?

With no output schema, the description correctly covers the return value (job response with uuid) and the follow-up tools plus the email fallback. It leaves the async timing, row limits, and error semantics undefined, which is a modest gap for a job-submission tool.

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 coverage is 100%, so the baseline is 3, but the description earns more by explaining the CSV row/column semantics that the schema only hints at — the 'url' column requirement and that extra columns become render options named after API parameters. The csv_path vs csv_content precedence is already in the schema.

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?

States a specific verb and resource ('Uploads a CSV to start a bulk screenshot job') and the CSV format is a strong implicit differentiator from the sibling bulk_screenshots. It never names that sibling explicitly, so the differentiation is inferred rather than stated.

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?

Explains the input choice ('Pass either a local csv_path or the CSV text in csv_content') and routes the agent forward to get_bulk_status and download_bulk_results after the uuid is returned. It adds a real precondition ('Paid plans only') but gives no explicit when-not-to-use guidance versus bulk_screenshots.

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