Skip to main content
Glama

Import products

import_products
Destructive

Store products in Foldsquare so they can be put in a catalog. It takes products already in the standard shape — foldsquare://schemas/product-import.json describes it. There is no server-side parser: a spreadsheet, CSV or plain list arrives converted into that shape, which is what lets any column naming or export dialect work. Only title is required. id (or failing that sku) is what identifies the product afterwards. Products that cannot be stored are reported individually and the rest still land. On a connected store these are found with search_products source: "foldsquare" — they are not in the store, so the default search does not see them. A product with the same id (or sku) as one already held is UPDATED with the fields given rather than duplicated; onExisting: "skip" leaves such rows as they are.

Input Schema

NameRequiredDescriptionDefault
productsYesProducts in the standard import shape
onExistingNoWhat to do with a product already held under the same id: update it (default) or skip it
idempotencyKeyNoAny string unique to this import; a retry with the same key returns the first result instead of importing again

Output Schema

NameRequiredDescriptionDefault
createdNo
skippedNo
updatedNo
importedYes
productsNo
rejectedYesRows not stored, each with why; the rest still landed
replayedNo
skippedProductsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

The description adds useful behavioral detail beyond the annotations: products that cannot be stored are reported individually while the rest still land, existing products with the same id or sku are updated rather than duplicated, and idempotencyKey prevents duplicate imports on retry. It does not explicitly warn that updating existing products may overwrite fields, though the destructive annotation already signals mutation risk.

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?

The description is front-loaded with the core purpose and then efficiently covers input shape, required fields, partial failures, duplicate handling, visibility, and idempotency. Every sentence contributes operational information without repetition.

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?

Given the tool's complexity, annotations, and output schema, the description is complete enough for correct invocation. It explains the import contract, required product identity, partial-success semantics, update versus skip behavior, and how imported products are found afterward.

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%, but the description still adds meaningful semantics: title is the only required product field, id or sku is the identity key, and products must conform to foldsquare://schemas/product-import.json. It also clarifies how onExisting and idempotencyKey affect import behavior.

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?

The description states a specific verb and resource: storing products in Foldsquare so they can be put in a catalog. It also distinguishes this from a generic import by explaining the standard import shape and the absence of a server-side parser. An agent can tell what this tool is for without opening the 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 description gives clear usage context: products must already be in the standard shape, only title is required, and id or sku determines identity. It also explains default update behavior and the onExisting skip option, though it does not explicitly contrast this tool with update_product for single-product edits.

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.

Resources