Instacart

listing.by

Create Instacart recipe pages and shopping-list pages from ingredients and line items.

state.key.long (state.key.title)Streamable HTTP

listing.connect

listing.explain.api_key

https://mcp.instacart.com/mcp

listing.note.key_header listing.note.key_where

listing.share.h

listing.share.p

mcp.tc/i/instacart

listing.about

Connects an AI assistant to the Instacart Developer Platform. It exposes two tools: one creates a recipe page on Instacart Marketplace from a title, ingredients, instructions and details such as servings and cooking time, and the other creates a shopping list page from line items.

The server is hosted at https://mcp.instacart.com/mcp and uses streamable HTTP. An Instacart Developer Platform API key is sent as an Authorization Bearer header. A separate development endpoint at https://mcp.dev.instacart.tools/mcp is available for use with a development key.

listing.can

  • Create a recipe page with ingredients, instructions and measurements
  • Create a shopping list page from grocery line items
  • Set title, image, author, servings and cooking time on recipes
  • Set an expiry and landing page options on shopping lists
  • Test against a separate development endpoint before production

listing.tools 2

  • create-recipe

    Create a recipe page on Instacart Marketplace from title, ingredients, instructions and details.

  • create-shopping-list

    Create a shopping list page on Instacart Marketplace from line items.

listing.prov.live_on

listing.prompts

  • Create an Instacart recipe page for this lasagna recipe with its ingredients.

  • Turn my weekly meal plan into an Instacart shopping list.

  • Make a shopping list page for pancakes: flour, eggs, milk and butter.

  • Publish this chili recipe on Instacart for 6 servings.

listing.setup.h

listing.setup.remote

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport http instacart https://mcp.instacart.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
  1. Replace the placeholder with your key before you run it, then check it with /mcp inside Claude Code.

Add --scope user to make it available in every project, not just this one.

Claude Desktop

  1. Custom connectors can't send this server's key header, so use the mcp-remote bridge. Open Settings → Developer → Edit Config and add:
claude_desktop_config.json
{
  "mcpServers": {
    "instacart": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.instacart.com/mcp",
        "--header",
        "Authorization: Bearer <YOUR_API_KEY>"
      ]
    }
  }
}
  1. Replace the placeholder with your key and restart Claude Desktop.

The bridge needs Node.js on your computer.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "instacart": {
      "url": "https://mcp.instacart.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

VS Code

Add it to .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:

.vscode/mcp.json
{
  "servers": {
    "instacart": {
      "type": "http",
      "url": "https://mcp.instacart.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "api-key",
      "description": "API key",
      "password": true
    }
  ]
}

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "instacart": {
      "serverUrl": "https://mcp.instacart.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.

Codex

codex mcp add instacart --url https://mcp.instacart.com/mcp --bearer-token-env-var INSTACART_API_KEY

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.instacart]
url = "https://mcp.instacart.com/mcp"
bearer_token_env_var = "INSTACART_API_KEY"

Set INSTACART_API_KEY to your key in the shell that runs Codex.

Gemini CLI

gemini mcp add --transport http --header "Authorization: Bearer <YOUR_API_KEY>" instacart https://mcp.instacart.com/mcp

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI's settings file.

{
  "mcpServers": {
    "instacart": {
      "type": "http",
      "url": "https://mcp.instacart.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.

Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.instacart.com/mcp.

listing.faq

Can I paste mcp.tc/i/instacart into my MCP client?

No. mcp.tc links are pages, not server addresses. Connect with https://mcp.instacart.com/mcp, so your client talks to Instacart directly. Your key goes there too, never to mcp.tc. The quick link is for sharing: it opens this page, with setup steps for every client.

Does Instacart need an API key or a sign-in?

Yes. Instacart needs an API key, sent as the Authorization header. Get one from Instacart and keep it in your client's config, never in a shared file.

Is Instacart a remote or a local server?

Remote. Instacart hosts it at https://mcp.instacart.com/mcp, and it speaks Streamable HTTP. There's nothing to install.

What can Instacart do?

It has 2 tools: create-recipe and create-shopping-list. You can create a recipe page with ingredients, instructions and measurements, create a shopping list page from grocery line items and set title, image, author, servings and cooking time on recipes.

Which clients can use it?

Any client that supports remote MCP servers and can send your key: Claude Code, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others, and Claude Desktop through the mcp-remote bridge. claude.ai and ChatGPT can't send a key, so they can't use it.

Who wrote this page?

mcp.tc's robot read Instacart's own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

listing.em.h

listing.em.lead listing.em.how

listing.em.badge

em.prev_lightem.prev_dark
Markdown
[![Instacart on mcp.tc](https://mcp.tc/i/instacart/badge.svg)](https://mcp.tc/i/instacart)
HTML
<a href="https://mcp.tc/i/instacart"><img src="https://mcp.tc/i/instacart/badge.svg" alt="Instacart on mcp.tc" height="20"></a>

listing.em.badge_note

listing.em.widget

HTML
<script src="https://mcp.tc/w/instacart.js" async></script>

listing.em.widget_note

iframe

HTML
<iframe src="https://mcp.tc/embed/instacart" title="Instacart on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

listing.em.iframe_note

JSON

listing.em.json

https://mcp.tc/i/instacart.json

listing.em.fields

listing.disclaimer_checked