WELANDA Engraving Designer
Design a laser engraving for a WELANDA snus case, preview it and hand the user a checkout link.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"public-editor": {
"url": "https://mcp.welanda.com/mcp"
}
}
}Remote-Endpunkte
https://mcp.welanda.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (7)
🟢list_personalizable_products(locale)
List WELANDA products that can be personalized, with live pricing and the full engraving template (zones + constraints). Call this FIRST so you know each zone's size, allowed fonts, character limits and minimum text size before building a design.
Eingabe-Schema
{
"type": "object",
"properties": {
"locale": {
"description": "BCP-47 locale (de, en, sv, nb, da, fr, es, it). Default de.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡upload_asset(filename, dataBase64)
Upload a logo/image (base64, PNG/JPEG/WebP/SVG, max 5 MB) for use in a design. Returns an assetId; reference it in an image object as { origin:"minio", bucket:"draft", key:"<assetId>" }. Images are re-encoded to PNG server-side (metadata stripped). No URLs — base64 only.
Eingabe-Schema
{
"type": "object",
"properties": {
"filename": {
"type": "string",
"maxLength": 256,
"description": "Original file name (label only; format is detected from bytes)."
},
"dataBase64": {
"type": "string",
"description": "Base64-encoded image bytes (PNG/JPEG/WebP/SVG). No URLs. Max 5 MB decoded."
}
},
"required": [
"filename",
"dataBase64"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_design(productRef, design)
Create a design draft for a product from a DesignDocumentV3. Returns status "valid" with a signed handoffUrl, or status "invalid" with a list of {path, code, message} errors you can fix and resubmit via update_design. Invalid drafts are still saved so you can iterate.
Eingabe-Schema
{
"type": "object",
"properties": {
"productRef": {
"type": "string",
"description": "A productRef from list_personalizable_products (e.g. \"welanda-can-60-black\")."
},
"design": {
"description": "A DesignDocumentV3 (mm-native). templateId/templateVersion are set by the service."
}
},
"required": [
"productRef",
"design"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢render_preview(designId, zoneId)
Render watermarked PNG preview(s) of a VALID design (all zones, or one via zoneId). Returns preview image URLs plus the watermarked preview as inline image content (one per zone) - show it to the user. If the render queue is busy it returns {status:"pending", retryAfterSec} - retry after that delay.
Eingabe-Schema
{
"type": "object",
"properties": {
"designId": {
"type": "string",
"description": "The dsg_… id to render."
},
"zoneId": {
"description": "Render a single zone; omit to render all zones.",
"type": "string"
}
},
"required": [
"designId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_design(designId)
Fetch a draft's current document, status, version, claimed flag, handoff link and previews by its designId.
Eingabe-Schema
{
"type": "object",
"properties": {
"designId": {
"type": "string",
"description": "The dsg_… id. Knowing the id grants access (128-bit + TTL)."
}
},
"required": [
"designId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_design(designId, design)
Replace a draft's design with a new full DesignDocumentV3 (version increments, previews invalidated). Same validation as create_design. Fails with CLAIMED once the customer has opened and claimed the draft in the editor.
Eingabe-Schema
{
"type": "object",
"properties": {
"designId": {
"type": "string",
"description": "The dsg_… id returned by create_design."
},
"design": {
"description": "A full replacement DesignDocumentV3 (no partial patches)."
}
},
"required": [
"designId",
"design"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_handoff_link(designId, locale)
Get the signed handoff deeplink plus a short English summary to present to the customer ("Engraving … on … Personalization +…€"). The customer fine-tunes and checks out themselves.
Eingabe-Schema
{
"type": "object",
"properties": {
"designId": {
"type": "string",
"description": "The dsg_… id to hand off to the customer."
},
"locale": {
"description": "Editor locale for the deeplink (de, en, sv, nb, da, fr, es, it). Default de.",
"type": "string"
}
},
"required": [
"designId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis