Skip to main content
Glama

WELANDA Engraving Designer

Server Details

Design a laser engraving for a WELANDA snus case, preview it and hand the user a checkout link.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 7 tools

Disambiguation4/5

Most tools target distinct actions (create, get, update, render, upload) and resources. However, get_handoff_link overlaps slightly with get_design, which also returns the handoff link, creating minor potential for confusion about which to use when.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (create_design, get_design, list_personalizable_products, etc.), making the set predictable and easy to navigate.

Tool Count5/5

Seven tools is well-scoped for a design creation and handoff workflow: list products, upload asset, create/update/get design, render preview, and get handoff link. Each tool earns its place without redundancy.

Completeness4/5

The surface covers the core lifecycle: discovering products, uploading assets, creating/updating drafts, validating, rendering previews, and handing off to the customer. Minor gaps include no tool to list or delete existing designs, which agents might need in some scenarios.

Available Tools

7 tools
create_designAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
designYesA DesignDocumentV3 (mm-native). templateId/templateVersion are set by the service.
productRefYesA productRef from list_personalizable_products (e.g. "welanda-can-60-black").

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses the two return states (valid with signed handoffUrl, invalid with {path, code, message} errors) and the non-obvious side effect that invalid drafts are still persisted so the caller can iterate. It omits permission/auth requirements and any rate or size limits, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the action and followed immediately by the outcome contract. Every clause carries information (return shape, error structure, persistence behavior, recovery path) with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description takes on the return-value burden and fully discharges it by describing both status branches and the error object shape. Combined with the 100% schema coverage on inputs, an agent has everything needed to call and handle this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented there, so the baseline is 3. The description restates the DesignDocumentV3 input and confirms templateId/templateVersion are service-set, but adds no format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+source ('Create a design draft for a product from a DesignDocumentV3'), and distinguishes itself from the sibling update_design by naming it as the resubmission path. An agent can tell create_design apart from get_design/update_design without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: fix the returned errors and resubmit 'via update_design', and the productRef must come from list_personalizable_products. It gives clear context for follow-on calls but does not state when the tool should not be used (e.g. editing an existing draft).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_designBInspect

Fetch a draft's current document, status, version, claimed flag, handoff link and previews by its designId.

ParametersJSON Schema
NameRequiredDescriptionDefault
designIdYesThe dsg_… id. Knowing the id grants access (128-bit + TTL).

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It does useful work by enumerating the returned payload (status, version, claimed flag, handoff link, previews), which hints at a read-only snapshot, but it discloses nothing about permissions or the id-based TTL access model that the schema mentions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero padding, and the returned-field enumeration is packed efficiently into the same line. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description compensates well by listing the fields returned, so an agent knows what to expect from a call. It is only slightly short of complete because it omits any note on access/TTL semantics or failure behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single designId parameter has 100% schema description coverage, including the dsg_… format and the access-granting TTL note. The description adds only 'by its designId', so the baseline of 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (Fetch) and resource (a draft's current document) and even enumerates the returned fields — document, status, version, claimed flag, handoff link, previews. It is clear what the tool does, but it never distinguishes itself from siblings like get_handoff_link, render_preview, or update_design that overlap with the data it returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no alternative sibling is named (e.g. why not get_handoff_link for the link, or render_preview for previews). The usage is only implied by the verb 'Fetch'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_personalizable_productsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoBCP-47 locale (de, en, sv, nb, da, fr, es, it). Default de.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden, and it delivers meaningfully: it signals that pricing is live/current rather than static, and that the response includes the complete engraving template (zones + constraints) with fonts, character limits and minimum text size. It does not mention auth requirements, rate limits, caching or pagination, which keeps it out of the top band.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler. The what-is-returned information is front-loaded and the usage directive follows immediately, so an agent gets purpose and call-order in one read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe the return payload — and it does, naming products, live pricing, zones, constraints, fonts, character limits and minimum text size. Combined with a fully documented single parameter, nothing needed to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'locale' parameter, including the BCP-47 format, allowed values and the 'de' default, so the schema already does the work. The description never references locale or localization at all, adding nothing beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('List') plus a named resource ('WELANDA products that can be personalized') and an explicit statement of the payload (live pricing, engraving template with zones + constraints). It is immediately distinguishable from the sibling design-CRUD tools (create_design, get_design, update_design), which operate on a single design rather than the product catalog.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Call this FIRST so you know each zone's size, allowed fonts, character limits and minimum text size before building a design' gives an explicit ordering rule and the condition that motivates it. It does not name the alternative tool (create_design) or state a when-not-to-use case, so it falls just short of the top band.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_previewAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneIdNoRender a single zone; omit to render all zones.
designIdYesThe dsg_… id to render.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden and does a solid job: it discloses that output is watermarked, that both URLs and inline image content are returned (one per zone), and the async queue behavior with the exact pending shape and retryAfterSec. Missing only auth/permission requirements and any caching or rate-limit notes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the core verb and resource, and the retry instruction is placed last where it belongs. Slight duplication of the zoneId rule already in the schema keeps it from a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by describing the return shape (URLs plus inline images, one per zone) and the pending-status case. It is nearly complete, lacking only error behavior for invalid or non-VALID designs and any auth context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents both designId (dsg_… id) and zoneId (render a single zone; omit for all). The description's zone guidance restates the schema rather than adding new meaning like ID format or multi-zone batching semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (render) and resource (watermarked PNG preview) scoped to a design, and clarifies it covers all zones or one. It is unmistakably distinct from siblings like create_design, get_design, and update_design.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the when: render a VALID design, and the condition selecting zoneId (render one zone vs. omit for all). It does not name alternatives or explicitly state prerequisites such as when a design becomes VALID, but usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_designAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
designYesA full replacement DesignDocumentV3 (no partial patches).
designIdYesThe dsg_… id returned by create_design.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full burden and does so well: it discloses that this is a full replacement (no partial patches), that the version increments, that previews are invalidated, and that a specific error code (CLAIMED) is returned once the draft is claimed in the editor. These are exactly the side effects and failure modes an agent needs before mutating.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with zero filler; the core action and its consequences lead, with the failure condition last. Every clause carries information an agent cannot get from the structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with no output schema, the description covers action, side effects, validation parity, and the key error path. It does not say what the call returns (e.g. new version identifier or rejected-preview state), which is the only notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented (design as full DesignDocumentV3, designId as the dsg_ id from create_design). The description reinforces the no-partial-patch constraint but adds no syntax or format meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource: replace a draft's design with a full DesignDocumentV3. It also positions itself relative to a sibling by referencing create_design's validation, so an agent can tell it apart from the create path without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The CLAIMED failure clause functions as an explicit when-not condition (do not call after the customer has claimed the draft), and 'Same validation as create_design' points at the sibling. It stops short of naming create_design as the alternative for new drafts, so it is clear context rather than full routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_assetAInspect

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:"" }. Images are re-encoded to PNG server-side (metadata stripped). No URLs — base64 only.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesOriginal file name (label only; format is detected from bytes).
dataBase64YesBase64-encoded image bytes (PNG/JPEG/WebP/SVG). No URLs. Max 5 MB decoded.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the 5 MB cap, accepted formats, the server-side re-encode to PNG, metadata stripping, and the base64-only constraint. It omits auth requirements and failure/error behavior, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense, front-loaded sentences with zero filler: purpose, limits, return/reference syntax, then transformation behavior. Every clause adds actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates fully by naming the return value (assetId) and giving the exact object shape needed to consume it downstream. Nothing an agent needs to call and chain this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents filename as a label, format detection, base64 encoding, and the size limit. The description reinforces these constraints (formats, 5 MB, no URLs) but adds no syntax or format detail beyond the schema — baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (upload) and resource (logo/image asset) plus the destination context ('for use in a design'). Combined with the returned assetId and the reference template, an agent can immediately distinguish it from create_design/update_design/render_preview siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly implies the workflow: upload to obtain an assetId, then reference it in an image object with the exact origin/bucket/key shape. There are no explicit exclusions or named alternatives, but for an ingestion tool with no close sibling, the usage context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • First observedcreate_design
    • First observedget_design
    • First observedget_handoff_link
    • First observedlist_personalizable_products
    • First observedrender_preview
    • First observedupdate_design
    • First observedupload_asset

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables voice-controlled local automation and laser engraving, allowing users to generate engraving previews and G-code from spoken text and send jobs to a laser engraver after confirmation.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides tools and resources for interacting with xTool laser machines, enabling material settings recommendations, design generation, troubleshooting, and machine knowledge through natural language.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to create, edit, and view GDS layout files using KLayout, with tools for basic shapes and scripting.
    18
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources