Skip to main content
Glama

ingest_products

Ingest (upsert) a batch of products into the BuyWhere catalog. Use this to add or update product listings from any merchant/source. Requires a valid API key with ingest permissions. Accepts up to 1000 products per call with source, SKU, title, price, URL, and optional metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYesData source identifier (e.g. "shopee_sg", "amazon_sg", "lazada_sg")
productsYesArray of product objects to ingest (max 1000)

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 burden of behavioral disclosure. It discloses the upsert semantics, the API key permission requirement, and the 1000-product batch limit. It does not cover failure modes, atomicity, or duplicate handling, but it provides meaningful behavioral context beyond the raw schema.

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 two sentences with no fluff. The primary action and resource are front-loaded, followed by usage guidance, access requirements, and batch limit. Every clause adds value.

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

Completeness3/5

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

The description covers purpose, usage, auth, and batch size, which is adequate for basic invocation. However, there is no output schema and the description does not mention the response format, error behavior, or how the upsert identifies existing products, leaving some ambiguity for an agent.

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 the schema already documents source and products thoroughly. The description names source, SKU, title, price, URL, and optional metadata, but this largely repeats schema information without adding deeper meaning such as the unique key for upsert matching.

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 uses a specific verb and resource: 'Ingest (upsert) a batch of products into the BuyWhere catalog.' It clearly states the tool adds or updates product listings, which distinguishes it from the sibling read/search/compare tools such as get_product and search_products.

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 provides clear use context: 'Use this to add or update product listings from any merchant/source.' It implicitly distinguishes this write/ingest operation from the read-oriented sibling tools, though it does not name alternatives or explicitly state when not to use it.

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.

TDQS

A3.6/5.0
Disambiguation1/5

Five tools have near-identical v1/v2 pairs (compare_products, find_best_price, get_deals, get_product, search_products), making it very hard for an agent to know which variant to call without parsing subtle differences like required deliver_to. Although unique tools exist, the overlap dominates the surface.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun pattern such as search_products, get_deals, compare_products, and list_categories. The versioned variants consistently append _v2, giving a predictable and easy-to-infer naming convention.

Tool Count4/5

13 tools is within a reasonable scope for a product-search and comparison MCP server. However, five of the tools are versioned duplicates that add little distinct capability, making the set feel slightly padded rather than optimally concise.

Completeness4/5

The tool surface covers the core buyer journey: search, compare, best-price lookup, deals, product details, similar products, categories, and catalog ingestion. Gaps are minor, such as no delete/remove catalog operation or dedicated merchant management, but primary shopping and product-discovery tasks are well supported.