# Mcp Picnic

> Unofficial MCP Server for Picnic

- **Type:** MCP server
- **Install:** `agentstack add mcp-ivo-toby-mcp-picnic`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ivo-toby](https://agentstack.voostack.com/s/ivo-toby)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ivo-toby](https://github.com/ivo-toby)
- **Source:** https://github.com/ivo-toby/mcp-picnic

## Install

```sh
agentstack add mcp-ivo-toby-mcp-picnic
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

[](https://mseep.ai/app/ivo-toby-mcp-picnic)

# MCP Picnic - AI-Powered Grocery Shopping Assistant

[](https://smithery.ai/server/@ivo-toby/mcp-picnic)

An intelligent Model Context Protocol (MCP) server that enables AI assistants to interact with Picnic, the online supermarket delivery service. This server transforms your AI assistant into a smart grocery shopping companion that can help you plan meals, manage your shopping cart, track deliveries, and optimize your grocery shopping experience.

## What is MCP Picnic?

MCP Picnic is a bridge between AI assistants (like Claude, ChatGPT, or other MCP-compatible tools) and Picnic's grocery delivery service. It provides:

- **🛒 Smart Shopping**: Search products, manage your cart, and place orders through natural conversation
- **🍽️ Meal Planning**: Get AI-powered meal plans with automatic shopping list generation
- **💰 Budget Management**: Shop within your budget with cost-conscious recommendations
- **🚚 Delivery Tracking**: Monitor your orders and optimize delivery schedules
- **🥗 Dietary Support**: Find products that match your dietary restrictions and health goals
- **📱 Complete Integration**: Access all Picnic features through your AI assistant

### Supported Countries

- 🇳🇱 Netherlands
- 🇩🇪 Germany
- 🇫🇷 France

## Key Features

### 🤖 AI-Powered Shopping Tools

- **Product Search**: Find any product in Picnic's catalog
- **Cart Management**: Add, remove, and modify items in your shopping cart
- **Order Tracking**: Monitor delivery status and driver location
- **Account Management**: Access your profile, payment methods, and order history

### 🎯 Intelligent Prompts

- **Meal Planner**: Create weekly meal plans with automatic shopping lists
- **Budget Shopping**: Stay within budget while maintaining quality
- **Quick Dinners**: Find fast meal solutions for busy schedules
- **Healthy Eating**: Get nutrition-focused product recommendations
- **Special Occasions**: Plan for parties, holidays, and gatherings
- **Pantry Restocking**: Maintain essential household supplies
- **Recipe Recreation**: Find ingredients for specific recipes
- **Dietary Substitutions**: Get alternatives for dietary restrictions

## How to Use

### Prerequisites

- A Picnic account (available in Netherlands, Germany, or France)
- An MCP-compatible AI assistant (Claude Desktop, Continue, etc.)
- Node.js 18+ installed on your system

### Quick Start

1. **Install the server**:

```bash
npm install -g mcp-picnic
```

2. **Configure Claude Desktop** to use the MCP server:

**macOS**: Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: Edit `%APPDATA%\Claude\claude_desktop_config.json`

Add this configuration:

```json
{
  "mcpServers": {
    "picnic": {
      "command": "npx",
      "args": ["-y", "mcp-picnic"],
      "env": {
        "PICNIC_USERNAME": "your-picnic-email@example.com",
        "PICNIC_PASSWORD": "your-picnic-password",
        "PICNIC_COUNTRY_CODE": "NL"
      }
    }
  }
}
```

**Important**:
- Replace `your-picnic-email@example.com` and `your-picnic-password` with your actual Picnic account credentials.
- Set `PICNIC_COUNTRY_CODE` to `"DE"` for Germany, `"FR"` for France, or `"NL"` for the Netherlands (default).

3. **Restart Claude Desktop** completely

4. **Complete 2FA** (if enabled on your account) - ask your MCP client/assistant to call the `picnic_generate_2fa_code` tool, then provide the received code so it can call `picnic_verify_2fa_code`. See the [Authentication](#authentication) section for details.

5. **Start using it** - you should see a 🔨 hammer icon in the input area:

```
"I want to plan meals for this week and order groceries from Picnic"
```

### Example Conversations

**Meal Planning**:

```
User: "Plan healthy meals for 2 people for 5 days, budget €75"
AI: I'll help you create a healthy meal plan! First, let me log into your Picnic account...
```

**Quick Shopping**:

```
User: "I need ingredients for pasta carbonara tonight"
AI: Let me search for carbonara ingredients on Picnic and add them to your cart...
```

**Delivery Tracking**:

```
User: "When is my grocery delivery arriving?"
AI: Let me check your current deliveries and their status...
```

## Use Cases

Here are some practical scenarios where MCP Picnic can transform your grocery shopping experience:

### 📖 **Recipe Browsing**

**Scenario**: Picking a 20-minute recipe from the Picnic cookbook and inspecting its ingredients

```
User: "Show me some quick weeknight recipes from Picnic and pick a chicken one"

AI Actions:
1. Uses picnic_browse_recipes (no category) to list cookbook highlights and available category page IDs
2. Uses picnic_browse_recipes with category="20minuten" to fetch all recipes in the 20-minute category
3. Picks one with chicken from the title and uses picnic_get_recipe for the recipe id
4. Reads back the ingredients list, pantry items, cooking steps and recipe tips
5. Optionally uses picnic_save_recipe to save it for later
```

### 🍽️ **Smart Meal Planning**

**Scenario**: Planning a week's worth of healthy meals for a family of 4

```
User: "Plan 7 dinners for 4 people, focusing on Mediterranean diet, budget €100"

AI Actions:
1. Uses picnic_search to find Mediterranean ingredients
2. Uses picnic_get_suggestions for recipe ideas
3. Uses picnic_add_to_cart to build shopping list
4. Uses picnic_get_cart to verify total cost
5. Uses picnic_get_delivery_slots to schedule delivery
```

### 🛒 **Intelligent Shopping Assistant**

**Scenario**: Recreating a specific recipe with dietary substitutions

```
User: "I want to make lasagna but need gluten-free and dairy-free alternatives"

AI Actions:
1. Uses picnic_search to find gluten-free pasta
2. Uses picnic_get_suggestions for dairy-free cheese alternatives
3. Uses picnic_get_product_details to check ingredient details
4. Uses picnic_add_to_cart to add suitable products
5. Provides cooking tips and substitution ratios
```

### 📦 **Delivery Optimization**

**Scenario**: Managing multiple deliveries and tracking orders

```
User: "What's the status of all my orders and when will they arrive?"

AI Actions:
1. Uses picnic_get_deliveries to list all current orders
2. Uses picnic_get_delivery_position for real-time tracking
3. Uses picnic_get_delivery_scenario for driver details
4. Suggests optimal delivery slots using picnic_get_delivery_slots
5. Sends invoice emails using picnic_send_delivery_invoice_email
```

### 💰 **Budget-Conscious Shopping**

**Scenario**: Shopping within a strict budget while maintaining quality

```
User: "I have €50 for groceries this week, help me maximize value"

AI Actions:
1. Uses picnic_search to find budget-friendly staples
2. Uses picnic_get_product_details to inspect prices, package sizes, and promotions
3. Uses picnic_get_cart to track running total
4. Uses picnic_remove_from_cart if budget exceeded
5. Uses picnic_get_wallet_transactions to track spending patterns
```

### 🏠 **Household Management**

**Scenario**: Managing shopping lists for different family members

```
User: "Create separate shopping lists for weekly groceries and party supplies"

AI Actions:
1. Uses picnic_search to find weekly grocery staples
2. Uses picnic_search to find party-specific items
3. Uses picnic_get_product_details to check pack sizes and ingredients
4. Uses picnic_add_to_cart when ready to order
5. Uses picnic_get_cart to review totals before checkout
```

### 🎉 **Event Planning**

**Scenario**: Planning a dinner party for 12 guests

```
User: "I'm hosting a dinner party for 12 people next Saturday, help me plan"

AI Actions:
1. Uses picnic_search to find appetizer, main course, and dessert ingredients
2. Uses picnic_get_suggestions for wine pairings
3. Uses picnic_get_delivery_slots to schedule Friday delivery
4. Uses picnic_set_delivery_slot to book optimal time
5. Uses picnic_get_product_details to check product availability and sizes
```

### 🥗 **Health & Dietary Management**

**Scenario**: Managing specific dietary requirements (diabetes, allergies)

```
User: "Find low-carb options for a diabetic-friendly weekly menu"

AI Actions:
1. Uses picnic_search with specific dietary keywords
2. Uses picnic_get_product_details to check nutritional information
3. Uses picnic_get_suggestions for healthy alternatives
4. Uses picnic_add_to_cart for approved items only
5. Tracks nutritional goals across multiple meals
```

### 📱 **Smart Reordering**

**Scenario**: Automatically reordering household essentials

```
User: "Reorder my usual weekly essentials and add some new seasonal items"

AI Actions:
1. Uses picnic_get_user_details to check purchase history
2. Uses picnic_get_wallet_transactions to identify regular purchases
3. Uses picnic_search to find seasonal products
4. Uses picnic_add_to_cart for both regular and new items
5. Uses picnic_get_delivery_slots for convenient scheduling
```

### 🎯 **Price Comparison & Optimization**

**Scenario**: Finding the best value products across categories

```
User: "Compare prices for organic vs conventional produce this week"

AI Actions:
1. Uses picnic_search for both organic and conventional items
2. Uses picnic_get_product_details to compare prices and sizes
3. Uses picnic_get_suggestions for similar brands and products
4. Uses picnic_get_cart to compare basket totals
5. Provides detailed cost analysis and recommendations
```

### 🚚 **Delivery Experience Management**

**Scenario**: Optimizing delivery experience and providing feedback

```
User: "Track my delivery and rate the service quality"

AI Actions:
1. Uses picnic_get_delivery_position for real-time tracking
2. Uses picnic_get_delivery_scenario for driver communication
3. Uses picnic_rate_delivery after completion
4. Uses picnic_send_delivery_invoice_email for records
5. Uses picnic_get_order_status to confirm final order state
```

### 💳 **Financial Tracking**

**Scenario**: Managing grocery budget and payment methods

```
User: "Show me my grocery spending patterns and optimize my payment setup"

AI Actions:
1. Uses picnic_get_wallet_transactions for spending analysis
2. Uses picnic_get_wallet_transaction_details for detailed breakdowns
3. Uses picnic_get_payment_profile to review payment methods
4. Provides insights on spending trends and budget optimization
5. Suggests cost-saving strategies based on purchase history
```

These use cases demonstrate how MCP Picnic transforms simple grocery shopping into an intelligent, personalized experience that saves time, money, and effort while ensuring you never miss essential items or optimal deals.

## Setup Instructions

### Option 1: Install from NPM (Recommended)

```bash
# Install globally
npm install -g mcp-picnic

# Or install locally in your project
npm install mcp-picnic
```

### Option 2: Build from Source

```bash
# Clone the repository
git clone https://github.com/ivo-toby/mcp-picnic.git
cd mcp-picnic

# Install dependencies
npm install

# Build the project
npm run build

# Link globally (optional)
npm link
```

### Option 3: Docker / Docker Compose

```bash
# 1) Create .env with your Picnic credentials
cat > .env : YOUR_TOKEN` (defaults to `x-mcp-token`)
- Authorization header bearer token: `Authorization: Bearer YOUR_TOKEN`

Example requests:

```bash
curl -H "x-mcp-token: YOUR_TOKEN" "http://localhost:3000/mcp"
curl -H "Authorization: Bearer YOUR_TOKEN" "http://localhost:3000/sessions"
```

If the token is missing or invalid, the server responds with `401 Unauthorized`.

### MCP Client Configuration

#### Claude Desktop

**Configuration File Locations:**

- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

**Configuration:**

```json
{
  "mcpServers": {
    "picnic": {
      "command": "npx",
      "args": ["-y", "mcp-picnic"],
      "env": {
        "PICNIC_USERNAME": "your-picnic-email@example.com",
        "PICNIC_PASSWORD": "your-picnic-password",
        "PICNIC_COUNTRY_CODE": "NL"
      }
    }
  }
}
```

**Important**:
- Replace the placeholder credentials with your actual Picnic account details
- Set `PICNIC_COUNTRY_CODE` to `"DE"` for Germany, `"FR"` for France, or `"NL"` for the Netherlands (default)

**Setup Steps:**

1. Open Claude Desktop
2. Go to Claude menu → Settings (not the in-app settings)
3. Click "Developer" in the left sidebar
4. Click "Edit Config" to open the configuration file
5. Add the configuration above
6. Save the file and restart Claude Desktop
7. Look for the 🔨 hammer icon in the input area

#### Continue (VS Code)

Add to your Continue configuration:

```json
{
  "mcpServers": [
    {
      "name": "picnic",
      "command": "npx",
      "args": ["-y", "mcp-picnic"],
      "env": {
        "PICNIC_USERNAME": "your-picnic-email@example.com",
        "PICNIC_PASSWORD": "your-picnic-password",
        "PICNIC_COUNTRY_CODE": "NL"
      }
    }
  ]
}
```

**Note**: Set `PICNIC_COUNTRY_CODE` to `"DE"` for Germany or `"FR"` for France. Netherlands accounts can omit this field (defaults to `"NL"`).

## Authentication

The server uses the credentials configured in your environment variables:

1. **Required**: Set `PICNIC_USERNAME` and `PICNIC_PASSWORD` in your MCP configuration
2. **Session Persistence**: After successful authentication, your session is saved to `~/.picnic-session.json` and reused across restarts. You can customize this path with the `PICNIC_SESSION_FILE` environment variable.

### Two-Factor Authentication (2FA)

If your Picnic account has 2FA enabled, complete the verification flow using MCP tools:

1. Call `picnic_generate_2fa_code` to send a verification code (usually SMS).
2. Call `picnic_verify_2fa_code` with the received OTP code.

> Important: In Docker, the server itself cannot "chat" or type the code for you. Your MCP client (Claude Desktop, Continue, etc.) must trigger these tools.

To avoid repeated 2FA challenges and container restart loops, persist `PICNIC_SESSION_FILE` to a Docker volume.
When 2FA is pending, the server stays up so your client can complete `picnic_generate_2fa_code` and `picnic_verify_2fa_code`.

**Security Note**: Credentials are used only for Picnic API authentication. The session token is stored locally at `PICNIC_SESSION_FILE`; the password is never stored on disk.

## Available Tools

The server provides comprehensive access to Picnic's functionality through 30+ specialized tools:

### Authentication & Account Management

- **`picnic_generate_2fa_code`** - Generate 2FA verification code (SMS/other channels)
- **`picnic_verify_2fa_code`** - Verify 2FA code for authentication
- **`picnic_get_user_details`** - Get current user profile information
- **`picnic_get_user_info`** - Get user information including feature toggles

**Note**: Authentication is handled automatically using credentials from environment variables (`PICNIC_USERNAME` and `PICNIC_PASSWORD`). No manual login is required.

### Product Discovery & Search

- **`picnic_search`** - Search for products by name or keywords
- **`picnic_get_suggestions`** - Get product suggestions based on query
- **`picnic_get_product_details`** - Get detailed information about a specific product
- **`picnic_get_image`** - Get product images in various sizes (tiny to extra-large)

**Note**: `picnic_get_categories` is not available. The underlying `picnic-api` package removed `getCategories()` in v4; category browsing would need a new Fusion page implementation.

### Recipe & Meal Planning

- **`picnic_browse_recipes`** - Browse Picnic recipes, including category page IDs and category-specific listings
- **`picnic_get_recipe`** - Get details for a specific recipe
- **`picnic_get_recipe_ingredients`** - Extract recipe ingredients
- **`picnic_get_multiple_recipe_ingredients`** - Extract ingredients from multiple recipes
- **`picnic_build_shopping_list`** - Build a consolidated shopping list
- **`picnic_find_meal_combinations`** - Find meal combinations within constraints
- **`picnic_add_recip

…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ivo-toby](https://github.com/ivo-toby)
- **Source:** [ivo-toby/mcp-picnic](https://github.com/ivo-toby/mcp-picnic)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-ivo-toby-mcp-picnic
- Seller: https://agentstack.voostack.com/s/ivo-toby
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
