NestDaddy

Harristeeter Mcp

io.github.chrischall/harristeeter-mcp · v0.3.0

Harris Teeter grocery pickup — search, cart, pickup times and checkout via your browser

Connect Runs on your machine

Terminal
claude mcp add harristeeter-mcp -e HARRISTEETER_WS_PORT=<HARRISTEETER_WS_PORT> -e HARRISTEETER_DEBUG=<HARRISTEETER_DEBUG> -e MCP_USER_TZ=<MCP_USER_TZ> -e KROGER_API_CLIENT_ID=<KROGER_API_CLIENT_ID> -e KROGER_API_CLIENT_SECRET=<KROGER_API_CLIENT_SECRET> -e HARRISTEETER_LOCATION_ID=<HARRISTEETER_LOCATION_ID> -e HARRISTEETER_STATE_DIR=<HARRISTEETER_STATE_DIR> -e FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST> -e FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR> -- npx -y @chrischall/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "harristeeter-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@chrischall/[email protected]"
      ],
      "env": {
        "HARRISTEETER_WS_PORT": "<HARRISTEETER_WS_PORT>",
        "HARRISTEETER_DEBUG": "<HARRISTEETER_DEBUG>",
        "MCP_USER_TZ": "<MCP_USER_TZ>",
        "KROGER_API_CLIENT_ID": "<KROGER_API_CLIENT_ID>",
        "KROGER_API_CLIENT_SECRET": "<KROGER_API_CLIENT_SECRET>",
        "HARRISTEETER_LOCATION_ID": "<HARRISTEETER_LOCATION_ID>",
        "HARRISTEETER_STATE_DIR": "<HARRISTEETER_STATE_DIR>",
        "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
        "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "harristeeter-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@chrischall/[email protected]"
      ],
      "env": {
        "HARRISTEETER_WS_PORT": "<HARRISTEETER_WS_PORT>",
        "HARRISTEETER_DEBUG": "<HARRISTEETER_DEBUG>",
        "MCP_USER_TZ": "<MCP_USER_TZ>",
        "KROGER_API_CLIENT_ID": "<KROGER_API_CLIENT_ID>",
        "KROGER_API_CLIENT_SECRET": "<KROGER_API_CLIENT_SECRET>",
        "HARRISTEETER_LOCATION_ID": "<HARRISTEETER_LOCATION_ID>",
        "HARRISTEETER_STATE_DIR": "<HARRISTEETER_STATE_DIR>",
        "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
        "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "harristeeter-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@chrischall/[email protected]"
      ],
      "env": {
        "HARRISTEETER_WS_PORT": "<HARRISTEETER_WS_PORT>",
        "HARRISTEETER_DEBUG": "<HARRISTEETER_DEBUG>",
        "MCP_USER_TZ": "<MCP_USER_TZ>",
        "KROGER_API_CLIENT_ID": "<KROGER_API_CLIENT_ID>",
        "KROGER_API_CLIENT_SECRET": "<KROGER_API_CLIENT_SECRET>",
        "HARRISTEETER_LOCATION_ID": "<HARRISTEETER_LOCATION_ID>",
        "HARRISTEETER_STATE_DIR": "<HARRISTEETER_STATE_DIR>",
        "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
        "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
HARRISTEETER_WS_PORT
Optional
Override the fetchproxy WebSocket port (default 37149).
HARRISTEETER_DEBUG
Optional
Set to 1 for verbose bridge logging to stderr.
MCP_USER_TZ
Optional
IANA time zone sent with pickup-time requests (default America/New_York).
KROGER_API_CLIENT_ID
Optional
Optional Kroger developer app id: product search and prices without the browser.
KROGER_API_CLIENT_SECRET
Optional, secret
Optional Kroger developer app secret.
HARRISTEETER_LOCATION_ID
Optional
Optional 8-digit store id for bridge-free search; a store saved with ht_set_store wins.
HARRISTEETER_STATE_DIR
Optional
Where the saved and remembered store live (default ~/.harristeeter-mcp).
FETCHPROXY_WS_HOST
Optional
Bind interface for the fetchproxy concentrator (default 127.0.0.1; a literal IP only). For a hosted child in its own network namespace only — never bind a laptop's concentrator to the network.
FETCHPROXY_IDENTITY_DIR
Optional
Absolute path where fetchproxy stores its long-term identity keypair (default ~/.fetchproxy/identity/). For a host that runs a separate child per caller, so they share one identity.

Details

Package@chrischall/[email protected] (NPM, stdio)
First published11 Nov 2026
Last updated11 Nov 2026
Registry nameio.github.chrischall/harristeeter-mcp

More search and web servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.