
@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
- Add this to your Claude Desktop config:
{
"mcpServers": {
"instacart": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-instacart"]
}
}
}- Restart Claude.
- Tell Claude: "Order my usual groceries for delivery tomorrow morning"
Your agent can now place orders. That's it.
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
| Component | Version | Status |
|---|---|---|
| MCP SDK | ^1.0.0 | โ |
| Node.js | 18+ | โ |
| Claude Desktop | Latest | โ |
| 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
- npm: npmjs.com/@striderlabs/mcp-instacart
- Claude Plugins: Search "Strider Labs" in Claude
- mcpservers.org: Strider Labs Instacart
- Full Strider Labs: github.com/striderlabsdev/striderlabs
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
- Set
INSTACART_HEADLESS=falsein your MCP server config so the browser window is visible:
{
"mcpServers": {
"instacart": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-instacart"],
"env": { "INSTACART_HEADLESS": "false" }
}
}
}- Restart Claude / your MCP client.
- Ask Claude to run
instacart_loginโ a real browser window will open. - Log in to Instacart inside that window.
- Run
instacart_statusto confirm authentication. - Remove
INSTACART_HEADLESS(or set it back totrue) 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.
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
.envor secure vault - Sessions isolated per user
- No data sent to third parties
- MIT Licensed โ audit the code yourself
Support
- ๐ Full Strider Labs Docs
- ๐ Report Issues
- ๐ฌ Discussions
- ๐ Website
- ๐ง Email
npm install @striderlabs/mcp-instacartBefore it works, you'll need: INSTACART_HEADLESS
Installation (NPM)
npm install @striderlabs/mcp-instacartOr with npx directly:
npx @striderlabs/mcp-instacartConfiguration
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:3000No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
License
MIT โ Free to use, modify, and distribute. See LICENSE for details.
Built by Strider Labs โ Making AI agents actually useful.