Skip to main content
Glama
CupOfOwls

Kroger MCP Server

by CupOfOwls

search_products

Find products at a Kroger store by search term, with optional filters for brand, fulfillment method, and location to match shopper needs.

Instructions

Search for products at a Kroger store.

Input Schema

NameRequiredDescriptionDefault
brandNoOnly return products of this brand. Case-sensitive, for example 'Kroger'.
limitNoNumber of results to return (1-50)
fulfillmentNoOnly return products available by this fulfillment method: ais (available in store), csp (curbside pickup), dth (delivery to home), sth (ship to home)
location_idNo8-character store locationId, for example 01400513. Defaults to the preferred location set with set_preferred_location.
search_termYesProduct search term, for example 'milk' or 'organic apples'. At least 3 characters and at most 8 words separated by single spaces.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changedv0.4.0
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / brand / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / brand / description
      Added value: +"Only return products of this brand. Case-sensitive, for example 'Kroger'."
    • removedInput schema / properties / brand / title
      Removed value: -"Brand"
    • changedInput schema / properties / fulfillment / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "csp",
      -      "delivery",
      -      "pickup"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "ais",
      +      "csp",
      +      "dth",
      +      "sth"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / fulfillment / description
      Added value: +"Only return products available by this fulfillment method: ais (available in store), csp (curbside pickup), dth (delivery to home), sth (ship to home)"
    • removedInput schema / properties / fulfillment / title
      Removed value: -"Fulfillment"
    • removedInput schema / properties / limit / title
      Removed value: -"Limit"
    • changedInput schema / properties / location_id / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^[A-Za-z0-9]{8}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / location_id / description
      Added value: +"8-character store locationId, for example 01400513. Defaults to the preferred location set with set_preferred_location."
    • removedInput schema / properties / location_id / title
      Removed value: -"Location Id"
    • addedInput schema / properties / search_term / description
      Added value: +"Product search term, for example 'milk' or 'organic apples'. At least 3 characters and at most 8 words separated by single spaces."
    • addedInput schema / properties / search_term / minLength
      Added value: +3
    • removedInput schema / properties / search_term / title
      Removed value: -"Search Term"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  2. First observed

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only says the search is store-scoped. It says nothing about result ordering, relevance, pagination behavior, or what happens when the location is invalid or unset, all of which an agent needs before invoking.

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?

A single short sentence with no waste and the core action front-loaded. It is efficient, though its brevity reflects under-specification more than disciplined trimming.

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?

An output schema exists so return values needn't be explained, and the schema documents parameters well. But for a 5-parameter search tool with several near-identical siblings and no annotations, a one-sentence description leaves the agent without the routing or behavioral context it needs.

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%, with each of the five parameters documented including brand case-sensitivity, limit bounds, fulfillment enum meanings, and the 8-character location format. The description adds nothing beyond that, so the baseline 3 applies.

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 and resource ('Search for products') plus its scope ('at a Kroger store'), so the agent knows exactly what it does. However, it does nothing to distinguish it from close siblings like bulk_search_products or search_products_by_id, leaving that differentiation to inference.

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?

There is no guidance on when to use this versus bulk_search_products or search_products_by_id, nor any stated prerequisite. The only usage hint, that it defaults to the preferred location, lives in the schema rather than the description.

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