Skip to main content
Glama

Server Details

Convert public web pages to PDF, images, Markdown, or JSON using one API key.

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 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
strayly/url-to-pdf
GitHub Stars
0

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a clearly distinct output format: structured JSON extraction, Markdown, PDF, and screenshot, plus a meta capabilities lister. There is no realistic scenario where an agent would confuse url_to_pdf with url_to_screenshot or url_to_markdown. Boundaries are crisp.

Naming Consistency4/5

Four of five tools follow a clean url_to_<format> pattern, which is highly predictable. list_capabilities uses a different verb_noun construction, but as a single meta/introspection tool the minor deviation is acceptable and readable.

Tool Count5/5

Five tools is well-scoped for a URL conversion service: one discovery tool and four conversion targets. No filler or redundant tools, and nothing feels missing that would inflate the count.

Completeness4/5

The surface covers the main conversion outputs (PDF, screenshot, Markdown, structured data) plus capability discovery, giving good lifecycle coverage for the domain. Minor gaps like batch/multi-URL conversion or an explicit status/result-retrieval tool exist but are workable around.

Available Tools

5 tools
list_capabilitiesA
Read-only
Inspect

Free. Returns what this server can do, the price of each paid tool, and where to buy an API key.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnly=true, destructive=false, and openWorld=true, so the safety burden is covered. The description adds genuinely non-redundant behavior: the call is free, and the server contains paid tools requiring a purchasable API key — auth and cost context the annotations do not express.

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?

A single sentence with three tight clauses, led by the highest-value fact ('Free'). No filler, no restatement of the tool name, and information is front-loaded.

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 carries the return-value burden and does so reasonably — it enumerates capabilities, prices, and key-purchase location. It stops short of describing the response shape or format, which is a minor gap for a simple no-argument discovery endpoint.

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?

The tool takes zero parameters, so the rule baseline of 4 applies. Nothing in the description is needed to explain inputs, and it correctly says nothing about arguments.

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?

The description names a concrete verb ('Returns') and specifies exactly what comes back: the server's capabilities, per-tool pricing, and where to obtain an API key. That content profile is unmistakably distinct from the sibling url_to_* conversion tools, so an agent can route to it without opening the schema.

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?

Usage is only implied: the word 'Free' plus the capability/pricing content signals this is a discovery entry point, and mentioning 'where to buy an API key' hints that paid tools need auth first. There is no explicit statement of when to call this versus proceeding straight to a url_to_* tool, and no exclusion guidance.

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

url_to_extractA
Read-only
Inspect

Extract structured data from a page as JSON: title, meta description, canonical URL, language, main text and links. Readability-first, no LLM involved. Requires an API key purchased at https://url-pdf.hammbox.com/buy. Same auth as the other paid tools.

NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL of the page to extract. Required.
waitMsNoExtra settle time after load, 0-10000ms. Few dynamics pages need this.
blockAdsNoBlock requests to major ad/analytics domains before rendering. Default false.
darkModeNoRender with prefers-color-scheme: dark. Default false.
maxLinksNoMaximum number of links to return, 0-500. Default 100.
timeoutMsNoNavigation timeout in ms, 5000-100000. Default 45000.
waitUntilNoPuppeteer navigation wait condition. Default networkidle2.
maxTextCharsNoTruncate main text to this many characters, 500-200000. Default 20000.
clickSelectorNoCSS selector to click before rendering (expand, dismiss modal, switch tab).
waitForSelectorNoOptional CSS selector to wait for before rendering.
hideCookieBannersNoRemove elements that look like cookie consent banners. Default false.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true, idempotentHint=false). The description adds genuinely non-obvious behavioral context: an API key must be purchased at a specific URL, and auth matches the other paid tools. It does not mention rate limits or noise, but the auth gating is valuable.

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?

Three tightly written sentences with no filler: output fields first, then the rendering approach, then the auth requirement. Every sentence earns its place and the most useful information is front-loaded.

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 usefully enumerates the returned fields (title, meta description, canonical URL, language, main text, links), covering the return-value gap. Auth requirements are also stated. For an 11-parameter tool it is nearly complete, though it could clarify behavior on failed extractions or redirects.

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 description coverage is 100% and all 11 parameters carry detailed descriptions with ranges, defaults, and semantics (e.g., waitUntil enum, maxLinks default 100). The description adds no parameter-level meaning, so the schema alone carries the load — the baseline 3 applies.

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 ('Extract') and resource ('structured data from a page') and enumerates the exact fields returned (title, meta description, canonical URL, language, main text, links). This clearly separates it from url_to_markdown and url_to_screenshot, though it never names those siblings explicitly.

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 phrase 'Readability-first, no LLM involved' hints at a positioning but gives no when-to-use guidance against the sibling tools (url_to_markdown, url_to_pdf, url_to_screenshot). It does not state when this tool is preferred over extracting markdown or a PDF.

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

url_to_markdownA
Read-only
Inspect

Extract page content as clean Markdown. Requires an API key purchased at https://url-pdf.hammbox.com/buy. If this MCP request carries a valid "x-api-key" or "Authorization: Bearer" header, it renders directly and returns a 1-hour download URL; otherwise it returns purchase guidance.

NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL of the page to extract. Required.
widthNoViewport width in px, 320-3840. Default 1280.
heightNoViewport height in px, 240-2160. Default 900.
waitMsNoExtra settle time after load, 0-10000ms. Few dynamics pages need this.
blockAdsNoBlock requests to major ad/analytics domains before rendering. Default false.
darkModeNoRender with prefers-color-scheme: dark. Default false.
timeoutMsNoNavigation timeout in ms, 5000-100000. Default 45000.
waitUntilNoPuppeteer navigation wait condition. Default networkidle2.
keepImagesNoKeep image links in the Markdown output. Default false.
clickSelectorNoCSS selector to click before rendering (expand, dismiss modal, switch tab).
removeSelectorsNoCSS selectors to strip before extraction, e.g. ["nav", ".ads", "footer"].
waitForSelectorNoOptional CSS selector to wait for before rendering.
deviceScaleFactorNoDevice pixel ratio, 0.5-3. Default 1. Set 2 for retina.
hideCookieBannersNoRemove elements that look like cookie consent banners. Default false.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, non-destructive, open-world). The description adds genuinely new behavior: the API-key precondition, the dual branching (render vs. purchase guidance), and the fact that output is a 1-hour download URL that expires. That expiry detail is material and not captured anywhere else.

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 the purpose before the auth/billing detail. The inline quoting of headers is slightly noise-prone, but nothing is repetitive or padding.

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 14-parameter tool with no output schema, the description covers purpose, auth prerequisites, and the return artifact (a 1-hour download URL / purchase guidance). The rendering behavior of the many viewport, ad-blocking and cookie options is left to the schema, which documents them fully, so the remaining gap is small.

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 description coverage is 100% across all 14 parameters, with ranges, defaults and enum values already documented. The description adds no parameter-level meaning, so this sits at the baseline of 3.

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 opening sentence gives a specific verb and resource: 'Extract page content as clean Markdown.' That cleanly separates it from url_to_pdf and url_to_screenshot. However it never explicitly contrasts itself with the closer sibling url_to_extract, so it stops short of full 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?

The description explains the billing/auth gate but gives no guidance on when to choose this tool over url_to_extract, url_to_pdf or url_to_screenshot, nor any prerequisites beyond the API key. An agent gets no alternative-selection signal.

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

url_to_pdfA
Read-only
Inspect

Render a web page to PDF. Requires an API key purchased at https://url-pdf.hammbox.com/buy. If this MCP request carries a valid "x-api-key" or "Authorization: Bearer" header, it renders directly and returns a 1-hour download URL; otherwise it returns purchase guidance.

NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL of the page to render. Required.
scaleNoScale, 0.1-2. Default 1.
widthNoViewport width in px, 320-3840. Default 1280.
formatNoPaper size. Default A4.
heightNoViewport height in px, 240-2160. Default 900.
marginNoMargin shorthand like "10mm" — or an object {top,right,bottom,left}. Optional.
waitMsNoExtra settle time after load, 0-10000ms. Few dynamics pages need this.
blockAdsNoBlock requests to major ad/analytics domains before rendering. Default false.
darkModeNoRender with prefers-color-scheme: dark. Default false.
landscapeNoLandscape orientation. Default false.
timeoutMsNoNavigation timeout in ms, 5000-100000. Default 45000.
waitUntilNoPuppeteer navigation wait condition. Default networkidle2.
clickSelectorNoCSS selector to click before rendering (expand, dismiss modal, switch tab).
printBackgroundNoPrint background graphics. Default true.
waitForSelectorNoOptional CSS selector to wait for before rendering.
deviceScaleFactorNoDevice pixel ratio, 0.5-3. Default 1. Set 2 for retina.
hideCookieBannersNoRemove elements that look like cookie consent banners. Default false.
preferCssPageSizeNoHonor the page CSS @page size instead of the format option.

TDQS

A4/5.0
Behavior5/5

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

Annotations establish only the safety profile (readOnly, non-destructive, open-world). The description adds genuinely non-obvious behavior: a paid API key prerequisite, accepted credential locations ("x-api-key" or "Authorization: Bearer"), the dual-path response, and the fact that the returned download URL expires after 1 hour. That is exactly the context an agent needs before calling.

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?

Three sentences, front-loaded with the action, then the prerequisite, then the branching outcome. The purchase URL sentence earns its place because it explains the failure mode an agent will otherwise misread as an error.

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 an 18-parameter, no-output-schema tool the description covers the critical unknowns: auth requirement and the shape/expiry of the result. It does not mention render-failure or timeout error behavior, a minor gap given that openWorldHint implies external variability.

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 description coverage is 100% across all 18 parameters, including ranges, defaults and enums, so the schema already carries parameter meaning. The description adds nothing about parameters, which is the correct baseline of 3 when the schema does the heavy lifting.

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 names a specific verb and output format ("Render a web page to PDF"), which cleanly separates it from url_to_markdown, url_to_extract and url_to_screenshot without naming them. It stops short of explicit sibling differentiation, but the artifact type makes the boundary obvious.

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?

Usage is implied by the auth explanation: with a valid key it renders, without one it returns purchase guidance. However, there is no guidance on when to prefer this tool over the sibling renderers (screenshot, markdown) or on limits such as page complexity, so the agent must infer selection criteria.

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

url_to_screenshotA
Read-only
Inspect

Capture a page as an image. Requires an API key purchased at https://url-pdf.hammbox.com/buy. If this MCP request carries a valid "x-api-key" or "Authorization: Bearer" header, it renders directly and returns a 1-hour download URL; otherwise it returns purchase guidance.

NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL of the page to capture. Required.
clipNoClip region as "x,y,width,height" — or an object {x,y,width,height}. Optional.
widthNoViewport width in px, 320-3840. Default 1280.
formatNoImage format. Default png.
heightNoViewport height in px, 240-2160. Default 900.
waitMsNoExtra settle time after load, 0-10000ms. Few dynamics pages need this.
qualityNoJPEG quality 0-1. Ignored for png. Default 0.8.
blockAdsNoBlock requests to major ad/analytics domains before rendering. Default false.
darkModeNoRender with prefers-color-scheme: dark. Default false.
fullPageNoCapture the full scrollable page, not just the viewport. Default true.
selectorNoCapture only the element matching this CSS selector, instead of the page.
timeoutMsNoNavigation timeout in ms, 5000-100000. Default 45000.
waitUntilNoPuppeteer navigation wait condition. Default networkidle2.
clickSelectorNoCSS selector to click before rendering (expand, dismiss modal, switch tab).
waitForSelectorNoOptional CSS selector to wait for before rendering.
deviceScaleFactorNoDevice pixel ratio, 0.5-3. Default 1. Set 2 for retina.
hideCookieBannersNoRemove elements that look like cookie consent banners. Default false.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare the safe read-only/open-world profile; the description adds the load-bearing behavior the agent cannot get elsewhere: an API key is required, how the key is supplied (header), and the two distinct outcomes (1-hour download URL vs purchase guidance). For a tool whose output is a URL string, this is exactly the missing behavioral context.

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?

Two sentences with the core action front-loaded, followed by the prerequisite and the branch outcomes. No filler, and the purchase URL is functional rather than decorative.

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

Completeness5/5

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

Despite 17 parameters and no output schema, the description covers the two things structured data does not: auth prerequisite and what the call returns in each case. Parameter semantics are fully handled by the schema, so nothing an agent needs to invoke correctly is missing.

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 description coverage is 100%, so all 17 parameters (clip, waitUntil, deviceScaleFactor, etc.) are already fully documented in the schema. The description adds no parameter-level meaning, so the baseline 3 applies.

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 and output ('Capture a page as an image'), which cleanly separates it from the sibling destination tools (url_to_pdf, url_to_markdown, url_to_extract). An agent can identify the tool's job without opening the schema.

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?

The description gives a concrete operating condition: with a valid x-api-key or Bearer header it renders and returns a URL, otherwise it returns purchase guidance. That tells the agent when the tool will actually work and what to expect. It stops short of explicitly routing between this and the sibling conversion tools, so it is clear context without alternatives.

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. 4 tool updates
    • Addedurl_to_extract
    • Changedurl_to_markdown8 fields changed
      • addedInput schema / properties / blockAds
        Added value: +{
        +  "description": "Block requests to major ad/analytics domains before rendering. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / clickSelector
        Added value: +{
        +  "description": "CSS selector to click before rendering (expand, dismiss modal, switch tab).",
        +  "type": "string"
        +}
      • addedInput schema / properties / darkMode
        Added value: +{
        +  "description": "Render with prefers-color-scheme: dark. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / deviceScaleFactor
        Added value: +{
        +  "description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina.",
        +  "type": "number"
        +}
      • addedInput schema / properties / height
        Added value: +{
        +  "description": "Viewport height in px, 240-2160. Default 900.",
        +  "type": "number"
        +}
      • addedInput schema / properties / hideCookieBanners
        Added value: +{
        +  "description": "Remove elements that look like cookie consent banners. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / timeoutMs
        Added value: +{
        +  "description": "Navigation timeout in ms, 5000-100000. Default 45000.",
        +  "type": "number"
        +}
      • addedInput schema / properties / width
        Added value: +{
        +  "description": "Viewport width in px, 320-3840. Default 1280.",
        +  "type": "number"
        +}
    • Changedurl_to_pdf8 fields changed
      • addedInput schema / properties / blockAds
        Added value: +{
        +  "description": "Block requests to major ad/analytics domains before rendering. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / clickSelector
        Added value: +{
        +  "description": "CSS selector to click before rendering (expand, dismiss modal, switch tab).",
        +  "type": "string"
        +}
      • addedInput schema / properties / darkMode
        Added value: +{
        +  "description": "Render with prefers-color-scheme: dark. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / deviceScaleFactor
        Added value: +{
        +  "description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina.",
        +  "type": "number"
        +}
      • addedInput schema / properties / height
        Added value: +{
        +  "description": "Viewport height in px, 240-2160. Default 900.",
        +  "type": "number"
        +}
      • addedInput schema / properties / hideCookieBanners
        Added value: +{
        +  "description": "Remove elements that look like cookie consent banners. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / timeoutMs
        Added value: +{
        +  "description": "Navigation timeout in ms, 5000-100000. Default 45000.",
        +  "type": "number"
        +}
      • addedInput schema / properties / width
        Added value: +{
        +  "description": "Viewport width in px, 320-3840. Default 1280.",
        +  "type": "number"
        +}
    • Changedurl_to_screenshot10 fields changed
      • addedInput schema / properties / blockAds
        Added value: +{
        +  "description": "Block requests to major ad/analytics domains before rendering. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / clickSelector
        Added value: +{
        +  "description": "CSS selector to click before rendering (expand, dismiss modal, switch tab).",
        +  "type": "string"
        +}
      • addedInput schema / properties / clip
        Added value: +{
        +  "description": "Clip region as \"x,y,width,height\" — or an object {x,y,width,height}. Optional.",
        +  "type": "string"
        +}
      • addedInput schema / properties / darkMode
        Added value: +{
        +  "description": "Render with prefers-color-scheme: dark. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / deviceScaleFactor
        Added value: +{
        +  "description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina.",
        +  "type": "number"
        +}
      • addedInput schema / properties / height
        Added value: +{
        +  "description": "Viewport height in px, 240-2160. Default 900.",
        +  "type": "number"
        +}
      • addedInput schema / properties / hideCookieBanners
        Added value: +{
        +  "description": "Remove elements that look like cookie consent banners. Default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / selector
        Added value: +{
        +  "description": "Capture only the element matching this CSS selector, instead of the page.",
        +  "type": "string"
        +}
      • addedInput schema / properties / timeoutMs
        Added value: +{
        +  "description": "Navigation timeout in ms, 5000-100000. Default 45000.",
        +  "type": "number"
        +}
      • addedInput schema / properties / width
        Added value: +{
        +  "description": "Viewport width in px, 320-3840. Default 1280.",
        +  "type": "number"
        +}
  2. 4 tool updates
    • First observedlist_capabilities
    • First observedurl_to_markdown
    • First observedurl_to_pdf
    • First observedurl_to_screenshot

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Gives an agent a real browser. Turns any url into clean markdown, takes a screenshot of a url, and converts a url or raw html to pdf. It runs javascript, so it works on pages that a plain fetch returns empty. Respects robots.txt and refuses sites that block automation instead of trying to defeat them. No signup and no api key to start: the first call mints a free trial key and hands it back.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to convert files, render web pages to markdown/PDF/screenshots, search the live web, extract structured data, ingest RAG-ready chunks, and monitor pages for changes through a single API key.
    24
    75 npm
    7
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides functionality to fetch and transform web content in various formats (HTML, JSON, plain text, and Markdown) through simple API calls.
    85,207 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.