Skip to main content
Glama

Render template to HTML

render_html

Compile a Kamy template — or raw Handlebars source you pass inline — against a data payload and get the rendered HTML string back. No browser runs, no PDF is produced and no file is stored, so this is the tool for piping a template into a transactional email provider, or for inspecting the markup before committing to render_pdf. Use render_pdf instead whenever the output has to be a paginated, printable artifact. Supply exactly one of template or html. Returns { format: 'html', html, bytes }. Paid-tier system templates are refused on the free plan. Counts one render against the monthly quota, since the compile step is the shared cost. Requires a Kamy API key with the render scope; without a key, returns dashboard setup instructions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoValues substituted into the template's Handlebars expressions.
htmlNoRaw Handlebars/HTML source to compile instead of a stored template. Supply exactly one of template or html.
templateNoTemplate slug or UUID — a Kamy system template or one of your own. Supply exactly one of template or html.
directionNoForce the document's lang/dir attributes for RTL/bidi mail clients. 'auto' (default) leaves the template's own <html lang> untouched.

TDQS

A4.7/5.0
Behavior5/5

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

The description fully discloses behavioral traits beyond the annotations: it states the tool is not read-only (mutation expected), not destructive, and not open-world. It adds important context about monthly quota counting, refusal of paid-tier templates on free plan, and the response behavior when no API key is provided (returns setup instructions). No contradiction with annotations since annotations are neutral (readOnlyHint=false, destructiveHint=false, openWorldHint=false) and the description aligns.

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?

The description is relatively compact at about 6 sentences, with good front-loading of the core purpose. Each sentence adds distinct information. Minor reduction could be made by merging the quota and auth sentences, but it is well-structured and avoids redundancy.

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?

Given there is no output schema, the description compensates by specifying the return format ({ format: 'html', html, bytes }). The tool has 4 parameters with 100% schema coverage and moderate complexity (nested data object, mutual exclusion). The description covers the key behavioral aspects (quota, auth, error handling) but does not explain what 'template slug or UUID' means precisely or provide examples of valid template values. Slightly more detail on the response and error cases would push this to 5.

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?

Schema description coverage is 100% (all 4 parameters documented), so baseline is 3. The description adds value by explaining the relationship between template and html (mutually exclusive), introducing the concept of 'template slug or UUID', and clarifying the direction parameter's effect on lang/dir attributes. However, it does not elaborate on data parameter beyond what the schema says about Handlebars substitution, and nested objects are not explained further. This is strong but not exhaustive.

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 compiles a Kamy template or inline Handlebars source with a data payload to produce an HTML string. It explicitly distinguishes the tool from sibling render_pdf by noting what it does not do (no browser, no PDF, no file storage) and names the concrete use cases (piping into email providers, inspecting markup).

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

Usage Guidelines5/5

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

The description gives explicit guidance on when to use this tool versus render_pdf ('Use render_pdf instead whenever the output has to be a paginated, printable artifact'), and specifies the constraint to supply exactly one of template or html. It also lists prerequisites (Kamy API key with render scope) and a condition (paid-tier system templates refused on free plan).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with detailed descriptions that differentiate similar tools (e.g., render_pdf vs render_async vs render_batch, create_signature_request vs create_envelope). No two tools overlap in a way that would cause confusion.

Naming Consistency5/5

All tool names follow a consistent lower_snake_case verb_noun pattern (e.g., attest_artifact, convert_document, list_renders). No mixing of conventions or ambiguous verb choices.

Tool Count4/5

47 tools is high but reflects the broad scope of the platform (document generation, signing, auditing, scheduling, webhooks, verification). Some informational tools could be merged, but the count is still reasonable for the domain.

Completeness3/5

The tool set covers the core document lifecycle well but has notable gaps: no tool to delete renders, no tool to void/cancel signature requests, and no CRUD for templates (only list and schema). The inability to pause schedules via MCP is also a gap.

Resources