Skip to main content
Glama

Create a product

swell_create_product
Destructive

MUTATES LIVE STORE DATA. Create a new product in the store. Provide the common fields directly (name is required); anything else goes in fields, which is merged into the request body. Swell backend REST API: POST /products.

Input Schema

NameRequiredDescriptionDefault
skuNoStock-keeping unit.
nameYesProduct name (required).
typeNoProduct type, e.g. "standard", "subscription", "digital".
priceNoProduct price.
activeNoWhether the product is active/visible.
fieldsNoAny additional product fields, merged into the request body (e.g. attributes, options, images).
descriptionNoProduct description.
stock_levelNoAvailable stock quantity.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already carry destructiveHint=true, but the description reinforces this with a front-loaded "MUTATES LIVE STORE DATA" warning and explains a non-obvious behavior: arbitrary keys in `fields` are merged into the request body. It still omits auth requirements and any side effects on related resources, 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.

Conciseness4/5

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

Four tight sentences with the critical mutation warning front-loaded and no filler. The endpoint line is optional developer metadata but still earns its place by anchoring the tool to the REST API.

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 create tool with a free-form nested `fields` object, full schema coverage, and destructiveHint already declared, the description covers the operation, the required field, and the merging escape hatch. Return-value behavior and auth prerequisites are unaddressed, but no output schema exists so that omission is tolerable.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning beyond the schema: it tells the agent that only `name` is mandatory and that unlisted properties should be funneled through the `fields` object, which the schema does not explain. That merge behavior is the key semantic an agent needs.

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?

States a specific verb and resource ("Create a new product in the store") and even names the underlying REST operation (POST /products), so an agent can distinguish it from swell_update_product and swell_get_product. It does not explicitly name those siblings, but the create verb is unambiguous.

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

Usage Guidelines3/5

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

Gives calling guidance ("name is required; anything else goes in `fields`") rather than selection guidance. There is no explicit statement of when to use this versus swell_update_product or how it relates to the list/get siblings, so usage is only implied by the create semantics.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.