WELANDA Engraving Designer
Design a laser engraving for a WELANDA snus case, preview it and hand the user a checkout link.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"public-editor": {
"url": "https://mcp.welanda.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp.welanda.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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#"
}Comunidad
Evidencia