MCP Sunucusu
Labelixa uzak bir MCP (Model Context Protocol) sunucusu çalıştırır: MCP uyumlu AI istemcileri termal etiket kodunu — ZPL, EPL, TSPL ve CPCL — birinci sınıf araçlarla render eder, doğrular, ayıklar, dönüştürür ve barkod üretir. Claude Desktop ve Claude Code ile doğrulandı; MCP uyumlu her istemci bağlanabilir.
Yapılandırma
Sunucuyu MCP uyumlu istemcinize ekleyin (Claude Desktop biçimi gösterildi). Yerel stdio alternatifi npm'de: labelixa-mcp.
{
"mcpServers": {
"labelixa": {
"type": "http",
"url": "https://api.labelixa.com/mcp"
}
}
}Claude Code, terminalde tek satır:
claude mcp add --transport http labelixa https://api.labelixa.com/mcp
API anahtarıyla (aynı Authorization başlığı JSON istemci girdisinde "headers" altında çalışır):
claude mcp add --transport http labelixa https://api.labelixa.com/mcp --header "Authorization: Bearer lbx_YOUR_KEY"
Örnek istemler
Bağlandıktan sonra düz cümleyle isteyin — aracı istemci seçer. Aşağıdaki istemlerin hepsi bu sunucuya karşı çalıştırıldı:
- Şu ZPL'i doğrula ve tanılamayı açıkla: ^XA^FO40,40^A0N,40,40^FDMerhaba^FS^XZ
- Bu ZPL'i render et ve etiketi göster.
- ^BC ne yapar, Labelixa önizlemesi onu çiziyor mu?
- Bu kod hangi yazıcı dilinde yazılmış?
- https://labelixa.com/mcp için QR kod PNG'si üret
İstemciler
Yapılandırma parçacığını yalnız KENDİ denediğimiz istemciler için yayımlıyoruz. Ötekiler reddedilmiş değil: uzak MCP'yi streamable HTTP ile konuşan her istemciye yukarıdaki uç adresinden başka bir şey gerekmez — biz onları çalıştırmadık ve çalıştığını görmediğimiz bir kurulumu tarif etmeyiz.
| İstemci | Durum |
|---|---|
| Claude Desktop | Denedik, çalışıyor |
| Claude Code | Denedik, çalışıyor |
| Cursor | Biz denemedik |
| VS Code | Biz denemedik |
| Windsurf | Biz denemedik |
| ChatGPT / Codex | Biz denemedik |
| Gemini CLI | Biz denemedik |
Mevcut araçlar
Sunucunun BUGÜN sunduğu araçlar — aşağıdaki liste elle yazılmaz, canlı araç kaydından üretilir:
zpl_preview— Render ZPL label code and return the label as a PNG image.zpl_validate— 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.zpl_command_help— Explain a single ZPL command: syntax, parameters with types/ranges/options, a fragment example and whether the Labelixa renderer draws it.barcode_png— Generate a single barcode as a PNG image (Code 128, QR, DataMatrix, EAN-13, UPC-A, PDF417 and more).language_detect— Detect which printer language raw label code is written in (ZPL, EPL, TSPL or CPCL).epl_validate— Lint EPL/EPL2 label code and return positioned findings with severity as JSON.tspl_validate— Lint TSPL/TSPL2 label code and return positioned findings with severity as JSON.cpcl_validate— Lint CPCL label code and return positioned findings with severity as JSON.explain_zpl— 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.convert_zpl_dpi— Rescale ZPL between printer resolutions (203/300/600 DPI): coordinates, fonts, barcode module width and label size are scaled.template_list— List Labelixa's first-party label template catalog: id, English name, category, size/density and tags.template_get— Fetch one catalog template: metadata, preview image URL and — for non-premium templates — the ZPL source, ready for zpl_preview.save_label— Save a ZPL label to a Labelixa account so it can be edited, versioned and printed later.epl_preview— Render EPL/EPL2 label code and return a PNG preview.tspl_preview— Render TSPL/TSPL2 label code and return a PNG preview.cpcl_preview— Render CPCL label code and return a PNG preview.image_to_zpl— Convert an image (PNG, JPEG, BMP or GIF, max 200 KB) to a ZPL ^GF graphic command.barcode_verify— Decode barcodes from a photo or scan of a PRINTED label (PNG, JPEG, BMP or GIF) and report what a software decoder reads back.zpl_compatibility— Compatibility RISK analysis of ZPL code against a specific printer model, given as manufacturer/model (e.g.bulk_submit— Submit a bulk label production job: one ZPL template with {{variable}} placeholders plus data rows (one object per label).bulk_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).bulk_list— List your recent bulk jobs (id, state, error class, timestamps), newest first.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.
Uç
Streamable HTTP (JSON-RPC): https://api.labelixa.com/mcp. GET bu sayfayı sunar; protokol POST üzerinden konuşur.
Kimlik ve kotalar
Anahtar zorunlu değil: anahtarsız çağrılar IP başına hız sınırlı ücretsiz katmanı paylaşır. Planınızın kotasını kullanmak için anahtarınızı X-API-Key başlığında (ya da Bearer jetonu olarak) gönderin. MCP çağrıları REST API ile AYNI hız ve kota kapılarından geçer — MCP bir kota atlatması değildir.
Bağlandıktan sonra ne olur
İstemci tools/list çağırır ve yukarıdaki araçlar kendi araçlarının yanında görünür. Araç çağrısı REST API ile AYNI yoldan geçer — aynı kimlik, aynı hız sınırı, aynı kota sayaçları — ve ya metin (JSON tanılama) ya da istemcinin satır içinde gösterdiği bir PNG döner. Çağrılar arasında hiçbir şey saklanmaz: sunucu durumsuzdur, her çağrı kendi başınadır.
Sınırlar
- Yalnız POST üzerinden streamable HTTP.
Accept: text/event-streamile GET405veAllow: POSTdöner — SSE oturum kanalı yoktur. - İstek zarfı: 2 MB.
image_to_zplgörsel girdisi: 200 KB;barcode_verify: 5 MB. zpl_previewinceleme için SUNUCU RENDER'ıdır; belirli bir fiziksel yazıcının çıktısının garantisi değildir.- Kapalı bayrağın arkasındaki araçlar
tools/list'te YOKTUR ve çağrılırsa "bilinmeyen araç" alır — liste sözleşmedir. - Toplu işler MCP'den gönderilip durumu sorulabilir; üretilen çıktı REST API'den indirilir.
Sorun giderme
- Uçta 404 — sunucu bayrağı kapalı; sizin tarafınızda yapılandırılacak bir şey yok.
- GET'te 405 — beklenen. Protokol POST ile konuşur.
- Hız sınırı (
429, ör. "3/sn") — anahtarsız çağrılar IP başına sınırlıdır. Yavaşlayın ya da planınızın kotasını kullanmak için API anahtarı gönderin. - "Bilinmeyen araç" — ad
tools/list'te yok (yazım hatası ya da bayrak kapılı araç). - Araç sonuç yerine hata döndürüyor — o metin sunucunun kendi mesajıdır, olduğu gibi geçirilir. Neyin düştüğünü söyler; biz yeniden yazmayız.
Güvenlik ve gizlilik
Araç çağrıları REST API ile aynı durumsuz yoldan geçer: gönderilen etiket kodu bellekte işlenir ve geri döner, saklanmaz. Ayrıntı güvenlik sayfasında.