Skip to main content
Glama

Server Details

One-call URL-to-PDF and full-page screenshot API with Puppeteer's page.pdf()/page.screenshot()...

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 15 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

B3/5.0

Scored across 5 tools

Disambiguation3/5

snapshot is explicitly a superset that bundles rendered HTML plus a base64 screenshot and optional Markdown, so it overlaps meaningfully with both markdown and screenshot, leaving an agent to guess when to use the single-purpose tools versus the bundle. The descriptions do clarify the tradeoff (one call, several formats), which keeps the overlap manageable rather than fatal.

Naming Consistency4/5

All five names are short, lowercase, single-word nouns in a uniform style, which reads predictably. The only minor deviation is 'links' being plural while the rest are singular or format labels, and 'snapshot' is a somewhat vaguer term than the concrete format names.

Tool Count5/5

Five tools is well-scoped for a page-rendering/snapshot service, with each covering a distinct output format plus one convenience aggregator. Nothing feels padded or missing at the count level.

Completeness4/5

The surface covers the main rendering outputs (PDF, screenshot, Markdown, links) plus a combined snapshot, which is solid lifecycle coverage for this domain. Minor gaps: the accessibility tree and raw rendered HTML exist only as options inside snapshot, with no standalone tool if a caller wants just those.

Available Tools

5 tools
markdownThe page's rendered content as MarkdownCInspect

The page's rendered content as Markdown. Price: $0.005 a call (3 free calls a day without an API key).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe page (https). Set url or html, not both.
htmlNoHTML to render instead of a URL.
cookiesNo
viewportNo
userAgentNo
addStyleTagNo
bestAttemptNo
gotoOptionsNo
addScriptTagNo
authenticateNo
waitForTimeoutNo
waitForSelectorNo
emulateMediaTypeNo
allowResourceTypesNo
allowRequestPatternNo
rejectResourceTypesNo
setExtraHTTPHeadersNo
rejectRequestPatternNo
setJavaScriptEnabledNo

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses only cost and a free-tier/rate limit ('$0.005 a call, 3 free calls a day without an API key'). It says nothing about JS execution, timeouts, redirects, failure handling, or the url-vs-html interaction, leaving most behavior opaque.

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?

Two short, front-loaded sentences with no filler; the output format is stated first and the cost second. It is efficient, though arguably too terse for a tool with this much surface area.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-parameter, nested-object, no-output-schema, no-annotation rendering tool, the description is grossly insufficient. An agent cannot determine required inputs, mutual exclusivity beyond the one schema note, timeout/retry behavior, or how rendering options affect output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 11% (roughly url and html out of 19 parameters), and the description adds zero parameter meaning. Nineteen parameters — cookies, viewport, waitForSelector, authenticate, allowResourceTypes, etc. — are left entirely to inference, so the description does nothing to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description ('The page's rendered content as Markdown') does convey what the tool returns, and the format distinguishes it from siblings like links, pdf, and screenshot. However, it is a near-verbatim restatement of the title, provides no verb for the fetch/render action, and gives no explicit sibling differentiation.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all. Nothing tells the agent to pick markdown over links, snapshot, screenshot, or pdf, nor what conditions (JS-heavy pages, need for readable text) favor this tool. The pricing note is context, not usage guidance.

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

pdfRender a URL or HTML to PDF with Puppeteer's pageBInspect

Render a URL or HTML to PDF with Puppeteer's page.pdf() options (format letter by default, scale, margins, header/footer templates, printBackground, pageRanges). Price: $0.005 a call (3 free calls a day without an API key).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe page to render (https). Set url or html, not both.
htmlNoHTML to render instead of a URL.
cookiesNoCookies to set before loading
deliverNo{store: "1d"|"7d"|"30d"|"365d", name?}: keep the PDF in file storage and answer with metadata instead of bytes
viewportNo{width,height,deviceScaleFactor,isMobile,hasTouch,isLandscape}; default 1920x1080
userAgentNo
pdfOptionsNoPuppeteer page.pdf() options as documented at pptr.dev/api/puppeteer.pdfoptions.
addStyleTagNo[{content|url}]
bestAttemptNoProceed when awaited events fail or time out
gotoOptionsNo{waitUntil: load|domcontentloaded|networkidle0|networkidle2, timeout}
addScriptTagNo[{content|url}]
authenticateNo{username,password}
waitForTimeoutNoExtra wait in ms (0-120000)
waitForSelectorNo{selector, visible?, hidden?, timeout}
emulateMediaTypeNoscreen|print
allowResourceTypesNo
allowRequestPatternNo
rejectResourceTypesNoe.g. ["image"]
setExtraHTTPHeadersNoExtra HTTP headers
rejectRequestPatternNo
setJavaScriptEnabledNo

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the cost model ($0.005/call, 3 free calls/day without an API key) and defaults, but says nothing about permissions, failure/timeout behavior, or that output can be bytes or stored metadata (covered only by the schema's deliver param).

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?

Two sentences, front-loaded with the core action and options, then the pricing detail. Efficient with no filler, though the parenthetical option list borders on redundant with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 21-parameter tool with nested objects, no annotations and no output schema, the description is thin. The pricing note is a genuine addition, but it omits any mention of the bytes-vs-metadata delivery choice, error handling, or prerequisite auth, leaving notable gaps.

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 76%, so the schema already documents most parameters well (defaults, ranges, formats). The description merely re-lists a subset of pdfOptions (format, scale, margins, templates, printBackground, pageRanges) that the schema already covers, adding no meaning beyond it.

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 (render) and both resource types (URL or HTML) producing a PDF, with the mechanism named (Puppeteer page.pdf). It is clear what the tool does, though it does not explicitly differentiate itself from siblings like screenshot or markdown.

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

Usage Guidelines2/5

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

No guidance on when to choose this tool over the sibling rendering tools (screenshot, markdown, snapshot, links). The url-vs-html exclusivity lives in the schema, not the description, so there is essentially no usage routing here.

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

screenshotCapture a PNG, JPEG or WebP screenshot with Puppeteer's pageBInspect

Capture a PNG, JPEG or WebP screenshot with Puppeteer's page.screenshot() options (fullPage, clip, omitBackground, quality 0-100 for jpeg/webp only). Price: $0.005 a call (3 free calls a day without an API key).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe page to capture (https). Set url or html, not both.
htmlNoHTML to render instead of a URL.
cookiesNo
deliverNo{store, name?}: keep the image in file storage
selectorNoScreenshot this element instead of the page
viewportNo{width,height,deviceScaleFactor,...}; default 1920x1080
userAgentNo
scrollPageNoScroll the page before capturing (lazy content)
addStyleTagNo
bestAttemptNo
gotoOptionsNo{waitUntil, timeout}
addScriptTagNo
authenticateNo
waitForTimeoutNo
waitForSelectorNo
emulateMediaTypeNo
screenshotOptionsNoPuppeteer page.screenshot() options as documented at pptr.dev/api/puppeteer.screenshotoptions.
allowResourceTypesNo
allowRequestPatternNo
rejectResourceTypesNo
setExtraHTTPHeadersNo
rejectRequestPatternNo
setJavaScriptEnabledNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does add genuinely useful non-schema context: the $0.005 per-call price and 3 free calls/day rate limit. However it omits the return format (URL vs base64 image), whether auth is required beyond the free tier, and any timeout/error behavior for a 23-param network-driven tool.

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?

Two compact sentences, front-loaded with the core capability followed by the cost model. No filler or repetition, though the pricing sentence could arguably be deferred to a general note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 23-parameter tool with no annotations and no output schema, the description is thin: it never states what the tool returns (image bytes, a stored-file URL, etc.) and leaves most behavioral and parameter surface undocumented. This is well short of what an agent needs to invoke it confidently.

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 only 35% across 23 params, so the description must compensate. It partially does by naming fullPage, clip, omitBackground, and the quality 0-100 jpeg/webp constraint, but the large majority of parameters (cookies, authenticate, waitForSelector, deliver, bestAttempt, etc.) get no explanation anywhere.

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?

The description states a specific verb and resource ('Capture a PNG, JPEG or WebP screenshot') and names the underlying mechanism (Puppeteer's page.screenshot()). It is clearly distinguishable from pdf/markdown/links siblings, though it does not explicitly contrast with the closest sibling, snapshot.

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

Usage Guidelines2/5

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

The description gives no when-to-use or when-not-to-use guidance and names no alternative among the siblings (links, markdown, pdf, snapshot). The only routing hint (url vs html) lives in the schema, not the description.

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

snapshotOne call, several formatsCInspect

One call, several formats: rendered HTML content and a base64 screenshot (plus optional Markdown and accessibility tree), with the page's status and title. Price: $0.005 a call (3 free calls a day without an API key).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe page to snapshot (https). Set url or html, not both.
htmlNoHTML to render instead of a URL.
cookiesNo
deliverNo{store, name?}: keep the snapshot's screenshot in file storage
formatsNoAt least two of: content, screenshot, markdown, accessibilityTree (default content+screenshot)
viewportNo
userAgentNo
addStyleTagNo
bestAttemptNo
gotoOptionsNo
addScriptTagNo
authenticateNo
waitForTimeoutNo
waitForSelectorNo
emulateMediaTypeNo
screenshotOptionsNoPuppeteer screenshot options for the snapshot's screenshot format
allowResourceTypesNo
allowRequestPatternNo
rejectResourceTypesNo
setExtraHTTPHeadersNo
rejectRequestPatternNo
setJavaScriptEnabledNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the return shape (content, screenshot, optional markdown/accessibility tree, status, title) and useful pricing/auth context ('$0.005 a call, 3 free calls a day without an API key'), but says nothing about failure behavior, rate limits beyond the free tier, or how errors surface for a 22-parameter rendering tool.

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?

Two tightly packed sentences that front-load the multi-format benefit, then append pricing. Every clause carries information, though the pricing detail competes with functional content for the lead position.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 22-parameter tool with no annotations, no output schema, and 23% schema coverage, the description is far too thin. It explains the return values adequately but leaves the majority of parameters and most behavioral traits undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 23% across 22 parameters, so the description must compensate and largely does not. It only alludes to the formats parameter (content, screenshot, markdown, accessibilityTree) and says nothing about the many undocumented options like cookies, viewport, authenticate, bestAttempt, or request-pattern filters.

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?

The description states a clear purpose: produce rendered HTML content and a base64 screenshot in one call, plus optional Markdown and accessibility tree, with status and title. The 'one call, several formats' framing implicitly distinguishes it from the single-format siblings (screenshot, markdown, pdf), but it never names or routes to them explicitly.

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 'one call, several formats' framing implies the usage condition (use when you want multiple outputs at once rather than separate single-format calls), but there is no explicit when-to-use, when-not, or named alternative guidance. An agent must infer the selection rule from the tagline.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedlinks
    • First observedmarkdown
    • First observedpdf
    • First observedscreenshot
    • First observedsnapshot

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Captures full-page screenshots and PDFs from any URL using Chromium rendering, with pay-per-call via x402 micropayments.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Screenshot, visual-diff, and AI page-analysis API for AI agents. Capture any URL as PNG, JPEG, WebP, PDF, or HTML, diff two versions of a page to catch visual regressions, and get an AI summary of what a page contains.
    3
    19 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources