WELANDA Engraving Designer
Server Details
Design a laser engraving for a WELANDA snus case, preview it and hand the user a checkout link.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
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.
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.
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.
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 toolscreate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| design | Yes | A DesignDocumentV3 (mm-native). templateId/templateVersion are set by the service. | |
| productRef | Yes | A productRef from list_personalizable_products (e.g. "welanda-can-60-black"). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| designId | Yes | The dsg_… id. Knowing the id grants access (128-bit + TTL). |
TDQS
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.
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.
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.
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.
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.
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.
get_handoff_linkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Editor locale for the deeplink (de, en, sv, nb, da, fr, es, it). Default de. | |
| designId | Yes | The dsg_… id to hand off to the customer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the result is a signed deeplink plus a summary and that the customer finishes checkout themselves, implying this is a non-finalizing handoff. But it omits auth requirements, link expiry/signing behavior, and any rate limits, so it only partially covers the behavioral surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with what is returned, followed by the handoff flow. The embedded example of the summary format earns its place as illustration, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with full schema coverage and no output schema, the description explains the return payload (deeplink + summary) and the customer-driven flow, which is what the missing output schema would otherwise need to convey. Only auth/link-lifetime details are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents designId and locale. The description adds a nuance (the summary is English, separate from the editor locale) but does not otherwise extend parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (get the signed handoff deeplink) and clarifies it also returns a short summary, which distinguishes it from the create/get/update design siblings. It stops short of explicitly naming an alternative, but the handoff purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"The customer fine-tunes and checks out themselves" implies the usage context (hand off an existing design so the customer completes the purchase). However, no explicit when-to-use vs siblings and no prerequisites (e.g. that a design must exist first) are stated, leaving the trigger to inference.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | BCP-47 locale (de, en, sv, nb, da, fr, es, it). Default de. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| zoneId | No | Render a single zone; omit to render all zones. | |
| designId | Yes | The dsg_… id to render. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| design | Yes | A full replacement DesignDocumentV3 (no partial patches). | |
| designId | Yes | The dsg_… id returned by create_design. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Original file name (label only; format is detected from bytes). | |
| dataBase64 | Yes | Base64-encoded image bytes (PNG/JPEG/WebP/SVG). No URLs. Max 5 MB decoded. |
TDQS
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.
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.
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.
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.
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.
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.
7 tool updates
- First observed
create_design - First observed
get_design - First observed
get_handoff_link - First observed
list_personalizable_products - First observed
render_preview - First observed
update_design - First observed
upload_asset
Related MCP Connectors
- storeOAuthcom.thenightsky
Design custom star maps and engraved jewellery in chat; checkout finishes on thenightsky.com.
Put any picture on a shirt, hoodie, cap, tumbler or tote; get the link where the person buys it.
- mcpOAuthai.crayonz
Design custom apparel from chat: AI art on tees and hoodies, then a checkout link to buy.
Quote and order waterjet-cut metal parts from a CAD file: instant price and checkout link.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables 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.1MIT
- AlicenseNot gradedqualityBmaintenanceProvides tools and resources for interacting with xTool laser machines, enabling material settings recommendations, design generation, troubleshooting, and machine knowledge through natural language.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to carve Western names into authentic Chinese name seals (印章), returning PNG images with character meanings and explanations.-
- AlicenseAqualityCmaintenanceEnables AI assistants to create, edit, and view GDS layout files using KLayout, with tools for basic shapes and scripting.182MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.