Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "cpcl_validate", "epl_validate", "language_detect" and 3 more
⟨22 unchanged words⟩ ,"line":{"type":"integer"},"mesajmessage":{"description":"Human-readable message in the ⟨26 unchanged words⟩ :"object"},"type":"array"},"ozetsummary":{"properties":{"error":{"type":"integer"},"info":{"type":"integer"},"toplamtotal":{"type":"integer"},"warning":{"type":"integer"}},"required":["toplamtotal","error","warning","info"],"type":"object"}},"required":["diagnostics","ozetsummary"],"type":"object"}
⟨22 unchanged words⟩ ,"line":{"type":"integer"},"mesajmessage":{"description":"Human-readable message in the ⟨26 unchanged words⟩ :"object"},"type":"array"},"ozetsummary":{"properties":{"error":{"type":"integer"},"info":{"type":"integer"},"toplamtotal":{"type":"integer"},"warning":{"type":"integer"}},"required":["toplamtotal","error","warning","info"],"type":"object"}},"required":["diagnostics","ozetsummary"],"type":"object"}
{"properties":{"dil":{"description":"Detected printer language","type":"string"},"guvenconfidence":{"description":"Confidence level","type":"string"},"kanitlarevidence":{"items":{"properties":{"kodcode":{"type":"string"},"satirline":{"type":"integer"}},"type":"object"},"type":"array"},"karmalanguage":{"description":"Detected printer language","type":"string"},"mixed":{"description":"True when the input mixes languages","type":"boolean"},"puanlarscores":{"additionalProperties":{"type":"integer"} ⟨3 unchanged words⟩ "type":"object"}},"required":["dillanguage","guvenconfidence","puanlarscores"],"type":"object"}
⟨3 unchanged words⟩ ":"Filter by category","enum":["kargoshipping","urunproduct","rafshelf","paletpallet","qr"],"type":"string"}, ⟨10 unchanged words⟩
⟨22 unchanged words⟩ ,"line":{"type":"integer"},"mesajmessage":{"description":"Human-readable message in the ⟨26 unchanged words⟩ :"object"},"type":"array"},"ozetsummary":{"properties":{"error":{"type":"integer"},"info":{"type":"integer"},"toplamtotal":{"type":"integer"},"warning":{"type":"integer"}},"required":["toplamtotal","error","warning","info"],"type":"object"}},"required":["diagnostics","ozetsummary"],"type":"object"}
{"properties":{"alanlar":{"items":{"properties":{"line":{"type":"integer"},"x":{"type":"integer"},"y":{"type":"integer"}},"type":"object"},"type":"array"},"diagnostics":{"items":{"properties":{"code ⟨17 unchanged words⟩ ,"line":{"type":"integer"},"mesajmessage":{"description":"Human-readable message in the ⟨26 unchanged words⟩ :"object"},"type":"array"},"ozetfields":{"items":{"properties":{"errorline":{"type":"integer"},"infox":{"type":"integer"},"toplamy":{"type":"integer"}},"warningtype":{"object"},"type":"integerarray"},"rfid":{"items":{"type":"object"
Added "save_label" (21 tools before, 22 now)
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.
Changed the definition of "explain_zpl" and "zpl_validate"
FullHuman-readable healthreportREPORT for a finished ZPL label, with a 0-100 score: sectioned findings (syntax, size/DPI, orientation, barcodes, fonts, graphics memory, job behaviour)with an honest score —; 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.
Changed the definition of "zpl_preview"
⟨41 unchanged words⟩ 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.
Certificate changed, valid to 2026-12-19
Changed the definition of "cpcl_validate", "epl_validate", "language_detect" and 2 more
before
—after
{"properties":{"diagnostics":{"items":{"properties":{"code":{"description":"Stable diagnostic code, e.g. ZPL0002","type":"string"},"col":{"type":"integer"},"end_col":{"type":"integer"},"end_line":{"type":"integer"},"line":{"type":"integer"},"mesaj":{"description":"Human-readable message in the requested language","type":"string"},"message_key":{"description":"i18n key for the message","type":"string"},"severity":{"enum":["error","warning","info"],"type":"string"}},"required":["code","severity","line","col"],"type":"object"},"type":"array"},"ozet":{"properties":{"error":{"type":"integer"},"info":{"type":"integer"},"toplam":{"type":"integer"},"warning":{"type":"integer"}},"required":["toplam","error","warning","info"],"type":"object"}},"required":["diagnostics","ozet"],"type":"object"}before
—Changed the definition of "zpl_command_help"
⟨8 unchanged words⟩ , ^BC, ~DG","type":"string"},"locale":{"default":"en","description":"Language for the human-readable fields (name and descriptions). Command codes, syntax strings, examples and parameter names never change.","enum":["en","tr","de"],"type":"string"}},"required":["command"],"type":"object"}
Changed the definition of "convert_zpl_dpi", "cpcl_validate", "epl_validate" and 3 more
{"properties":{"source_dpi":{"description":"Resolution the ZPL was written for, in DPI (not dpmm: 203 DPI = 8 dpmm).","enum":[152,203,300,600],"type":"integer"},"target_dpi":{"description":"Resolution to rescale to, in DPI. Equal to source_dpi means no scaling.","enum":[152,203,300,600],"type ⟨14 unchanged words⟩
Lint CPCL labelcode;codereturnsand return
Changed the definition of "barcode_png", "barcode_verify", "bulk_list" and 18 more
before
—after
Generate barcode PNGbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Generate barcode PNG"}before
—Read back barcodes from an image
Certificate recorded, valid to 2026-10-21
Authorization not required
First tool surface recorded: 21 tools (server version 0.4.0)
Showing the latest 12 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
after
{"properties":{"diagnostics":{"items":{"properties":{"code":{"description":"Stable diagnostic code, e.g. ZPL0002","type":"string"},"col":{"type":"integer"},"end_col":{"type":"integer"},"end_line":{"type":"integer"},"line":{"type":"integer"},"mesaj":{"description":"Human-readable message in the requested language","type":"string"},"message_key":{"description":"i18n key for the message","type":"string"},"severity":{"enum":["error","warning","info"],"type":"string"}},"required":["code","severity","line","col"],"type":"object"},"type":"array"},"ozet":{"properties":{"error":{"type":"integer"},"info":{"type":"integer"},"toplam":{"type":"integer"},"warning":{"type":"integer"}},"required":["toplam","error","warning","info"],"type":"object"}},"required":["diagnostics","ozet"],"type":"object"}before
—after
{"properties":{"dil":{"description":"Detected printer language","type":"string"},"guven":{"description":"Confidence level","type":"string"},"kanitlar":{"items":{"properties":{"kod":{"type":"string"},"satir":{"type":"integer"}},"type":"object"},"type":"array"},"karma":{"description":"True when the input mixes languages","type":"boolean"},"puanlar":{"additionalProperties":{"type":"integer"},"description":"Per-language score","type":"object"}},"required":["dil","guven","puanlar"],"type":"object"}before
—after
{"properties":{"diagnostics":{"items":{"properties":{"code":{"description":"Stable diagnostic code, e.g. ZPL0002","type":"string"},"col":{"type":"integer"},"end_col":{"type":"integer"},"end_line":{"type":"integer"},"line":{"type":"integer"},"mesaj":{"description":"Human-readable message in the requested language","type":"string"},"message_key":{"description":"i18n key for the message","type":"string"},"severity":{"enum":["error","warning","info"],"type":"string"}},"required":["code","severity","line","col"],"type":"object"},"type":"array"},"ozet":{"properties":{"error":{"type":"integer"},"info":{"type":"integer"},"toplam":{"type":"integer"},"warning":{"type":"integer"}},"required":["toplam","error","warning","info"],"type":"object"}},"required":["diagnostics","ozet"],"type":"object"}before
—after
{"properties":{"alanlar":{"items":{"properties":{"line":{"type":"integer"},"x":{"type":"integer"},"y":{"type":"integer"}},"type":"object"},"type":"array"},"diagnostics":{"items":{"properties":{"code":{"description":"Stable diagnostic code, e.g. ZPL0002","type":"string"},"col":{"type":"integer"},"end_col":{"type":"integer"},"end_line":{"type":"integer"},"line":{"type":"integer"},"mesaj":{"description":"Human-readable message in the requested language","type":"string"},"message_key":{"description":"i18n key for the message","type":"string"},"severity":{"enum":["error","warning","info"],"type":"string"}},"required":["code","severity","line","col"],"type":"object"},"type":"array"},"ozet":{"properties":{"error":{"type":"integer"},"info":{"type":"integer"},"toplam":{"type":"integer"},"warning":{"type":"integer"}},"required":["toplam","error","warning","info"],"type":"object"},"rfid":{"items":{"type":"object"},"type":"array"}},"required":["diagnostics","ozet"],"type":"object"}Lint EPL/EPL2 labelcode;codereturnsand 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.
{"properties":{"dpmm":{"default":8,"description":"Printer density (8 = 203 dpi). The size/DPI section is scored against it — pass the real value.","enum":[6,8,12,24],"type":"integer"},"height_in":{"default":6,"description":"Label height in inches; same role as width_in.","type":"number"},"width_in":{"default":4,"description":"Label width in inches; fields outside it are reported.","type":"number"},"zpl":{" ⟨10 unchanged words⟩
Lint TSPL/TSPL2 labelcode;codereturnsand 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.
{"properties":{"dpmm":{"default":8,"description":"Printer density (8 = 203 dpi). The boundary check measures against it — pass the real value.","type":"integer"},"height_in":{"default":6,"description":"Label height in inches. Same as width_in: the boundary check depends on it.","type":"number"},"width_in":{"default":4,"description":"Label width in inches. Fields outside it are reported, so a wrong size makes that finding wrong.","type":"number"},"zpl":{" ⟨9 unchanged words⟩
before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Read back barcodes from an image"}before
—after
List bulk jobsbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List bulk jobs"}before
—after
Bulk job statusbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Bulk job status"}before
—after
Submit bulk label jobbefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Submit bulk label job"}before
—after
Convert ZPL DPIbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Convert ZPL DPI"}before
—after
Render CPCL labelbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Render CPCL label"}before
—after
Validate CPCLbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Validate CPCL"}before
—after
Render EPL labelbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Render EPL label"}before
—after
Validate EPLbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Validate EPL"}before
—after
Explain ZPL health reportbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Explain ZPL health report"}before
—after
Convert image to ZPLbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Convert image to ZPL"}before
—after
Detect printer languagebefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Detect printer language"}before
—after
Get label templatebefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get label template"}before
—after
List label templatesbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List label templates"}before
—after
Render TSPL labelbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Render TSPL label"}before
—after
Validate TSPLbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Validate TSPL"}before
—after
ZPL command helpbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"ZPL command help"}before
—after
Check printer compatibilitybefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Check printer compatibility"}before
—after
Render ZPL labelbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Render ZPL label"}before
—after
Validate ZPLbefore
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Validate ZPL"}