# instacart [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/markswendsen-code/mcp-instacart  
**GitHub Stars:** 11  
**npm Downloads (last month):** 220  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/instacart

## Description
Instacart MCP server — search, cart, and order groceries. By Strider Labs.

## Tools
Capabilities this server exposes over MCP:

- **instacart_status** — Check Instacart login status and session info. Use this to verify authentication before performing other actions.
- **instacart_login** — Initiate Instacart login flow. Returns a URL and instructions for the user to complete login manually. After logging in, use instacart_status to verify.
- **instacart_logout** — Clear saved Instacart session and cookies. Use this to log out or reset authentication state.
- **instacart_search** — Search for products on Instacart. Returns product names, prices, and availability.
- **instacart_add_to_cart** — Add a product to the Instacart cart. Searches for the product and adds the first matching result.
- **instacart_view_cart** — View current Instacart cart contents, including items, quantities, and totals.
- **instacart_clear_cart** — Remove all items from the Instacart cart.
- **instacart_preview_order** — Preview order before placing. Shows cart summary, delivery window, and any issues that need to be resolved.
- **instacart_place_order** — Place the order. IMPORTANT: Set confirm=true only when you have explicit user confirmation. Without confirm=true, this returns a preview instead of placing the order.
- **instacart_set_address** — Set delivery address or zip code for Instacart orders.
- **instacart_stores** — Get list of available stores for the current delivery location.
- **instacart_compare_prices** — Compare prices for a product across all available stores near you. Returns results sorted cheapest-first with store name and price-per-unit on each result.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "instacart": {
    "command": "npx",
    "args": ["-y","@striderlabs/mcp-instacart"],
    "env": {
      "INSTACART_HEADLESS": ""
    }
  }
}
```

**Requires environment variables:** `INSTACART_HEADLESS` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What instacart MCP server does

The instacart MCP server exposes grocery-shopping actions to MCP-compatible AI clients. Agents can search for products by name or category, inspect store offerings and availability, add products with quantities and special requests, submit delivery orders, and retrieve delivery status. Saved items are also supported for users who want to reorder favorites more quickly.

The server acts on a user's Instacart account rather than providing a general product database. An agent can use a location when searching, select products from a store, specify delivery timing and address details, and then track the resulting order with its order ID.

## How it works

It uses a persistent browser profile at `~/.strider/instacart/browser-profile`, allowing the authenticated session to survive server restarts.

Authentication is checked by opening the account page and confirming that it does not redirect to login or authentication pages. The first login is interactive: the browser must be visible so the user can sign in and complete any SMS- or email-based MFA. After authentication, the browser can return to headless mode.

The documented agent operations include product search, store-product browsing, cart updates, order placement, delivery tracking, login, and authentication-status checks. The connector also describes fallback paths, UI-change detection, and rate limiting, but these are implementation behaviors rather than additional agent-facing tools.

## Setup and configuration

The package can run directly with `npx` or be installed from npm. A Claude Desktop configuration uses the `npx -y @striderlabs/mcp-instacart` command and does not require a separate service for the standard setup. The repository also documents a self-hosted flow: clone the project, install dependencies with npm, and start it with `npm start`.

For first-time login, set `INSTACART_HEADLESS=false` in the MCP client's environment configuration, restart the client, and ask the agent to run `instacart_login`. Complete the Instacart login in the opened browser, then use `instacart_status` to verify access. Remove the variable or set it back to `true` for headless operation.

Session data is intended to remain isolated per user, and the project states that credentials and sessions are stored locally rather than sent to third parties.

## Tools and capabilities

- Search products by query and location.
- Browse products offered by a selected store and category.
- Add products to a cart with quantities and special instructions.
- Place delivery orders with timing, address, and delivery notes.
- Track an order using its order ID.
- Log in interactively and check authentication status.
- Reuse saved items for repeat purchases.

## Limitations and notes

This connector depends on browser automation and Instacart's website interface, so changes to that interface can affect operation. It requires an Instacart login for account actions and needs a visible browser during initial authentication. Ordering is an external side effect: agents may submit purchases and delivery details, so confirmation and account permissions should be handled carefully.

The repository reports an 85% or higher task-completion rate, but that figure is not a guarantee for every store, product, location, or delivery request. The listed license is MIT.

_Full upstream README: https://allmcps.com/mcp/instacart/readme_

