Skip to main content
Glama
EthanPany

thermal-mcp

by EthanPany

print_html

Render HTML and print it on a thermal receipt printer. Preview first with preview_html, then send your ticket HTML for 58mm black-and-white output, including QR codes, images, and custom styles.

Instructions

Render ticket HTML and print it on the thermal printer. Preview with preview_html first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
htmlYesHTML body fragment to render on 58mm thermal paper (384px wide canvas, unlimited height, 1-bit black & white output). You may include your own <style> tag. Remote images and web fonts (e.g. Google Fonts) ARE supported. Grayscale/color images and gradients are supported — they are dithered to 1-bit with a high-quality algorithm. Special feature: <img data-qr="text or url" width="160"> is replaced with a generated QR code. Call the design_guide tool first for fonts, layout, and house-style guidance (or read the "thermal-print" skill if you're in Claude Code).
modeNobinarization mode: "auto" (default — detects photos/gradients and dithers them, keeps pure text razor-sharp), "text" (hard threshold), "photo" (force Atkinson dithering)
algorithmNophoto dithering algorithm: "atkinson" (default, crisp), "jarvis" (smoother gradients), "bayer" (ordered halftone / newspaper look)
feed_linesNoblank lines fed after the ticket for tearing (default 4)
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It richly discloses behavior: 384px canvas, 1-bit black & white output, dithering support, data-qr feature, remote images/fonts supported. It doesn't state physical paper size (58mm implied), tearing behavior, or possible failure modes, but covers the major behavioral aspects thoroughly.

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?

Front-loaded with the core sentence, then layered technical details. It's a substantial paragraph but every sentence adds value—rendering constraints, dithering, QR, and guidelines are all non-redundant. Dense but justified given the complexity of a rendering tool.

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?

A complex tool (4 params, dithering, QR, rendering constraints) yet the description covers rendering canvas, output format, image handling, QR generation, mode/algorithm defaults, and guidance pointers. No output schema exists, but it accurately describes rendering behavior. Minor gaps: no physical print behavior details (paper, tearing) beyond feed_lines, and no error possibilities.

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 coverage is 100%, so baseline is 3. The description adds substantial value beyond the schema: explains color/grayscale dithering quality, notes 'auto' keeps text razor-sharp, describes the data-qr replacement mechanism, and explains algorithm aesthetics (crisp vs smoother vs newspaper look). This adds depth beyond enum names.

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?

Specific verb+resource: 'Render ticket HTML and print it on the thermal printer.' Clearly distinguishes from siblings (preview_html just previews, print_markdown handles markdown). The purpose is unambiguous.

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?

Tells the agent to 'Preview with preview_html first,' explicitly names the alternate preview tool, and instructs calling design_guide for fonts/layout guidance or the thermal-print skill. Sibling differentiation is clear: preview before printing.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/EthanPany/thermal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server