Skip to main content
Glama

product-barcode-api

Fetch Product

get_api_external_getProducts

Lists products using pagination. Billing per call: Credits: metered (~207.26 avg).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 0)0
sizeNoPage size (default: 10, maximum: 100). It returns a number of products equal to the page size and consumes credits based on the number of products returned.20
marketPricesNoIt controls whether or not price information for the requested products at stores is retrieved. If set to `true`, the product's store prices are also returned; if set to `false` or left unspecified, only the product's basic information is retrieved. If data is available, +1 credit is spent for each market-price data point.false
historyPricesNoAdds historical price information for the requested product from available markets to the response. The `marketPrices` parameter must be set to `true`. If historical price information is available, 1 credit is consumed.false
preferredMarketsNoIt allows the user to specify the preferred markets for which they wish to see product prices. If this parameter is provided, price information is returned in the `markets` field only for the markets listed. If the parameter is not provided, price information for all markets is displayed. If the user wishes to specify multiple markets, they can submit them separated by commas (e.g., `preferredMarkets=A101,Migros`). If data is available, +1 credit is consumed for each market-price data point.A101,Migros

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool is metered (~207.26 avg credits) and uses pagination. However, it does not state whether the operation is read-only, whether there are side effects, rate limits, or what happens on errors. The billing information is a useful behavioral trait, but the description fails to cover other important behavioral aspects that an agent would need to know for safe and effective use.

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?

The description is extremely concise, consisting of two short sentences. It front-loads the primary purpose ('Lists products using pagination') and then mentions cost. No wasted words. It is clear and well-structured, though sparse in content. The brevity is appropriate for a minimal description, even if it lacks depth.

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

Completeness2/5

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

Given that the tool has 5 parameters, no output schema, and no annotations, the description is too sparse. It does not explain what fields are returned, how to interpret the pagination response, or when to use this tool compared to siblings. The description only states the basic purpose and billing, leaving significant gaps in context that an agent would need to make an informed decision. This is inadequate for a tool of this complexity.

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 input schema has 100% coverage with detailed descriptions for each parameter, including credit costs and dependencies (e.g., historyPrices requires marketPrices=true). The description itself only mentions 'pagination' generally, adding little beyond the schema. Since the schema already documents parameters thoroughly, the baseline of 3 is appropriate; the description does not need to duplicate schema details.

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 states a specific verb+resource: 'Lists products using pagination.' This clearly indicates the tool's core function. However, it does not explicitly distinguish it from siblings like search or product_of_market, which might also list products. The name 'getProducts' helps differentiate, but the description alone is somewhat generic. Still, it provides a clear primary purpose.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention search, history, or other sibling tools, nor does it state when this tool is preferred. The only directive is about pagination, which is a usage detail rather than a selection criterion. This leaves the agent to infer usage context from the name alone.

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

B3.4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes: search, paginated product listing, product-by-market pricing, price history, recent products, and market names. The main overlap is that product_of_market can optionally include price history while a dedicated history tool also exists, so an agent might occasionally choose between them.

Naming Consistency2/5

All tool names share the get_api_external_ prefix, but the remaining portion is inconsistent: some use camelCase (getProducts, marketList), some use snake_case (get_db_info, product_of_market), and some use bare nouns (history, last, search). This mixed convention makes the tool surface feel less predictable.

Tool Count5/5

Seven tools is well-scoped for a product barcode and pricing API. Each tool covers a meaningful query type without unnecessary bloat or redundancy.

Completeness4/5

The read-oriented surface covers searching, listing, product-market pricing, price history, recent updates, and market filter data. A minor gap is the lack of a dedicated product-details-by-barcode endpoint across all stores without requiring a store name, though search partially fills this.

Resources