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.
- Status
- Healthy
- Uptime
- 99.3% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools are cleanly distinguished by input source: html_to_pdf takes an inline HTML document while url_to_pdf takes a public web URL. There is no plausible way for an agent to confuse them.
Both names follow the identical <source>_to_pdf snake_case pattern (html_to_pdf, url_to_pdf). The convention is predictable and immediately readable.
Two tools is on the thin side for a rendering service, though the narrow conversion domain justifies a minimal surface. The two input sources are genuinely distinct, so nothing is wasted, but there is little room for the option variations users typically need.
Core conversion from HTML and URL is covered with useful metadata (page count, size, download URL), but there are no parameters for page size, margins, orientation, headers/footers, or partial page ranges. These are common PDF-generation needs an agent would have to work around entirely.
Available Tools
2 toolshtml_to_pdfHTML to PDFARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | ||
| format | No | A4 | |
| landscape | No | ||
| page_numbers | No |
TDQS
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.
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.
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.
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.
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.
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 PDFARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL or bare domain | |
| format | No | A4 | |
| landscape | No | ||
| page_numbers | No | ||
| include_base64 | No |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
- First observed
html_to_pdf - First observed
url_to_pdf
Related MCP Connectors
Printwren: web page or HTML to PDF with real Chrome; pages, base64 or download link. Free, no key.
Printwren: web page or HTML to PDF with real Chrome; pages, base64 or download link. Free, no key.
HTML or URL to PDF with headless Chrome, and invoice/receipt/quote PDFs from JSON.
Free HTML/URL to PDF conversion API. Convert HTML content or any URL to high-quality PDF documents. No API keys required.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceTurn HTML or a URL into a pixel-accurate PDF in a single tool call.MIT
- AlicenseNot gradedqualityCmaintenanceCaptures full-page screenshots and PDFs from any URL using Chromium rendering, with pay-per-call via x402 micropayments.MIT
- AlicenseNot gradedqualityBmaintenanceEnables converting HTML and CSS into PDFs with print-CSS control over paper size, margins, headers, footers, and page numbers, without a headless browser or JavaScript.MIT
- AlicenseNot gradedqualityDmaintenanceGives 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
Glama MCP Gateway
Add one secure layer between your agents and this server.