loading…
Search for a command to run...
loading…
Integrates Kroger's public API with Claude to allow adding meal plan grocery lists directly to your Kroger cart via natural language.
Integrates Kroger's public API with Claude to allow adding meal plan grocery lists directly to your Kroger cart via natural language.
Integrates Kroger's public API with Claude so meal plan grocery lists can be added directly to your Kroger cart.
| Tool | What it does |
|---|---|
kroger_find_store |
Find nearby Kroger stores by ZIP code, returns location_id |
kroger_search_products |
Search the product catalog, returns UPC + price + aisle |
kroger_add_to_cart |
Add a single product by UPC to your cart |
kroger_add_grocery_list |
Search + add an entire grocery list in one shot |
kroger_clear_auth |
Clear stored tokens (if you need to re-authenticate) |
Meal Plan Assistant (or anything)http://localhost:8080/callbackproduct.compact, cart.basic:write, profile.compactcd kroger_mcp
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
export KROGER_CLIENT_ID=your_client_id_here
export KROGER_CLIENT_SECRET=your_client_secret_here
export KROGER_REDIRECT_URI=http://localhost:8080/callback
Add these to your shell profile (~/.zshrc or ~/.bashrc) so they persist.
Add to your Claude MCP config (usually ~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"kroger": {
"command": "/path/to/kroger_mcp/venv/bin/python",
"args": ["/path/to/kroger_mcp/server.py"],
"env": {
"KROGER_CLIENT_ID": "your_client_id",
"KROGER_CLIENT_SECRET": "your_client_secret",
"KROGER_REDIRECT_URI": "http://localhost:8080/callback"
}
}
}
}
Restart Claude Desktop after saving.
The first time you ask Claude to add items to your cart:
~/.kroger_mcp_tokens.jsonAfter that, Claude can add to your cart silently using the stored refresh token.
Once connected, you can say to Claude:
"Find my nearest Kroger store and add this week's grocery list to my cart"
Claude will:
kroger_find_store with your ZIP codekroger_add_grocery_list with all the items~/.kroger_mcp_tokens.json (permissions: 600)kroger_clear_auth removes all stored tokens if needed"Missing environment variables" — Set KROGER_CLIENT_ID and KROGER_CLIENT_SECRET
"Authorization expired" — Retry the operation; the server will refresh automatically
"No matching product found" — Try a shorter search term (e.g., "spinach" instead of "Private Selection Baby Spinach")
Rate limits (HTTP 429) — Kroger limits requests; wait 30 seconds and retry
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"kroger-mcp-server": {
"command": "npx",
"args": []
}
}
}