Skip to main content
Glama

Product

product
Read-onlyIdempotent

Product by barcode.

Input Schema

NameRequiredDescriptionDefault
barcodeYes

Output Schema

NameRequiredDescriptionDefault
codeNoProduct barcode
statusNoHTTP status code
productNoProduct details object
status_verboseNoStatus description

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "barcode": "3017620425035"
      +  },
      +  {
      +    "barcode": "5000112128619"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "code": {
      +      "description": "Product barcode",
      +      "type": "string"
      +    },
      +    "product": {
      +      "description": "Product details object",
      +      "properties": {
      +        "brands": {
      +          "description": "Brand names",
      +          "type": "string"
      +        },
      +        "categories": {
      +          "description": "Product categories",
      +          "type": "string"
      +        },
      +        "countries": {
      +          "description": "Countries of origin",
      +          "type": "string"
      +        },
      +        "generic_name": {
      +          "description": "Generic product name",
      +          "type": "string"
      +        },
      +        "nova_group": {
      +          "description": "NOVA group classification",
      +          "type": "number"
      +        },
      +        "nutriscore_score": {
      +          "description": "Nutri-Score numerical value",
      +          "type": "number"
      +        },
      +        "nutrition_grade_fr": {
      +          "description": "Nutri-Score grade",
      +          "type": "string"
      +        },
      +        "product_name": {
      +          "description": "Product name",
      +          "type": "string"
      +        },
      +        "quantity": {
      +          "description": "Product quantity",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "status": {
      +      "description": "HTTP status code",
      +      "type": "number"
      +    },
      +    "status_verbose": {
      +      "description": "Status description",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

C2.3/5.0
Behavior2/5

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

The description adds no behavioral details beyond the existing annotations, which already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. It does not mention what happens on invalid barcodes, data source, or return behavior, leaving the agent without additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is extremely brief (four words), which avoids verbosity but borders on under-specification. It is a fragment rather than a complete instruction, though it conveys the core idea efficiently.

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?

Given the tool's simplicity (one parameter, rich annotations, and an output schema), the description is minimally adequate. However, it fails to provide usage context or edge-case behavior, leaving the agent to infer acceptance criteria from schema examples and the tool's title.

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

Parameters1/5

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

The schema has 0% description coverage for the barcode parameter, and the description merely repeats the parameter name in 'by barcode' without elaborating on format, validation, or acceptable values. The examples in the schema are not part of the description, so no extra semantic information is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource (product) and the input (barcode) but lacks an explicit verb like 'get' or 'lookup'. It reads as a noun phrase rather than a full action statement, making the core purpose inferable but not explicitly stated.

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?

No guidance is provided about when to use this tool or how it differs from sibling tools such as 'brand', 'category', or 'entity_profile'. The description gives no context for selection among alternatives.

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.