Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GROCERY_ZIPNoDefault ZIP, so tools don't need the argument
GROCERY_STORESNoComma-separated allowlist, e.g. Aldi,Lidl,Costco
GROCERY_DB_PATHNoWhere the cache and price history live./data/deals.db
KROGER_CLIENT_IDNoEnables kroger_search
KROGER_LOCATION_IDNoDefault Kroger-banner store
KROGER_CLIENT_SECRETNoEnables kroger_search
GROCERY_CACHE_TTL_HOURSNoHow long the index stays fresh12

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_storesA

List grocery stores near a ZIP code that have an active weekly ad, with how many deals each is running. Start here.

Args: zip_code: 5-digit US ZIP code, e.g. "12345". Optional if the server has a GROCERY_ZIP default configured.

search_dealsA

Search this week's ads across every local grocery store for a product.

Args: query: what you're looking for, e.g. "chicken breast", "greek yogurt". zip_code: 5-digit US ZIP code. Optional if GROCERY_ZIP is set. stores: optional store names to restrict to, e.g. ["Aldi", "Costco"]. max_price: only return items at or below this price. limit: max results (default 25).

store_circularA

Show everything in one store's current weekly ad.

Args: store: store name, e.g. "Giant Food", "Aldi", "Costco". zip_code: 5-digit US ZIP code. Optional if GROCERY_ZIP is set. limit: max items to return (default 150).

shopping_planA

Turn a shopping list into a trip plan: which store to buy each item at.

Args: items: things you want to buy, e.g. ["chicken thighs", "blueberries"]. zip_code: 5-digit US ZIP code. Optional if GROCERY_ZIP is set. max_stores: how many stores you're willing to visit (default 2).

price_checkA

Judge whether a current price is actually good, using the price history this server accumulates. Gets more useful the longer it has been running.

Args: item: the product to evaluate, e.g. "boneless chicken breast". zip_code: 5-digit US ZIP code. Optional if GROCERY_ZIP is set.

refresh_dealsA

Force a rebuild of the deal index from Flipp. Takes 10-20 seconds. Only needed mid-week; the index otherwise refreshes itself.

Args: zip_code: 5-digit US ZIP code. Optional if GROCERY_ZIP is set.

kroger_searchA

Exact SKU-level prices (regular and promo) from a Kroger-banner store via Kroger's official API — Kroger, Harris Teeter, Ralphs, Fred Meyer, King Soopers, QFC, Smith's. More precise than the circular. Requires Kroger API credentials; without them the other tools still work.

Args: query: product term, e.g. "greek yogurt". location_id: store ID from kroger_find_stores. Optional if KROGER_LOCATION_ID is set. limit: max products (default 15).

kroger_find_storesA

Find nearby Kroger-banner store IDs, needed once to use kroger_search.

Args: zip_code: 5-digit US ZIP code. Optional if GROCERY_ZIP is set. chain: optional banner filter, e.g. "Harris Teeter", "Kroger", "Ralphs". Matched against store name and chain code, so the everyday spelling works.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tx-smitht/grocery-deals-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server