io.github.mgwalkerjr95/texas-grocery
MCP server for HEB grocery store integration - search products, manage carts, clip coupons, and more
Open source Open in the app JSON README (API)
About
MCP server for HEB grocery store integration - search products, manage carts, clip coupons, and more
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- mgwalkerjr95
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.3
- Stars
- 57
- Forks
- 28
- Open pull requests
- 13
- Last push
- 2026-05-11T17:59:31Z
- Repository state
- ativo
- Language
- Python
- License
- MIT
- Added
- 2026-08-29 04:00:47
- Updated
- 2026-08-29 04:00:47
- Origin id
io.github.mgwalkerjr95/texas-grocery
README
# π Texas Grocery MCP
[](https://pypi.org/project/texas-grocery-mcp/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/mgwalkerjr95/texas-grocery-mcp/actions/workflows/ci.yml)
> π€ 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
```bash
pip install texas-grocery-mcp
```
### Full Installation (Recommended) π
```bash
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**:
```bash
npm install -g @anthropic-ai/mcp-playwright
```
---
## βοΈ Configuration
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```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](docs/TROUBLESHOOTING.md) - Solutions for common issues
- π€ [Contributing](CONTRIBUTING.md) - How to contribute
- π [Changelog](CHANGELOG.md) - Version history
- π [Security](SECURITY.md) - Security policy
---
## π οΈ Development
```bash
# 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
```bash
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
---
<p align="center">
Made with β€οΈ in Texas π€
</p>