Skip to main content
Glama

Printwren: HTML to PDF and URL to PDF (real Chrome)

Server Details

Printwren: web page or HTML to PDF with real Chrome; pages, base64 or download link. Free, no key.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
shawmena-dotcom/product-factory
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are clearly distinct: html_to_pdf accepts raw HTML content, while url_to_pdf fetches a public web page. There is no overlap or ambiguity in their inputs or outputs, making it easy for an agent to select the correct one.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'to_pdf' as the action, prefixed by the input type ('html' and 'url'). This predictable naming convention aligns perfectly with common MCP server conventions.

Tool Count3/5

With only 2 tools, the server feels slightly thin for a typical MCP server, but the narrow scope (HTML/URL to PDF) justifies this count. It is borderline between acceptable and too few, hence a middle score.

Completeness4/5

The server covers the two primary input types for generating PDFs (raw HTML and URLs), which fully addresses its stated purpose. While advanced features like custom headers or margins are not exposed as separate tools, they could be parameters within these tools, so the surface is reasonably complete.

Available Tools

2 tools
html_to_pdfHTML to PDFA
Read-onlyIdempotent
Inspect

Print an HTML document (invoice, report, receipt; up to 200 KB, inline CSS) to PDF with real Chrome. Returns the PDF as base64 with page count and size.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlYes
formatNoA4
landscapeNo
page_numbersNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only and non-destructive behavior. The description adds valuable behavioral details: it returns base64 PDF with page count and size, and mentions constraints (200 KB, inline CSS) and 'real Chrome' for rendering fidelity. No contradiction with annotations.

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 deliver the purpose, constraints, and output format with no fluff. The core action is front-loaded, and every phrase adds information. The structure is efficient and scannable.

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 simple conversion tool, the description covers the main input and output format, including size limits and rendering engine. It does not elaborate on optional parameters, but these are self-explanatory from the schema. The absence of an output schema is mitigated by the explicit return description.

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 0%, so the description must compensate for undocumented parameters. However, it only mentions the html input indirectly and provides no explanation of format, landscape, or page_numbers. The schema's self-explanatory names and defaults are the only help, leaving the agent to infer these parameters' effects.

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 clearly states the verb 'Print' (convert) and the resource 'HTML document' to PDF, with specific use cases (invoice, report, receipt) and a size constraint. It distinguishes from sibling url_to_pdf by implying HTML input rather than a URL, making the tool's role unambiguous.

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 clear context for when to use this tool (HTML input, specific document types) and implies the alternative is url_to_pdf for URL input, but it does not explicitly name the sibling or state when not to use it. The use-case hints are helpful but exclusionary guidance is absent.

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

url_to_pdfWeb page to PDFA
Read-onlyIdempotent
Inspect

Print a public web page to PDF with real Chrome. Returns title, page count, size, a direct download URL and (include_base64=true) the PDF bytes as base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http(s) URL or bare domain
formatNoA4
landscapeNo
page_numbersNo
include_base64No

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value by specifying the output structure (title, page count, size, direct download URL) and the effect of include_base64=true. It does not contradict any annotation and provides useful behavioral detail beyond the structured fields.

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 no filler. The main action is front-loaded, and the return values and key option (include_base64) are mentioned concisely. Every sentence earns its place.

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?

There is no output schema, so the description must explain the return, which it does. It also covers the main customization (include_base64) and the nature of the input (public URL). It lacks explicit guidance on error conditions or the relationship to html_to_pdf, but for a read-only, idempotent tool this is largely sufficient.

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 only 20%, so the description must compensate. It explains include_base64's effect, but does not elaborate on format, landscape, or page_numbers beyond the enum names and defaults. The output list (title, page count, size) is not parameter-specific. This partial compensation is adequate but leaves several parameters semantically thin.

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 clearly states the tool prints a public web page to PDF using real Chrome, and enumerates the return values (title, page count, size, download URL, base64). This is a specific verb+resource that distinguishes it from the sibling html_to_pdf, which presumably handles raw HTML rather than a URL.

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?

It gives clear context: 'public web page' and 'real Chrome' imply this tool is for live URLs, while html_to_pdf likely handles HTML strings. However, it does not explicitly name the alternative or state when not to use this tool, so it misses the explicit exclusion that would warrant a 5.

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. 2 tool updates
    • First observedhtml_to_pdf
    • First observedurl_to_pdf

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
    Not graded
    quality
    B
    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
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.