Skip to main content
Glama
harristeeter-mcp
by chrischall

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_USER_TZNoIANA zone sent with pickup-time requests.America/New_York
MCP_CONFIRM_MODENoask-user (the model must get your OK in chat before using a token), auto, or refuse.ask-user
HARRISTEETER_DEBUGNoSet to 1 for verbose bridge logging to stderr.
MCP_CONFIRM_SECRETNoFixed key for confirm tokens, so a token survives a restart. Default is random per process.
HARRISTEETER_WS_PORTNofetchproxy concentrator port, shared by the whole fleet. Change only if you know why.37149
MCP_CONFIRM_ELICITATIONNooff skips the client's confirmation prompt even when it supports one.on

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ht_search_productsA

Search Harris Teeter groceries by keyword at your pickup store — returns UPC, name, brand, size, price, sale price, unit price and pickup stock. Use the UPC with ht_add_to_cart. With Kroger API credentials set it runs without the browser (source: api.kroger.com); that API prices produce per pound where the website prices it per item.

ht_get_productsB

Look up Harris Teeter products by UPC — price, sale price, size, unit price and stock at your pickup store.

ht_find_storesA

Find Harris Teeter stores near a ZIP code — name, address and the 8-digit location id (set HARRISTEETER_LOCATION_ID to search prices there without the browser). Needs Kroger API credentials.

ht_set_storeA

Choose the Harris Teeter store that bridge-free product search prices against — by ZIP (optionally with part of the store name, e.g. "Park Road") or 8-digit location id — or clear the choice to follow the store picked on harristeeter.com. Saved on this server; does not change the store on your Harris Teeter account.

ht_get_storeA

Show which Harris Teeter store is in use: the one chosen on harristeeter.com (cart, pickup, checkout) and the one bridge-free search prices against, with where that choice came from.

ht_get_cartA

Show the Harris Teeter cart — each item with quantity, name, size and price, plus an estimated subtotal.

ht_add_to_cartA

Add groceries to the Harris Teeter cart by UPC. Adds to any quantity already in the cart. Reversible with ht_update_cart_item / ht_remove_from_cart; nothing is ordered or charged.

ht_update_cart_itemA

Set the quantity (or substitution preference) of items already in the Harris Teeter cart. Quantity 0 removes the item. Nothing is ordered or charged.

ht_remove_from_cartA

Remove items from the Harris Teeter cart by UPC. Re-add with ht_add_to_cart.

ht_list_timeslotsA

List available Harris Teeter pickup windows (next ~7 days) for what is in the cart now, with the fee for each. Pass a window to ht_start_checkout.

ht_get_checkoutA

Show the current Harris Teeter checkout draft — items, pickup window, coupons, fees, tax, total and payment card — plus the link to review and place it.

ht_start_checkoutA

Reserve a Harris Teeter pickup window and create the checkout for the current cart. Returns the real totals (coupons, fees, tax) and a link; the order is NOT placed and nothing is charged — the user reviews it and presses "Place Order" on harristeeter.com. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

ht_list_ordersA

List past Harris Teeter purchases (online orders and in-store receipts on the loyalty card) — date, total, status and item UPCs.

ht_list_upcoming_ordersA

List Harris Teeter orders placed but not yet picked up — the next pickup, its window and status. Empty when nothing is scheduled.

ht_get_receiptA

Read one Harris Teeter purchase in full — every item with quantity, price paid and savings, plus subtotal, coupons, tax and total. Pass a receiptKey from ht_list_orders. The site sometimes refuses this request (its bot protection); if so, open the purchase under My Purchases on harristeeter.com.

ht_list_couponsA

List Harris Teeter e-VIC digital coupons — available (unclipped), clipped to your card, or all — with brand, value and expiry. Use ht_clip_coupon to load one to your card.

ht_clip_couponA

Load a Harris Teeter e-VIC digital coupon to your card (applies at checkout or in store). Undo with ht_unclip_coupon.

ht_unclip_couponA

Remove a clipped e-VIC digital coupon from your card. Re-add with ht_clip_coupon.

ht_list_specialsA

List your personalised Harris Teeter "My Specials" — sale items picked for your card, with sale price, regular price, limit and end date.

ht_get_weekly_adA

Read this week's Harris Teeter weekly ad (Weekly Specials) at your store, by department: 1 Produce, 2 Breads & Bakery, 3 Deli, 4 Dairy & Chilled Foods, 5 Frozen Foods, 6 Meat - Packaged, 7 Meat - Fresh, 8 Seafood, 9 Breakfast Foods, 10 Meal Makers, 11 Baking Items, 12 Snacks & Sweets, 13 Beverages, 14 Beer & Wine, 15 Household Essentials, 16 Pet Essentials, 17 Health Care Essentials, 18 Beauty Care Essentials. Omit department for every department.

ht_get_fuel_pointsB

Show your Harris Teeter fuel points: current balance, earned and redeemed this period, and points expiring next.

ht_search_recipesA

Search Harris Teeter recipes by keyword — title, total time, servings and ingredient count. Use ht_get_recipe for ingredients, steps and matching products.

ht_get_recipeA

Read a Harris Teeter recipe: ingredients, steps, times, servings, and the store products (UPCs) matched to each ingredient — ready for ht_add_to_cart.

ht_list_shopping_listsA

List your Harris Teeter shopping lists — name, item count and listId.

ht_get_shopping_listB

Read one Harris Teeter shopping list with its items.

ht_create_shopping_listB

Create a new, empty Harris Teeter shopping list. Remove it with ht_delete_shopping_list.

ht_rename_shopping_listC

Rename a Harris Teeter shopping list.

ht_delete_shopping_listA

Delete a Harris Teeter shopping list and everything on it. Cannot be undone. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

ht_add_to_shopping_listA

Add items to a Harris Teeter shopping list by UPC (adds to any quantity already there). Undo with ht_remove_from_shopping_list.

ht_remove_from_shopping_listA

Remove items from a Harris Teeter shopping list by UPC. Re-add with ht_add_to_shopping_list.

ht_oa_list_departmentsA

List Harris Teeter Order Ahead departments at your store — deli counter, sandwich shop, pizzas, party and seafood platters, fruit baskets, bakery, holiday meals — with lead time and order cutoff. Order Ahead is paid at pickup.

ht_oa_list_menuB

List the Order Ahead menu for one department — items with name, price, unit and serving size, grouped by category.

ht_oa_get_itemA

Read one Order Ahead item in full — description, price, and any options (bread, toppings, sizes).

ht_oa_list_pickup_timesB

List Order Ahead pickup times on a date for the given departments (e.g. "10:15 AM" … "7:00 PM").

ht_oa_place_orderA

Place a Harris Teeter Order Ahead order (deli, subs, pizza, platters) for pickup — paid at the store when you collect it. The store starts preparing it and there is no cancel from here, so this sends real work to a person. NOT yet verified against a live order: the first real use is the test. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

ht_rx_sessionA

Check whether the Harris Teeter pharmacy session is active. Pharmacy access needs a separate sign-in at harristeeter.com/rx (a one-time code on a browser it does not know) and lasts one hour from sign-in; it cannot be extended.

ht_rx_list_prescriptionsA

List prescriptions at the Harris Teeter pharmacy — drug, Rx number, status (refillable, too soon, no refills), refills remaining, refill due date, last fill, price and prescriber. Needs an active pharmacy session (ht_rx_session).

ht_rx_request_refillA

Request a refill of a prescription for pickup at its Harris Teeter pharmacy, paid at the pharmacy. The pharmacy starts work on it and there is no cancel from here. Needs an active pharmacy session. NOT yet verified against a live refill: the first real request is the test. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

ht_healthcheckA

Round-trips a small public www.harristeeter.com URL (/robots.txt) through ContextMint Bridge (your signed-in browser tab) and returns diagnostics: the bridge's role (host/peer/null), port, version, the extension link (linked / pair pending / not attached / never answered), the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'this browser can't serve a capability' from 'real www.harristeeter.com-side problem'. Read-only, no auth required. Call this when a real tool fails and you want to know which hop broke.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 39 tools

Disambiguation4/5

Tools are split into clearly distinct areas (product search, cart, checkout, lists, coupons, Order Ahead, pharmacy) and most names/descriptions make the intended target obvious. Minor confusion risk exists between ht_search_products vs ht_get_products (keyword vs UPC) and between ht_list_timeslots (cart pickup) and ht_oa_list_pickup_times (Order Ahead departments), but the descriptions disambiguate these adequately.

Naming Consistency4/5

The dominant pattern is ht_verb_noun with consistent subdomain prefixes (ht_oa_*, ht_rx_*), giving predictable grouping and readable names. Deviations are minor: ht_healthcheck (no verb_noun, no sub-prefix) and ht_rx_session (noun-only status check rather than an action verb).

Tool Count3/5

39 tools is heavy for a single server, well beyond the comfortable 3-15 range, and would be hard for an agent to hold in context. It is defensible in that the surface spans four genuinely separate subdomains (shopping, Order Ahead, pharmacy, diagnostics) and each tool maps to a real capability, but there is little slack in the catalogue.

Completeness4/5

Coverage is broad and lifecycle-complete for most areas: cart add/update/remove/get, timeslots → checkout → orders → receipts, full shopping-list CRUD, coupon clip/unclip, Order Ahead menu and ordering, and pharmacy session/prescriptions/refill. Gaps are minor by design (final order placement and refill confirmation stay on the website) plus small omissions like no per-item quantity edit on shopping lists.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues