website-screenshots.capture
Capture a screenshot of a public website so the user or agent can inspect its layout, content, and UI. The image is saved to account file storage. The response includes screenshot_url for API users and download_code for agents to run vee3-get-file. Cost = 20 tokens.
This record as markdown: /tools/io-github-vee3io-vee3/website-screenshots.capture.md
What website-screenshots.capture does on Vee3
AI agents invoke website-screenshots.capture to trigger actions in Vee3. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Public http or https URL to capture. Private, localhost, and internal network addresses are blocked. |
format | string | — | Output image format. 'png' preserves lossless quality (default). 'jpeg' produces smaller files. |
quality | integer | — | JPEG compression quality from 0 (smallest) to 100 (best). Only applies when format is 'jpeg'; ignored for PNG. |
dark_mode | boolean | — | When true, emulate prefers-color-scheme: dark so sites with dark-mode CSS render in dark mode. Has no effect on sites without dark-mode styling. |
file_name | object | — | Optional account-relative storage path for the screenshot. If omitted, the file is stored under downloads/ with a generated name. |
full_page | boolean | — | Capture the full scrollable page. When false, only the viewport area is captured. |
wait_until | string | — | When to take the screenshot: 'load' (load event), 'domcontentloaded' (DOM ready, faster; use with post_load_wait to let the page settle), or 'networkidle' (no n |
post_load_wait | integer | — | Extra seconds to wait after wait_until before capturing. Only valid when wait_until is domcontentloaded. Use this instead of networkidle when pages keep network |
viewport_width | integer | — | Browser viewport width in pixels. |
timeout_seconds | integer | — | Maximum seconds to wait for the page to load before failing. |
viewport_height | integer | — | Browser viewport height in pixels. |
block_cookie_banners | boolean | — | When true, attempt to dismiss common cookie consent banners and overlays before capture. Best-effort - custom or first-party banners may remain. |
Parameters from the server's own tool schema.
Why website-screenshots.capture is rated High
Captures external website content via browser automation with side effects (file storage writes); externally-directed operation.
From the tool's definition Capture screenshot of public website, saved to account file storage.
Risk signalsAccepts URL/endpoint input (url) · High parameter count (12 properties)
Attacks that exploit this kind of access
The rule that runs website-screenshots.capture safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Vee3, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For website-screenshots.capture, this is the rule to start with:
website-screenshots.capture stays usable, but rate-capped: a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Vee3, apply this rule, and every website-screenshots.capture call is checked against it from then on.
Questions about website-screenshots.capture
Capture a screenshot of a public website so the user or agent can inspect its layout, content, and UI. The image is saved to account file storage. The response includes screenshot_url for API users and download_code for agents to run vee3-get-file. Cost = 20 tokens. It is categorised as a Execute tool in the Vee3 MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
website-screenshots.capture accepts 12 parameters: url, format, quality, dark_mode, file_name, full_page, wait_until, post_load_wait, viewport_width, timeout_seconds, viewport_height, block_cookie_banners. Required: url. The full parameter table on this page comes from the server's own tool schema.
Register the Vee3 MCP server in PolicyLayer and add a rule for website-screenshots.capture: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Vee3. Nothing to install.
website-screenshots.capture is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the website-screenshots.capture rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for website-screenshots.capture. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
website-screenshots.capture is provided by the Vee3 MCP server (https://mcp.vee3.io/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Vee3, and thousands of servers like it.
This server
Across the catalogue