mcpField
I
instacart

instacart

Local
github.com/markswendsen-codeBusiness & Marketing11Updated 20w ago

About instacart

An MCP server for AI agents that handle Instacart grocery shopping, from product search and cart management to placing orders. It interacts with Instacart through browser automation and retains encrypted login sessions across restarts.

Key features

  1. 01Search products by name or category
  2. 02Browse stores and product availability
  3. 03Manage carts and special requests
  4. 04Choose delivery times and place orders
  5. 05Track order status
  6. 06Save sessions and favorite items

Use cases

  1. 01Build an Instacart cart from a grocery list
  2. 02Schedule grocery delivery for a chosen time
  3. 03Check the status of placed orders

MCP support

The MCP server exposes tools for product search, cart management, ordering, and order tracking to MCP clients. It interacts with Instacart through browser automation.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"markswendsen-code-instacart": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
],
"env": {
"INSTACART_EMAIL": "<INSTACART_EMAIL>",
"INSTACART_PASSWORD": "<INSTACART_PASSWORD>"
}
}
}
}
Run commandnpx -y @striderlabs/mcp-instacart
Environment variables to set
INSTACART_EMAILInstacart email for authentication
INSTACART_PASSWORDSecretInstacart account password

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@striderlabs/mcp-instacart0.2.2

Tools

11

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

@striderlabs/mcp-instacart

Order groceries via Instacart using AI agents

npm MCP Registry Claude Desktop License: MIT

Part of Strider Labs — action execution for personal AI agents.

Get Started in 2 Minutes

For Claude Desktop Users
  1. Add this to your Claude Desktop config:
{
  "mcpServers": {
    "instacart": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-instacart"]
    }
  }
}
  1. Restart Claude.
  2. Tell Claude: "Order my usual groceries for delivery tomorrow morning"

Your agent can now place orders. That's it.


Installation (NPM)

npm install @striderlabs/mcp-instacart

Or with npx directly:

npx @striderlabs/mcp-instacart

Features

  • 🛒 Search for products by name or category
  • 📦 Browse stores and product availability
  • 🏪 Add to cart with quantities and special requests
  • 💳 Place orders with delivery time selection
  • 📍 Track orders with real-time status
  • 🔐 Persistent sessions - stay logged in across restarts
  • 🔄 Automatic MFA - handles multi-factor authentication
  • 📱 Per-user credentials - encrypted session storage
  • ⭐ Saved items - order your favorites faster

Tested & Compatible

ComponentVersionStatus
MCP SDK^1.0.0✅
Node.js18+✅
Claude DesktopLatest✅
Claude (API)claude-3.5-sonnet+✅
Anthropic SDK^0.20+✅

Metrics

  • Weekly downloads: 271 (Apr 10-17, 2026) — Top grocery connector (+330% growth)
  • Status: ✅ Live in production
  • Reliability: 85%+ task completion rate
  • Discovery: npm, mcpservers.org, ClawHub, PulseMCP, Glama, LobeHub

Available Elsewhere

How It Works

For Agents

Your agent can use these capabilities:

// Search for products
products = search_products({
  query: "organic milk",
  location: "San Francisco, CA"
})

// Browse a store's offerings
store_products = get_store_products({
  store_id: "whole_foods_sf",
  category: "Dairy"
})

// Add to cart
add_to_cart({
  product_id: "organic_milk_gallon",
  quantity: 2,
  special_instructions: "Cold stock, please"
})

// Place an order
order = place_order({
  delivery_time: "tomorrow morning",
  delivery_address: "123 Main St, San Francisco, CA",
  special_instructions: "Ring the doorbell twice"
})

// Track delivery
status = track_order({ order_id: order.order_id })
Session Management
  • Each user has encrypted, persistent credentials
  • Automatic OAuth token refresh
  • MFA handling (SMS/email)
  • Sessions survive agent restarts
Reliability
  • 85%+ task completion rate
  • Automated UI change detection (connectors update when Instacart changes)
  • Fallback paths for failures
  • 24/7 monitoring + alerting

Authentication

The MCP server uses a persistent browser profile (~/.strider/instacart/browser-profile) so your login session survives server restarts automatically.

First-time login
  1. Set INSTACART_HEADLESS=false in your MCP server config so the browser window is visible:
{
  "mcpServers": {
    "instacart": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-instacart"],
      "env": { "INSTACART_HEADLESS": "false" }
    }
  }
}
  1. Restart Claude / your MCP client.
  2. Ask Claude to run instacart_login — a real browser window will open.
  3. Log in to Instacart inside that window.
  4. Run instacart_status to confirm authentication.
  5. Remove INSTACART_HEADLESS (or set it back to true) and restart — the saved profile keeps you logged in.
How login detection works

Authentication is verified by navigating to /account and confirming the page resolves without a redirect to /login or /authentication (positive detection). This is more reliable than checking for the absence of a "Log in" button.

Configuration

Environment Variables
# Show browser window (required for first-time login)
INSTACART_HEADLESS=false   # default: true (headless)
Self-Hosted
# Clone the repo
git clone https://github.com/striderlabsdev/mcp-instacart
cd mcp-instacart

# Install dependencies
npm install

# Start the server
npm start

# Your agent can now connect to localhost:3000

Architecture

How We Connect

This connector uses browser automation (Playwright) to interact with Instacart, because Instacart doesn't have a public API. Here's why that's safe and reliable:

  • User-controlled: Your agent only accesses your own Instacart account
  • Session-based: We store your login session securely, not your password
  • Change-aware: We detect Instacart UI changes and alert immediately
  • Fingerprinting: We use realistic browser profiles to avoid bot detection
  • Rate-limited: We respect Instacart's infrastructure with appropriate delays
Security
  • Credentials stored encrypted in your local .env or secure vault
  • Sessions isolated per user
  • No data sent to third parties
  • MIT Licensed — audit the code yourself

Support

Contributing

We welcome contributions! Areas of interest:

  • Bug reports and fixes
  • Feature requests (new stores, categories, etc.)
  • Performance improvements
  • Documentation enhancements

See CONTRIBUTING.md for guidelines.

License

MIT — Free to use, modify, and distribute. See LICENSE for details.


Built by Strider Labs — Making AI agents actually useful.

GitHub | Website | Discord

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.