io.github.markswendsen-code/instacart

السجل الرسمي التجارة الإلكترونية

MCP server for Instacart - let AI agents manage grocery shopping and place orders autonomously

ماذا يمكنك أن تفعل مع io.github.markswendsen-code/instacart؟

  • 🛒 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

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package @striderlabs/mcp-instacart
Claude Code
claude mcp add instacart -e 'INSTACART_EMAIL=<INSTACART_EMAIL>' -e 'INSTACART_PASSWORD=<your instacart_password>' -- npx -y @striderlabs/mcp-instacart@0.2.2
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "instacart": {
            "command": "npx",
            "args": [
                "-y",
                "@striderlabs/mcp-instacart@0.2.2"
            ],
            "env": {
                "INSTACART_EMAIL": "<INSTACART_EMAIL>",
                "INSTACART_PASSWORD": "<your instacart_password>"
            }
        }
    }
}

متغيرات البيئة

  • INSTACART_EMAIL إلزامي Instacart email for authentication
  • INSTACART_PASSWORD إلزامي سري Instacart account password

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. @striderlabs/mcp-instacart
  2. Get Started in 2 Minutes
  3. Installation (NPM)
  4. Features
  5. Tested & Compatible
  6. Metrics
  7. Available Elsewhere
  8. How It Works
  9. Authentication
  10. Configuration
  11. Architecture
  12. Support
  13. Contributing
  14. License

@striderlabs/mcp-instacart

Order groceries via Instacart using AI agents

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

الأسئلة الشائعة

ما هو io.github.markswendsen-code/instacart؟

MCP server for Instacart - let AI agents manage grocery shopping and place orders autonomously

كيف أثبّت io.github.markswendsen-code/instacart؟

يعمل على جهازك. في Claude Code: claude mcp add instacart -e 'INSTACART_EMAIL=<INSTACART_EMAIL>' -e 'INSTACART_PASSWORD=<your instacart_password>' -- npx -y @striderlabs/mcp-instacart@0.2.2. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.markswendsen-code/instacart إلى مفتاح API؟

نعم. يتطلب INSTACART_EMAIL, INSTACART_PASSWORD، وتضبطها في إعداداته.

هل io.github.markswendsen-code/instacart مفتوح المصدر؟

شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.

من يصون io.github.markswendsen-code/instacart؟

ينشره markswendsen-code. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.