AnyList MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone <this-repo> anylist-mcp
cd anylist-mcp
npm install
npm run build
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "ANYLIST_EMAIL=${ANYLIST_EMAIL}" -e "ANYLIST_PASSWORD=${ANYLIST_PASSWORD}" anylist-mcp -- node "<FULL_PATH_TO_ANYLIST_MCP>/dist/index.js"

Replace <FULL_PATH_TO_ANYLIST_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:ANYLIST_EMAILANYLIST_PASSWORD
README.md

Connects AI assistants to AnyList for shopping lists, recipes, and meal plans.

AnyList MCP Server

A Model Context Protocol (MCP) server that connects AI assistants to AnyList — giving them access to your shopping lists, recipes, and meal plans.

Features

  • Shopping Lists — View lists, check items, add freeform items or recipe ingredients
  • Recipes — Search and retrieve full recipe details including ingredients and steps
  • Meal Planning — View and schedule meals on your AnyList calendar
  • Grocery Helpers — Add ingredients from one or multiple recipes to a list with duplicate handling

Prerequisites

  • Node.js >= 18
  • An AnyList account (email/password)

Setup

  1. Clone this repository:

    git clone <this-repo> anylist-mcp
    cd anylist-mcp
    
  2. Install dependencies:

    npm install
    
  3. Build:

    npm run build
    

Configuration

The server requires your AnyList credentials as environment variables:

Variable Description
ANYLIST_EMAIL Your AnyList account email
ANYLIST_PASSWORD Your AnyList account password

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "anylist": {
      "command": "node",
      "args": ["/path/to/anylist-mcp/dist/index.js"],
      "env": {
        "ANYLIST_EMAIL": "your-email@example.com",
        "ANYLIST_PASSWORD": "your-password"
      }
    }
  }
}

Other MCP Clients

Run the server via stdio transport:

ANYLIST_EMAIL=you@example.com ANYLIST_PASSWORD=secret node dist/index.js

Or for development:

ANYLIST_EMAIL=you@example.com ANYLIST_PASSWORD=secret npm run dev

Tools

Lists

Tool Description
get_lists List all shopping lists with item counts
get_list_items Get all items on a specific list
add_item_to_list Add a freeform item to a list (with duplicate checking)
add_ingredient_to_list Add a recipe ingredient to a list with proper categorization

Recipes

Tool Description
get_recipes List all recipes, optionally filtered by name
get_recipe_details Get full recipe details including ingredients and steps

Groceries

Tool Description
add_recipe_ingredients_to_list Add all ingredients from a recipe to a list
add_ingredients_to_list Batch add ingredients from multiple recipes to a list

Meal Planning

Tool Description
get_meal_plan Get meal plan events for a date range (defaults to current week)
add_meal_plan_event Schedule a recipe or event on a specific day

Tool Details

`add_item_to_list`

Add a freeform item to a shopping list. If the item already exists and is checked off, it will be unchecked instead of duplicated.

  • item_name (required) — Name of the item
  • list_name (required) — Target list name
  • quantity (optional) — e.g. "2 lbs", "3"

`add_ingredient_to_list`

Add a specific ingredient from a recipe to a shopping list. Uses AnyList's ingredient handler for proper categorization, and matches against existing or recently used items.

  • recipe_name or recipe_id (one required) — The recipe to pull from
  • ingredient_name (required) — Ingredient name (case-insensitive, partial match)
  • list_name (optional, default: "Groceries") — Target list

`add_recipe_ingredients_to_list`

Add all ingredients from a single recipe to a list. Handles duplicates: skips items already present, unchecks previously checked-off items.

  • recipe_name or recipe_id (one required)
  • list_name (optional, default: "Groceries")

`add_ingredients_to_list`

Batch version — add ingredients from multiple recipes at once. Deduplicates across recipes.

  • recipe_names or recipe_ids (one required, array)
  • list_name (optional, default: "Groceries")

`get_recipe_details`

Get full recipe details including ingredients (with name, quantity, and notes) and preparation steps.

  • recipe_name or recipe_id (one required)

`add_meal_plan_event`

Schedule a recipe or titled event on the meal plan calendar.

  • date (required) — YYYY-MM-DD format
  • recipe_name or recipe_id (optional) — Recipe to schedule
  • title (optional) — Event title (used if no recipe, or as override)
  • label (optional) — e.g. "Breakfast", "Lunch", "Dinner"

License

ISC

Tools (10)

get_listsList all shopping lists with item counts
get_list_itemsGet all items on a specific list
add_item_to_listAdd a freeform item to a list (with duplicate checking)
add_ingredient_to_listAdd a recipe ingredient to a list with proper categorization
get_recipesList all recipes, optionally filtered by name
get_recipe_detailsGet full recipe details including ingredients and steps
add_recipe_ingredients_to_listAdd all ingredients from a recipe to a list
add_ingredients_to_listBatch add ingredients from multiple recipes to a list
get_meal_planGet meal plan events for a date range
add_meal_plan_eventSchedule a recipe or event on a specific day

Environment Variables

ANYLIST_EMAILrequiredYour AnyList account email
ANYLIST_PASSWORDrequiredYour AnyList account password

Configuration

claude_desktop_config.json
{"mcpServers": {"anylist": {"command": "node", "args": ["/path/to/anylist-mcp/dist/index.js"], "env": {"ANYLIST_EMAIL": "your-email@example.com", "ANYLIST_PASSWORD": "your-password"}}}}

Try it

Add all the ingredients for my 'Spaghetti Bolognese' recipe to my Groceries list.
What is on my meal plan for this week?
Schedule 'Chicken Curry' for dinner this Friday.
Add 2 lbs of apples to my shopping list.
Find the recipe details for my favorite lasagna.

Frequently Asked Questions

What are the key features of AnyList MCP Server?

View and manage shopping lists with duplicate handling. Search and retrieve full recipe details. Batch add ingredients from multiple recipes to lists. View and schedule meals on the AnyList calendar.

What can I use AnyList MCP Server for?

Automating grocery list creation based on planned weekly meals. Quickly adding missing ingredients from a recipe to a shopping list. Planning and scheduling family meals directly through an AI assistant. Checking off items on a shopping list while cooking.

How do I install AnyList MCP Server?

Install AnyList MCP Server by running: git clone <this-repo> anylist-mcp && cd anylist-mcp && npm install && npm run build

What MCP clients work with AnyList MCP Server?

AnyList MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep AnyList MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare