instacart — Claude Code MCP server: order groceries with an agent
An MCP server that lets an AI agent shop on Instacart: search products, fill a cart, place an order and follow the delivery.
claude mcp add instacart -e INSTACART_EMAIL=<INSTACART_EMAIL> -e INSTACART_PASSWORD=<INSTACART_PASSWORD> -- npx -y @striderlabs/mcp-instacartWhat instacart does
The server reaches Instacart through browser automation built on Playwright, since the service has no public API. An agent can search for products by name or category, check what a given store carries, add items with quantities and special requests, schedule a delivery and track the order afterwards.
Your login lives in a persistent browser profile at ~/.strider/instacart/browser-profile, so it survives a server restart. The first sign-in needs INSTACART_HEADLESS=false in the config: a real browser window opens, you log in there, then confirm with instacart_status. Leave it headless and there is no window to log into.
Credentials go in through INSTACART_EMAIL and INSTACART_PASSWORD. Node.js 18 or newer is required. The README lists MCP SDK ^1.0.0 and Claude Desktop as tested, and the server itself runs with npx -y @striderlabs/mcp-instacart.
What it helps with
- search products by name or category
- check what a specific store stocks
- build a cart with quantities and special requests
- schedule a delivery time when placing an order
- track the status of an order already placed
Example prompts for the agent
- Find organic milk at stores in San Francisco
- Add two gallons of milk to the cart and ask for cold stock
- Place a delivery order for tomorrow morning at my saved address
How to install instacart
Platform CLI
claude mcp add instacart -e INSTACART_EMAIL=<INSTACART_EMAIL> -e INSTACART_PASSWORD=<INSTACART_PASSWORD> -- npx -y @striderlabs/mcp-instacartReplace <…> with your own values
Platform CLI
codex mcp add instacart --env INSTACART_EMAIL=<INSTACART_EMAIL> --env INSTACART_PASSWORD=<INSTACART_PASSWORD> -- npx -y @striderlabs/mcp-instacartReplace <…> with your own values
Config file
{
"mcpServers": {
"instacart": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
],
"env": {
"INSTACART_EMAIL": "<INSTACART_EMAIL>",
"INSTACART_PASSWORD": "<INSTACART_PASSWORD>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"instacart": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-instacart"
],
"env": {
"INSTACART_EMAIL": "<INSTACART_EMAIL>",
"INSTACART_PASSWORD": "<INSTACART_PASSWORD>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e INSTACART_EMAIL=<INSTACART_EMAIL> -e INSTACART_PASSWORD=<INSTACART_PASSWORD> instacart npx -y @striderlabs/mcp-instacartReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about instacart
How do I install instacart in Claude Code?
Run claude mcp add instacart -e INSTACART_EMAIL=<INSTACART_EMAIL> -e INSTACART_PASSWORD=<INSTACART_PASSWORD> -- npx -y @striderlabs/mcp-instacart, replacing the placeholders with your Instacart email and password.
What does instacart do?
It gives an agent tools for Instacart: product search, store browsing, cart management, order placement and delivery tracking.
What is needed for the first login?
Set INSTACART_HEADLESS=false in the server config, restart the client, ask the agent to run instacart_login, sign in inside the browser window that opens, then check instacart_status.