Labelixa

com.labelixa由 labelixa.com 發布官方發布者v0.5.2更新於 Nov 1, 2026

Thermal label MCP server: render, validate, debug and convert ZPL, EPL, TSPL and CPCL labels.

已驗證Streamable HTTP可網頁執行開發者工具媒體與設計

概覽

AI 產生的概覽

Labelixa 可渲染、檢查、除錯並轉換熱感標籤程式碼(ZPL、EPL、TSPL、CPCL),讓助理以 PNG 預覽標籤並找出錯誤。

可以做什麼
  • 檢查與預覽標籤程式碼:對 ZPL、EPL、TSPL、CPCL 提供含位置的診斷,並渲染成 PNG 預覽
  • 檢視與修正 ZPL:查詢單一指令的語法與參數、取得評分式健康報告、在 203/300/600 DPI 之間換算,並評估對特定印表機型號的相容性風險
  • 處理條碼與影像:產生獨立條碼 PNG、從列印標籤的照片解碼條碼、把影像轉成 ZPL 圖形指令
  • 辨識與轉換語言:判斷原始程式碼是 ZPL、EPL、TSPL 或 CPCL,並把 SATO SBPL、Honeywell DPL 或 IPL 串流轉成 ZPL
  • 使用範本與批次工作:列出並取得官方標籤範本、把標籤存到帳號、提交並追蹤可變資料批次工作
適用情境
適合助理撰寫或修改熱感標籤程式碼時需要查看渲染結果、在列印前找出語法與版面錯誤,或在印表機語言與解析度之間搬移標籤的情況。也適合以範本加可變資料批次生產標籤的團隊。
執行需求
可使用遠端端點(Streamable HTTP,免安裝),或以 npx 或全域安裝執行本機 npm 套件,後者需要 Node.js 並呼叫 Labelixa REST API。可選擇提供 lbx_ API 金鑰,透過 Authorization Bearer 標頭或 LABELIXA_API_KEY 環境變數傳入;未提供時適用依 IP 的匿名配額。需要網路連線。
安裝前請注意
匿名使用依 IP 限流;API 金鑰會傳送給 Labelixa 並啟用帳號配額。儲存標籤會寫入 Labelixa 帳號,沒有金鑰時標籤只保留 24 小時並回傳一次性登入連結。批次工作需要包含該功能的方案,依列預先扣除配額,失敗的列不退還。進階範本的 ZPL 原始碼需要符合條件的方案。預覽是伺服器端渲染,不能保證實體印表機的實際輸出。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Labelixa,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.labelixa%2Fzpl/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "labelixa": {
      "type": "http",
      "url": "https://api.labelixa.com/mcp"
    }
  }
}

README

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
Endpointhttps://api.labelixa.com/mcplocal process over stdio
Tool setfull set: rendering, validation, debugging, conversion, barcode analysis, printer compatibility, templates, bulk jobscore subset (table below); each tool calls the Labelixa REST API
Installnothing to installnpx -y labelixa-mcp or npm install -g labelixa-mcp
Authenticationoptional lbx_ API keyoptional lbx_ API key

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:

sh
claude mcp add --transport http labelixa https://api.labelixa.com/mcp

With an API key:

sh
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):

json
{  "mcpServers": {    "labelixa": {      "url": "https://api.labelixa.com/mcp",      "headers": {"Authorization": "Bearer lbx_..."}    }  }}

Drop the headers block for anonymous use.

Local server (this package)

sh
npm install -g labelixa-mcp

Or skip installing and run it with npx straight from your MCP client config:

json
{  "mcpServers": {    "labelixa": {      "command": "npx",      "args": ["-y", "labelixa-mcp"],      "env": {"LABELIXA_API_KEY": "lbx_..."}    }  }}

Environment variables:

  • LABELIXA_API_KEY — optional lbx_ API key. Without it the anonymous quota applies.
  • LABELIXA_BASE_URL — optional; defaults to https://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

ToolWhat it does
zpl_previewRenders ZPL to a PNG image for inspection. Server-side render — not a guarantee of how a specific physical printer will output the label.
zpl_validateLints ZPL and returns the structured diagnostics report (unknown commands, parameter ranges, layout overflow) as JSON. Pass the real label size — checks depend on it.
barcode_generateGenerates a standalone barcode (SVG or PNG): code128, code39, ean13, upca, upce, itf14, msi, qrcode, datamatrix, pdf417.
language_detectDetects the printer language of raw label code (ZPL/EPL/TSPL/CPCL). Heuristic — returns a confidence tier, not a probability.
epl_validateLints EPL/EPL2 code; positioned findings with severity, as JSON.
tspl_validateLints TSPL/TSPL2 code; positioned findings with severity, as JSON.
cpcl_validateLints CPCL code; positioned findings with severity, as JSON.
zpl_compatibilityCompatibility RISK analysis of ZPL against a printer model. Not an emulator — reports language posture with evidence level; never says "it works".
zpl_command_helpLooks 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 locale (en default, tr, de) translates the name and descriptions only; command codes, syntax strings, examples and parameter names are protocol and never change.
convert_zpl_dpiRescales ZPL coordinates between printer resolutions (203/300/600 dpi). Embedded ^GF/~DG bitmaps are NOT rescaled — a warnings block precedes the output when present.
explain_zplFull 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 is https://api.labelixa.com/mcp.

[smithery badge]

Honesty notes

  • Errors carry the server's own message verbatim; quota exhaustion is reported with the server's Retry-After rather than a made-up delay.
  • zpl_preview is 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.

來源:README.md,提交 912e636

工具

23

zpl_preview

Render ZPL label

Render ZPL label code and return the label as a PNG image. Use this to SEE what ZPL output looks like — LLMs can write ZPL but cannot otherwise verify the visual result. One call renders one label (use `index` to pick a label from a multi-label stream). The result also carries an 'Open this label in the Labelixa editor' link the user can click to edit, save or share the label.

輸入參數zpl必填dpmmindexwidth_inheight_in

zpl_validate

Validate ZPL

Pass/fail lint for ZPL — machine-readable diagnostics with line/column, code and severity: unknown commands, missing ^FS, out-of-range parameters, fields outside the label. Fast; run it before zpl_preview whenever you generate or edit ZPL. For a human-readable report with a score, use explain_zpl instead.

輸入參數zpl必填dpmmwidth_inheight_in

zpl_command_help

ZPL command help

Explain a single ZPL command: syntax, parameters with types/ranges/options, a fragment example and whether the Labelixa renderer draws it. Data comes from the same catalog that powers the public command reference pages.

輸入參數localecommand必填

barcode_png

Generate barcode PNG

Generate a single barcode as a PNG image (Code 128, QR, DataMatrix, EAN-13, UPC-A, PDF417 and more). For a full label with text and layout, write ZPL and use zpl_preview instead.

輸入參數data必填type

language_detect

Detect printer language

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.

輸入參數code必填

epl_validate

Validate EPL

Lint EPL/EPL2 label code and return positioned findings with severity as JSON. Checks the command set Labelixa implements from the EPL2 manual — a clean result is not a guarantee that a specific printer accepts the job. Run this before epl_preview; if you are not sure which language the code is, call language_detect first.

輸入參數epl必填

tspl_validate

Validate TSPL

Lint TSPL/TSPL2 label code and return positioned findings with severity as JSON. Checks the command set Labelixa implements from the TSPL2 manual — a clean result is not a guarantee that a specific printer accepts the job. Run this before tspl_preview; if you are not sure which language the code is, call language_detect first.

輸入參數tspl必填

cpcl_validate

Validate CPCL

Lint CPCL label code and return positioned findings with severity as JSON. Checks the command set Labelixa implements from the CPCL manual — a clean result is not a guarantee that a specific printer accepts the job. Run this before cpcl_preview; if you are not sure which language the code is, call language_detect first.

輸入參數cpcl必填

explain_zpl

Explain ZPL health report

Human-readable health REPORT for a finished ZPL label, with a 0-100 score: sectioned findings (syntax, size/DPI, orientation, barcodes, fonts, graphics memory, job behaviour); sections that cannot be assessed say so and are excluded from the score. Use it to review or explain a label to a person; for a quick pass/fail check while editing, use zpl_validate instead.

輸入參數zpl必填dpmmwidth_inheight_in

convert_zpl_dpi

Convert ZPL DPI

Rescale ZPL between printer resolutions (203/300/600 DPI): coordinates, fonts, barcode module width and label size are scaled. Embedded ^GF/~DG image data is NOT scaled; the response says so instead of silently passing it through.

輸入參數zpl必填source_dpi必填target_dpi必填

template_list

List label templates

List Labelixa's first-party label template catalog: id, English name, category, size/density and tags. Read-only product content (no tenant data). Fetch one with template_get; render its ZPL with zpl_preview.

輸入參數searchcategory

template_get

Get label template

Fetch one catalog template: metadata, preview image URL and — for non-premium templates — the ZPL source, ready for zpl_preview. Premium templates return metadata for everyone; their ZPL source requires an API key whose plan includes the premium-template feature (same rule as the website).

輸入參數template_id必填

save_label

Save label to account

Save a ZPL label to a Labelixa account so it can be edited, versioned and printed later. With an API key the label is saved immediately and the saved label id is returned. Without a key the label is held for 24 hours and a one-time link is returned: the user opens it, signs in (free account is enough) and the label lands in their account. Nothing else is stored for anonymous calls.

輸入參數zpl必填dpmmnamewidth_inheight_in

epl_preview

Render EPL label

Render EPL/EPL2 label code and return a PNG preview. The preview assumes 203 dpi and is an interpretation of the EPL2 manual covering a core command subset — no physical printer validation. `labels` in the response is the TOTAL number of labels the stream prints (a stream may contain several, each ended by `P`); pass `index` to render a different one.

輸入參數epl必填index

tspl_preview

Render TSPL label

Render TSPL/TSPL2 label code and return a PNG preview. The preview assumes 203 dpi and is an interpretation of the TSPL manual covering a core command subset — no physical printer validation. `labels` in the response is the TOTAL number of labels the stream prints (a stream may contain several, each ended by `PRINT`); pass `index` to render a different one.

輸入參數tspl必填index

cpcl_preview

Render CPCL label

Render CPCL label code and return a PNG preview. The preview assumes 203 dpi and is an interpretation of the CPCL manual covering a core command subset — no physical printer validation. `labels` in the response is the TOTAL number of labels the stream prints (a stream may contain several, each ended by `PRINT`); pass `index` to render a different one.

輸入參數cpcl必填index

image_to_zpl

Convert image to ZPL

Convert an image (PNG, JPEG, BMP or GIF, max 200 KB) to a ZPL ^GF graphic command. Returns the ZPL plus measured dimensions and the physical print size at the chosen density. PDF input is REST-only (/v1/graphics).

輸入參數dpmmwrapditherimage_base64必填

barcode_verify

Read back barcodes from an image

Decode barcodes from a photo or scan of a PRINTED label (PNG, JPEG, BMP or GIF) and report what a software decoder reads back. Honest by design: 'read' does not guarantee every handheld scanner will read it, and 'not read' does not condemn the label (photo angle/focus matter) — the response says so.

輸入參數image_base64必填

zpl_compatibility

Check printer compatibility

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 and size-rule findings.

輸入參數zpl必填model必填

bulk_submit

Submit bulk label job

Submit a bulk label production job: one ZPL template with {{variable}} placeholders plus data rows (one object per label). Requires an API key whose plan includes bulk jobs. Quota is charged UPFRONT, one operation per row, and failed rows are not refunded; rows per job are capped by plan. Returns the job id — check bulk_status (small jobs usually finish within seconds).

輸入參數zpl必填dpmmrows必填outputwidth_inheight_in

bulk_status

Bulk job status

Status of one bulk job you own: state, attempt count and — when finished — the summary with produced count and per-row failures (row number + reason; failed rows never block the rest). Finished outputs stay downloadable for 7 days via the REST endpoint the response names.

輸入參數job_id必填

bulk_list

List bulk jobs

List your recent bulk jobs (id, state, error class, timestamps), newest first. Useful to recover a lost job id; details via bulk_status.

輸入參數limit

printer_language_to_zpl

Convert printer language to ZPL

Convert a SATO SBPL, Honeywell (Datamax) DPL or Honeywell (Intermec) IPL label stream to ZPL, so it can be checked with zpl_validate and rendered with zpl_preview. You must name the source language: language_detect does not recognise these three. Real control characters and the manuals' readable notation (<STX>, <ESC>) are both accepted. Commands outside the supported subset (printer settings, RFID, job management, some 2D symbologies) are skipped with a warning, never silently: non-empty `warnings` mean the conversion is not 1:1 and `one_to_one` is false — show the warnings to the user. The output follows each manufacturer's command reference and is not verified on physical printers; check a preview and a test print before production.

輸入參數code必填dpmmlabel_length_mmsource_language必填

版本歷史

7
  1. v0.5.2最新Nov 1, 2026
  2. v0.5.1Oct 23, 2026
  3. v0.5.0Oct 20, 2026
  4. v0.4.2Oct 16, 2026
  5. v0.4.1Sep 28, 2026
  6. v0.4.0Sep 17, 2026
  7. v0.3.5Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分