texas-grocery-mcp

MCP.Pizza Chef: mgwalkerjr95

This MCP server connects your AI assistant to H-E-B grocery stores, letting you search products, view details like ingredients and nutrition, manage your shopping cart, and clip digital couponsβ€”all through natural conversation in Claude Desktop. It handles session management automatically, including login and bot detection refreshes. Setup requires some developer steps like installing packages and configuring your Claude app, but no API keys are needed.

Other
Web/Research

Use This MCP server To

Find nearby H-E-B stores by address or zip code Search for grocery products with prices and availability Get detailed product info like ingredients and nutrition Add or remove items from my H-E-B shopping cart Clip and manage digital coupons for savings Save my login for automatic session refresh Check my cart contents anytime

README

πŸ›’ Texas Grocery MCP

PyPI version License: MIT CI

πŸ€– Let AI do your grocery shopping! An MCP server that connects Claude to H-E-B grocery stores.

Search products, manage your cart, clip coupons, and more β€” all through natural conversation.

⚠️ This project is not affiliated with H-E-B. It uses unofficial web APIs and browser automation against HEB.com; use responsibly and ensure your usage complies with applicable terms and laws.


✨ Features

Feature Description
πŸͺ Store Search Find HEB stores by address or zip code
πŸ” Product Search Search products with pricing and availability
πŸ›’ Cart Management Add/remove items with human-in-the-loop confirmation
πŸ“‹ Product Details Ingredients, nutrition facts, allergens, warnings
🎟️ Digital Coupons List, search, and clip coupons to save money
πŸ”„ Auto Session Refresh Handles bot detection automatically (~15 seconds)

πŸ“¦ Installation

Quick Start

pip install texas-grocery-mcp

Full Installation (Recommended) πŸš€

pip install texas-grocery-mcp[browser]
playwright install chromium

This enables fast auto-refresh (~15 seconds) using an embedded browser.

Prerequisites

For cart operations and session management, you'll also need Playwright MCP:

npm install -g @anthropic-ai/mcp-playwright

βš™οΈ Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-playwright"]
    },
    "heb": {
      "command": "uvx",
      "args": ["texas-grocery-mcp"],
      "env": {
        "HEB_DEFAULT_STORE": "590"
      }
    }
  }
}

Environment Variables

Variable Description Default
HEB_DEFAULT_STORE Default store ID None
REDIS_URL Redis cache URL None (in-memory)
LOG_LEVEL Logging level INFO

🎯 Usage Examples

πŸͺ Finding a Store

User: Find HEB stores near Austin, TX

Agent uses: store_search(address="Austin, TX", radius_miles=10)

πŸ” Searching Products

User: Search for organic milk

Agent uses: store_change(store_id="590")
Agent uses: product_search(query="organic milk")

πŸ“‹ Getting Product Details

User: What are the ingredients in H-E-B olive oil?

Agent uses: product_search(query="heb olive oil")
Agent uses: product_get(product_id="127074")
# Returns: ingredients, nutrition facts, warnings, dietary attributes

The product_get tool returns:

  • πŸ₯— Ingredients - Full ingredient statement
  • πŸ“Š Nutrition Facts - Complete FDA panel
  • ⚠️ Safety Warnings - Allergen info and precautions
  • 🌿 Dietary Attributes - Gluten-free, organic, vegan, kosher, etc.
  • πŸ“ Store Location - Aisle or section

πŸ›’ Adding to Cart

User: Add 2 gallons of milk to my cart

Agent uses: cart_add(product_id="123456", quantity=2)
# Returns preview for confirmation

Agent uses: cart_add(product_id="123456", quantity=2, confirm=true)
# βœ… Added to cart!

🎟️ Clipping Coupons

User: Find coupons for cereal

Agent uses: coupon_search(query="cereal")
Agent uses: coupon_clip(coupon_id="ABC123", confirm=true)
# βœ… Coupon clipped!

πŸ” Session Management

HEB uses bot detection that expires every ~11 minutes. This MCP handles it automatically!

⚑ Fast Auto-Refresh (Recommended)

With [browser] support installed:

Agent uses: session_refresh()
# βœ… Completes in ~10-15 seconds

πŸ”‘ Auto-Login

Save your credentials once for automatic login:

Agent uses: session_save_credentials(email="you@email.com", password="...")
# Credentials stored securely in system keyring
# Future session refreshes will auto-login!

🧰 Available Tools

πŸͺ Store Tools

Tool Description
store_search Find stores by address
store_change Set preferred store
store_get_default Get current default store

πŸ” Product Tools

Tool Description
product_search Search products with pricing
product_search_batch Search multiple products (up to 20)
product_get Get detailed product info

πŸ›’ Cart Tools

Tool Description
cart_check_auth Check authentication status
cart_get View cart contents
cart_add Add item (requires confirmation)
cart_add_many Bulk add multiple items
cart_remove Remove item

🎟️ Coupon Tools

Tool Description
coupon_list List available coupons
coupon_search Search coupons by keyword
coupon_clip Clip a coupon
coupon_clipped List your clipped coupons

πŸ” Session Tools

Tool Description
session_status Check session health
session_refresh Refresh/login session
session_save_credentials Save credentials for auto-login
session_clear Logout

πŸ“š Documentation

  • πŸ”§ Troubleshooting Guide - Solutions for common issues
  • 🀝 Contributing - How to contribute
  • πŸ“ Changelog - Version history
  • πŸ”’ Security - Security policy

πŸ› οΈ Development

# Clone repository
git clone https://github.com/mgwalkerjr95/texas-grocery-mcp
cd texas-grocery-mcp

# Install with dev dependencies
pip install -e ".[dev]"
playwright install chromium

# Run tests
pytest tests/ -v

# Linting & type checking
ruff check src/
mypy src/

🐳 Docker

docker-compose up --build

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    User's MCP Environment                    β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  🎭 Playwright MCP  β”‚    β”‚   πŸ›’ Texas Grocery MCP      β”‚ β”‚
β”‚  β”‚  (Browser Auth)     │───▢│   (Grocery Logic)           β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚                                        β”‚                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                         β”‚
                                         β–Ό
                                   🌐 HEB GraphQL API

πŸ“„ License

MIT Β© Michael Walker


Made with ❀️ in Texas 🀠

texas-grocery-mcp FAQ

Can I use this to search for grocery products at H-E-B?
Yes β€” you can search products by name, see prices, and check availability at H-E-B stores through Claude Desktop.
Can I manage my shopping cart using this?
Yes β€” you can add or remove items from your cart with confirmation prompts to avoid mistakes.
Can I clip digital coupons for H-E-B groceries?
Yes β€” you can find, search, and clip coupons to save money on your shopping.
Which apps support this MCP server?
It works with Claude Desktop and requires adding configuration to your Claude setup.
Do I need an API key or account to use this?
No API key is needed, but you can save your H-E-B login credentials securely for auto-login.
How hard is it to set up?
Setup requires developer-level steps like installing packages and configuring files, so it’s not one-click.
Does it handle bot detection or session expiration?
Yes β€” it automatically refreshes sessions and can auto-login using saved credentials.