labelixa-mcp
OfficialLabelixa MCP lets you work with thermal label code through rendering, validation, barcode generation, language detection, ZPL compatibility/help/DPI conversion, and health reporting.
Render ZPL label code to PNG for inspection (
zpl_preview) — server-side render, not a physical-print guarantee.Lint/validate ZPL, EPL/EPL2, TSPL/TSPL2, and CPCL code with structured diagnostics (
zpl_validate,epl_validate,tspl_validate,cpcl_validate).Generate standalone barcodes as SVG or PNG for types including code128, code39, ean13, upca, upce, itf14, msi, qrcode, datamatrix, and pdf417 (
barcode_generate).Detect whether raw label code is ZPL, EPL, TSPL, or CPCL, with a confidence tier (
language_detect).Analyze ZPL compatibility risk against a printer model (
zpl_compatibility).Look up ZPL command catalog details, syntax, parameters, and whether the preview engine renders it (
zpl_command_help).Rescale ZPL coordinates between 203/300/600 dpi, warning when embedded bitmaps are not rescaled (
convert_zpl_dpi).Produce a sectioned ZPL health report with a 0–100 score (
explain_zpl).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@labelixa-mcp Validate this ZPL label and show any errors"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
labelixa-mcp
Labelixa is an MCP (Model Context Protocol) server and API platform for thermal label development. It gives AI assistants and developer tools the ability to render, validate, debug, inspect and convert thermal printer labels — ZPL, EPL, TSPL and CPCL — through MCP.
There are two ways to connect:
Remote server (recommended) | This npm package | |
Endpoint |
| local process over stdio |
Tool set | full set: rendering, validation, debugging, conversion, barcode analysis, printer compatibility, templates, bulk jobs | core subset (table below); each tool calls the Labelixa REST API |
Install | nothing to install |
|
Authentication | optional | optional |
The live tool list of the remote server is at labelixa.com/mcp.
Remote server (no install)
Transport: Streamable HTTP, stateless JSON-RPC over POST. Anonymous use is free and rate-limited per IP; an API key uses the account's own quota. Keys: labelixa.com.
Claude Code:
claude mcp add --transport http labelixa https://api.labelixa.com/mcpWith an API key:
claude mcp add --transport http labelixa https://api.labelixa.com/mcp \
--header "Authorization: Bearer lbx_..."Generic MCP client configuration (Claude Desktop, Cursor and other
clients that accept a url entry):
{
"mcpServers": {
"labelixa": {
"url": "https://api.labelixa.com/mcp",
"headers": {"Authorization": "Bearer lbx_..."}
}
}
}Drop the headers block for anonymous use.
Related MCP server: barcode-mcp
Local server (this package)
npm install -g labelixa-mcpOr skip installing and run it with npx straight from your MCP client
config:
{
"mcpServers": {
"labelixa": {
"command": "npx",
"args": ["-y", "labelixa-mcp"],
"env": {"LABELIXA_API_KEY": "lbx_..."}
}
}
}Environment variables:
LABELIXA_API_KEY— optionallbx_API key. Without it the anonymous quota applies.LABELIXA_BASE_URL— optional; defaults tohttps://api.labelixa.com.
Requests never follow redirects, so a server cannot forward your key to
another host. Numeric inputs are checked before a request is made: dpmm
is 6, 8, 12 or 24, label sides are finite, above 0 and at most 15 inches,
and DPI values are 152, 203, 300 or 600.
Tools in this package
Tool | What it does |
| Renders ZPL to a PNG image for inspection. Server-side render — not a guarantee of how a specific physical printer will output the label. |
| Lints ZPL and returns the structured diagnostics report (unknown commands, parameter ranges, layout overflow) as JSON. Pass the real label size — checks depend on it. |
| Generates a standalone barcode (SVG or PNG): code128, code39, ean13, upca, upce, itf14, msi, qrcode, datamatrix, pdf417. |
| Detects the printer language of raw label code (ZPL/EPL/TSPL/CPCL). Heuristic — returns a confidence tier, not a probability. |
| Lints EPL/EPL2 code; positioned findings with severity, as JSON. |
| Lints TSPL/TSPL2 code; positioned findings with severity, as JSON. |
| Lints CPCL code; positioned findings with severity, as JSON. |
| Compatibility RISK analysis of ZPL against a printer model. Not an emulator — reports language posture with evidence level; never says "it works". |
| Looks up one ZPL command in the maintained catalog: name, syntax, parameters and whether the preview engine actually renders it — printer-side commands are marked as not rendered. Optional |
| Rescales ZPL coordinates between printer resolutions (203/300/600 dpi). Embedded |
| Full sectioned health report (syntax, size/DPI, orientation, barcodes, fonts, memory) with an honest score — sections it cannot assess say "not assessed" instead of counting. |
EPL, TSPL and CPCL previews, label templates, bulk generation,
image-to-ZPL conversion, SBPL / DPL / IPL to ZPL conversion
(printer_language_to_zpl) and barcode reading from photos are on the
remote server only.
Directory listings
Official MCP Registry:
com.labelixa/zpl(remote server + this npm package).Smithery:
labelixa/zpl. Smithery routes calls through its own gateway; the canonical endpoint ishttps://api.labelixa.com/mcp.
Honesty notes
Errors carry the server's own message verbatim; quota exhaustion is reported with the server's
Retry-Afterrather than a made-up delay.zpl_previewis a render, not a print: physical output depends on the printer, media and darkness settings.
Source of this package: github.com/Labelixa/labelixa-mcp. Docs: labelixa.com/docs/api. License: MIT.
Available Tools
11 toolsbarcode_generateAInspect
Generate a standalone barcode (SVG text or PNG image). Supported types include code128, code39, ean13, upca, upce, itf14, msi, qrcode, datamatrix, pdf417.
Inputs: data (required), type (required), format.
convert_zpl_dpiAInspect
Rescale ZPL coordinates between printer resolutions (203/300/600 dpi). Embedded ^GF/~DG bitmap data is NOT rescaled — when present, a Warnings block precedes the output instead of silently passing.
Inputs: zpl (required), source, target.
cpcl_validateAInspect
Lint/validate CPCL label code and return the structured diagnostics report (findings with positions and severity) as JSON.
Inputs: cpcl (required).
epl_validateAInspect
Lint/validate EPL/EPL2 label code and return the structured diagnostics report (findings with positions and severity) as JSON.
Inputs: epl (required).
explain_zplAInspect
Human-readable health REPORT for a finished ZPL label with a 0-100 score, sectioned (syntax, size/DPI, orientation, barcodes, fonts, memory): only assessable sections count, the rest say 'not assessed'. Use it to review or explain a label to a person; for a quick pass/fail check while editing use zpl_validate. Pass the real label size — findings depend on it.
Inputs: zpl (required), dpmm, model, width_in, +1 more.
language_detectAInspect
Detect which printer language raw label code is written in (ZPL, EPL, TSPL or CPCL). Heuristic: returns the language plus a confidence TIER (high/medium/low) and signal codes — not a probability.
Inputs: code (required).
tspl_validateAInspect
Lint/validate TSPL/TSPL2 label code and return the structured diagnostics report (findings with positions and severity) as JSON.
Inputs: tspl (required).
zpl_command_helpAInspect
Look up one ZPL command in the maintained catalog: name, syntax, parameters (types, ranges, defaults) and whether the preview engine actually renders it — printer-side commands are honestly marked as not rendered.
Inputs: command (required), locale.
zpl_compatibilityAInspect
Compatibility RISK analysis of ZPL code against a specific printer model, given as manufacturer/model (e.g. 'zebra/zd421'). NOT an emulator and never says 'it works': reports the model's language posture with evidence level, size-rule findings and the scope of our preview.
Inputs: zpl (required), model (required).
zpl_previewAInspect
Render ZPL label code to a PNG image via the Labelixa API. This is a SERVER-SIDE render for inspection — it is not a guarantee of how a specific physical printer will output the label.
Inputs: zpl (required), dpmm, index, width_in, +1 more.
zpl_validateAInspect
Pass/fail lint for ZPL: machine-readable diagnostics with line/column, code and severity (unknown commands, parameter range errors, layout overflow). Fast; run it before zpl_preview whenever you generate or edit ZPL. For a human-readable report with a score use explain_zpl instead. Pass the real label size — checks depend on it.
Inputs: zpl (required), dpmm, width_in, height_in.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools target clearly distinct actions/resources: preview, validate, explain, compatibility, command help, DPI conversion, barcode generation, and language detection. The main overlap is between zpl_validate and explain_zpl, but descriptions explicitly distinguish a fast pass/fail lint from a human-readable scored report. The parallel epl/tspl/cpcl validators are unambiguous because of their language prefixes.
The vocabulary is readable and mostly snake_case, but ordering conventions vary: zpl_validate (prefix_action), convert_zpl_dpi (verb_object_detail), language_detect and barcode_generate (noun_verb), and zpl_command_help (prefix_noun_noun). The language-prefixed validators are consistent with each other, but the set as a whole mixes patterns.
Eleven tools is well-scoped for a label-code validation/rendering utility. Each tool covers a distinct operation: rendering, validation, explanation, compatibility, lookup, conversion, detection, and barcode generation. No tool appears redundant or gratuitous.
ZPL workflows are well covered end-to-end: preview, lint, explain, compatibility, command lookup, DPI conversion, and barcode generation. EPL, TSPL, and CPCL are only supported for validation, with no preview/explain equivalents, and there is no cross-language conversion or label-generation tool. These are notable but workable gaps for the stated purpose.
Maintenance
Related MCP Connectors
Turn your product list into print-ready label PDFs with barcodes, from your AI assistant.
Manage Zineps shipments, labels, orders, invoices, and partner operations with AI assistants.
Generate chart images, diagrams, barcodes, QR codes and thermal labels on demand. PNG, SVG or PDF o…
Generate barcodes and QR codes in 35 symbologies: QR, Data Matrix, PDF417, EAN-13, Code 128, more.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to decode QR codes from images, with tools for scanning full images and enhancing blurry or reflective regions before decoding, plus quality diagnostics to guide retry strategies.3MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to decode and render barcodes/QR codes and validate GTINs via the Model Context Protocol, with both hosted and self-hosted deployment options.-
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to prepare and preview labels, then safely submit physical print jobs to an Xprinter XP-330B through local stdio or authenticated remote access, with status, cancellation, and retry receipts.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to capture screenshots and PDFs, read web pages as Markdown, preview links, look up DNS/SSL/WHOIS and email records, verify addresses, generate QR codes, barcodes and social images, convert images, and translate text.1944 npmMIT