npm @striderlabs/mcp-instacartstdioupdated 3mo ago
Order groceries via Instacart using AI agents
instacart 能做什么?
@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.
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
| 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.
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
.envor 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.
安装
把 instacart 添加到你的客户端。选择你正在使用的那个。
claude mcp add mcp-instacart -- npx -y @striderlabs/mcp-instacartcodex mcp add mcp-instacart -- npx -y @striderlabs/mcp-instacartamp mcp add mcp-instacart -- npx -y @striderlabs/mcp-instacart{
"mcpServers": {
"mcp-instacart": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-instacart": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-instacart","command":"npx","args":["-y","@striderlabs/mcp-instacart"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-instacart": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-instacart": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-instacart": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-instacart": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-instacart": {
"command": {
"path": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @striderlabs/mcp-instacartRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
评分
39 / 100
不完整
- 文档25/25
- 维护22/25
- 可信度6/20
- 能力0/15
- 安装体验12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 82 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
版本历史
| 版本 | 发布于 |
|---|---|
| 0.2.2最新 | 2026年4月17日 |
| 0.2.0 | 2026年4月12日 |
| 0.1.4 | 2026年3月29日 |
| 0.1.3 | 2026年3月10日 |
| 0.1.2 | 2026年3月10日 |
| 0.1.1 | 2026年3月10日 |