Skip to main content
Glama
@writerslogic/ai-agents-mcp

@writerslogic/ai-agents-mcp

Official

page_capture

Capture a public web page as a PNG, JPEG, or PDF in a real browser, returning base64 data and SHA-256 for visual inspection or archiving.

Instructions

Page capture: screenshot or PDF of a public URL. Renders one public web page in a real browser (Cloudflare Browser Run, JavaScript enabled) and returns a PNG or JPEG screenshot or a PDF as base64 with its sha256, for agents that need to see or archive a page. Does not log in, click or fill forms, does not capture private or internal hosts, and returns an error rather than a capture larger than 6 MB.

Cost: 0.02 USDC per call, paid automatically over x402 on Base when AGENT_PRIVATE_KEY is configured and the price is within MAX_USDC_PER_CALL.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic http(s) URL.
outputNopng
viewportNoDefault 1280x800.
full_pageNoCapture the full scroll height (screenshots only; a PDF is always the whole page).
timeout_msNoPage navigation timeout.
wait_untilNoload

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations: names the rendering backend, discloses that the payload is base64 plus sha256, states a 6 MB failure threshold that errors rather than truncates, and explains the x402 payment path including AGENT_PRIVATE_KEY and MAX_USDC_PER_CALL. The cost and payment prerequisites are exactly the kind of context annotations cannot convey.

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?

Front-loaded with capability and scope, then exclusions, then cost. Dense but every clause carries information; the pricing sentence is necessarily long but slightly heavy for a description field.

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 six parameters, a nested object and no output schema, the description does the important work of explaining that the return value is base64 plus sha256 and what triggers an error capture. Minor gaps remain around how output size relates to full_page and viewport dims.

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 67% and the description adds no parameter-level detail beyond the png/jpeg/pdf output choice, which is already an enum. Nested viewport, wait_until, and timeout_ms semantics are left entirely to the schema; baseline 3 is appropriate.

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 concrete verb and resource ('Page capture: screenshot or PDF of a public URL') and adds implementation detail (real browser, JavaScript enabled, Cloudflare Browser Run). It does not, however, name a sibling such as page_contents or doc_to_markdown to disambiguate when an agent wants text rather than an image.

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?

Gives a clear use case ('for agents that need to see or archive a page') and hard exclusions ('does not log in, click or fill forms, does not capture private or internal hosts'), which meaningfully constrain selection. It stops short of explicitly pointing to alternatives when only page text is needed.

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