Rendlet PDF
Server Details
HTML/URL to PDF rendering API with a remote MCP server. Send HTML or a URL, get a print-ready PDF back.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool has a distinct role: informational (get_pricing, list_capabilities), preview (preview_pdf), and generation (html_to_pdf, render_template). html_to_pdf and render_template both output PDFs but are separated by input mode (raw HTML vs structured invoice/itinerary data), so confusion is limited. get_pricing and list_capabilities also overlap slightly in being free informational endpoints, but their outputs differ clearly.
All names use snake_case with mostly verb_noun structure (get_pricing, list_capabilities, preview_pdf, render_template). html_to_pdf is a noun_to_noun conversion pattern rather than verb_noun, a minor deviation from an otherwise predictable convention.
Five tools is well-scoped for a PDF rendering service: discovery (list_capabilities), pricing (get_pricing), trial (preview_pdf), and two production generation paths (html_to_pdf, render_template). Each tool has a clear purpose and none feels redundant or missing at this count.
The surface covers the core lifecycle: learn capabilities, check pricing/quota, preview output, and generate PDFs from HTML or built-in templates. Minor gaps exist—no dedicated tool to list or fetch template schemas/examples (only an external URL is referenced) and no async status for large jobs—but agents can work around these.
Available Tools
5 toolsget_pricingGet Rendlet pricing and how to buyARead-onlyInspect
Use when the user asks about price, hits a quota, or needs more documents. Inputs: none. Output: JSON with the free key, monthly plans with Stripe links, prepaid credit packs with Stripe Payment Links, and the cost of each tool. Cost: free, no key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds value beyond that by disclosing output shape and 'Cost: free, no key', which tells the agent no auth or payment is required to call it. It stops short of describing response size or ordering.
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?
Four short fragments: trigger, inputs, output, cost. Every sentence carries information, and the trigger leads. Nothing is padded or repeated.
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 no-parameter, no-output-schema lookup tool, the description fully equips an agent: it knows when to call, that no arguments are needed, what the JSON contains, and that the call is free with no key.
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?
Zero parameters, so the baseline is 4; the description correctly and explicitly reinforces this with 'Inputs: none', removing any doubt that the call is argument-free.
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 states a retrievable resource (pricing / how to buy) and enumerates the payload: free key, monthly plans with Stripe links, prepaid credit packs, and per-tool cost. Siblings (html_to_pdf, preview_pdf, render_template) are unrelated enough that no explicit differentiation is needed, though list_capabilities is adjacent and is not contrasted.
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?
'Use when the user asks about price, hits a quota, or needs more documents' gives three concrete invocation triggers, including a non-obvious one (quota exhaustion). No when-not guidance or explicit alternative is named, which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
html_to_pdfHTML to PDFARead-onlyInspect
Use to produce a real, full-quality PDF from HTML (reports, receipts, letters). Inputs: "html" (required), "format" (A4|Letter|Legal|A3|A5), "landscape", "margin" (CSS length), "filename". Rendered by headless Chromium with JavaScript disabled; only data: URIs and public https assets load; Chinese text supported. Output: the PDF as an embedded base64 resource plus pages, bytes and remaining quota. Requires "Authorization: Bearer " (or "sandbox" for a watermarked 1-page trial, 5/day). Without a usable key it returns a 402 payment_required result with buy links. Cost: 1 document from your monthly plan (free key: 100/month), or 1 prepaid credit after the cap.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | Full HTML document or fragment. | |
| format | No | A4 | |
| margin | No | CSS length, e.g. 12mm | 12mm |
| filename | No | document.pdf | |
| landscape | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint/openWorldHint, so the description carries the behavioral load and does it well: headless Chromium rendering, JavaScript disabled, asset-loading restrictions, Chinese text support, base64 PDF + pages/bytes/quota in the output, sandbox watermarking with a 5/day cap, and a 402 payment_required failure mode with buy links. Note a mild tension: it fetches public https assets while openWorldHint=false, but the asset set is bounded by caller-supplied HTML, so this is not a clear contradiction.
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?
Three dense sentences, front-loaded with purpose then inputs then runtime/auth/cost behavior; nothing is wasted. The auth-and-billing sentence is information-dense but each clause carries decision-relevant facts.
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?
With no output schema, the description still explains the return payload (embedded base64 PDF, pages, bytes, remaining quota) and covers auth prerequisites, sandbox mode, failure behavior, and per-call cost. An agent has everything needed to invoke it and interpret the result.
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 coverage is only 40%, but the description names every parameter — html (required), format with its enum values, landscape, margin as a CSS length, and filename — compensating for the missing schema descriptions. It adds meaning (paper sizes, CSS-length margins) beyond the bare schema, though it doesn't explain filename's role or margin units further.
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?
States a specific verb+resource ('produce a real, full-quality PDF from HTML') with concrete examples (reports, receipts, letters). The word 'real, full-quality' implicitly contrasts with the sibling preview_pdf, but no sibling is named explicitly, so differentiation is inferred rather than stated.
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?
'Use to produce...' plus auth/cost detail tells the agent the general context, but there is no guidance on when to choose this over render_template (template-driven rendering) or preview_pdf (draft preview), nor any when-not-to-use condition. Usage must be inferred from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_capabilitiesList Rendlet capabilitiesARead-onlyInspect
Use first to learn what Rendlet can render and which tools are free. Inputs: none. Output: JSON listing tools, input modes (HTML, built-in invoice/itinerary templates), page sizes, limits per plan, auth method and links. Cost: free, no key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: cost is zero, no API key is required, and auth method/links are surfaced in the response.
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?
Three tight sentences that are front-loaded with the call-order guidance and then cover inputs, output, and cost. No filler, no restatement of the tool name.
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 describe the return value, and it does: a JSON listing of tools, input modes, page sizes, per-plan limits, auth method, and links. For a zero-parameter discovery tool, nothing an agent needs is missing.
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?
The tool takes zero parameters, which is the baseline-4 case; the description confirms this explicitly with "Inputs: none," eliminating any doubt about whether filtering or scoping arguments exist.
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?
States a specific verb and resource (list Rendlet capabilities) and adds scope the name alone doesn't convey: what can be rendered and which tools are free. An agent can distinguish it from siblings like get_pricing, html_to_pdf, or render_template without opening a schema.
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?
"Use first" gives an explicit ordering cue for when to call it, which is stronger than implied usage. It stops short of naming alternatives or exclusions, and it doesn't address the overlap with the sibling get_pricing despite both covering cost information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_pdfFree watermarked PDF previewARead-onlyInspect
Use to show what a document will look like before paying or signing up. Inputs: optional "html" (string, up to 50 KB; omit to preview the built-in sample invoice). Output: a 1-page low-resolution, PREVIEW-watermarked PDF (rasterized first A4 page) as an embedded base64 resource. Not for production use. Cost: free, no key, 3 previews per IP per day.
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | HTML to preview. Omit to preview the sample invoice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly and closed-world, but the description adds substantial behavioral context: the output is a rasterized first A4 page, low-resolution, preview-watermarked, returned as an embedded base64 resource, plus no auth needed and a 3-per-IP-per-day rate limit. This is exactly the extra 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then inputs, output, and cost in tightly packed sentences. No filler; every clause carries distinct information.
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?
No output schema exists, so the description carries the return-format burden and does so thoroughly (1-page watermarked base64 PDF). Combined with the size cap, sample fallback, and rate limit, an agent has everything needed to call it correctly.
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 coverage is 100% so the parameter is already documented, but the description adds a meaningful constraint (up to 50 KB) and clarifies the omit-to-preview-sample behavior, which is more specific than the schema's 'Omit to preview the sample invoice.'
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?
States a specific verb and resource ('show what a document will look like') and immediately frames the scope as a preview rather than a real conversion, which separates it from sibling html_to_pdf. An agent can tell what it produces 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage context ('before paying or signing up') and an explicit exclusion ('Not for production use'), which routes the agent away from using this as a real renderer. It does not explicitly name the production alternative (html_to_pdf) to send the agent to, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_templateRender built-in templateARead-onlyInspect
Use when you have structured data for an invoice or travel itinerary and want a clean PDF without writing HTML. Inputs: "template" ("invoice": seller, buyer, items, tax_rate, currency; "itinerary": trip, days), "data" (object; full examples at GET https://rendlet.com/v1/templates), "filename". Output: the PDF as an embedded base64 resource plus pages and remaining quota. Same auth and 402 behaviour as html_to_pdf. Cost: 1 document from your monthly plan, or 1 prepaid credit after the cap.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Template data; see https://rendlet.com/v1/templates | |
| filename | No | document.pdf | |
| template | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond by disclosing the return payload (embedded base64 PDF resource, page count, remaining quota), the 402 payment-required behaviour, and an explicit cost model (1 document from the monthly plan, or 1 prepaid credit after the cap). That is exactly the quota/rate-limit context annotations cannot carry.
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?
A single dense paragraph with the use case front-loaded and no filler sentences; each clause carries information (templates, params, output, cost). The heavy parenthetical nesting makes it harder to scan than it could be, but nothing is wasted.
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?
With no output schema, the description correctly covers the return shape, and it covers cost, auth, and both template variants. Remaining gaps are minor: nested data field details and auth specifics are delegated to an external URL and to the html_to_pdf sibling rather than stated here.
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 coverage is only 33%, but the description compensates by enumerating what each template's data object expects (invoice: seller, buyer, items, tax_rate, currency; itinerary: trip, days) and by naming the filename parameter. It still defers full field shapes to an external URL and doesn't mark which nested fields are optional, so it stops short of fully closing the gap.
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?
States a specific verb and resource (render a built-in template) and names the two concrete templates available (invoice, itinerary) plus the output format (clean PDF). It implicitly distinguishes itself from the sibling html_to_pdf by framing the value as 'without writing HTML', so an agent can tell which tool applies.
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 opening clause gives a clear when-to-use condition: structured data for an invoice or itinerary where a PDF is wanted without authoring HTML. It references html_to_pdf for shared auth behaviour but never explicitly says 'use html_to_pdf instead when you need custom HTML/layout', so the routing rule is implied rather than stated.
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.
3 tool updates
- Added
get_pricing - Added
list_capabilities - Added
preview_pdf
2 tool updates
- First observed
html_to_pdf - First observed
render_template
Publisher details
- Operator
- Rendlet · Publisher source
- Operator website
- https://rendlet.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- Unknown
- Trust center
- Not available
- Restrictions
- Freemium: free plan available; paid plans for higher volume. Details at https://rendlet.com/pricing · Publisher source
Related MCP Connectors
A remote MCP server to convert HTML documents (URL or raw source) to PDF or screenshots
HTML and CSS to PDF MCP server with page headers, footers and page numbers. No headless browser.
Remote MCP server for HTML-to-PDF and screenshots with OAuth and API-key auth.
MCP server for Api2Pdf — generate PDFs & images from HTML, URLs or office files; merge, barcodes.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceMCP server that converts HTML or URLs to PDF, captures screenshots, and generates EU-compliant e-invoices (Factur-X/ZUGFeRD).323 npmMIT- AlicenseNot gradedqualityBmaintenanceRender HTML/markdown to PDF, export rows to xlsx, and fill AcroForm PDFs via MCP. STDIO or Streamable HTTP.142 npm3Apache 2.0
- AlicenseAqualityDmaintenanceWrite and read PDF documents via MCP: generate PDFs from HTML, URLs, or templates, and extract text from PDFs with OCR support.249 npmMIT
- MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.