shoppingLABSCO SUMMARY
Recipe to meal plan to shopping list, in one chain.
The tools are grouped so that the natural sequence — find or import a recipe, schedule it, add its ingredients — is three calls rather than fifteen. Import and normalize preview before saving, which matters because recipe sites parse badly and you want to see what was extracted before it lands in your account.
What it is
An unofficial AnyList server covering shopping lists, recipes and meal planning. The surface is grouped into a few domain tools that each take an action, rather than one tool per operation.
What you get
- shopping — list_lists, list_items, add_item, check_item, delete_item, get_favorites, get_recents, set_item_store and set_item_category, with items grouped by category
- recipes — list and search recipes, get one with its ingredients and steps, create one, delete one
- recipes import_url and normalize — pull a recipe from a website, or parse raw text, with a preview before you save it
- meal_plan — list_events, list_labels, create_event and delete_event, scheduling by date with an optional link to a recipe
- recipe_collections — organise recipes into named collections
- health_check — confirm the connection and that the target list is reachable
- Item names match partially, so checking off "eggs" finds the entry you actually wrote
Requirements
An AnyList account. For local use, Node.js v20+ and the repository cloned with its submodule, with ANYLIST_USERNAME, ANYLIST_PASSWORD and optionally ANYLIST_LIST_NAME in the client config — or install the packaged extension into Claude Desktop and enter the same details in the prompt. Claude Web, Claude Mobile and Home Assistant need the Docker HTTP server behind a Cloudflare Tunnel instead.
Setup effort
Build from source — git clone --recurse-submodules https://github.com/bobby060/anylist-mcp.git
USE CASES
Adding to the list while you think of it
Add the item with a quantity and note, against the right store or category.
Saving a recipe you found online
Import it from the URL, preview what was parsed, and save it if it came out right.
Planning the week
Read the meal labels, then schedule the recipes against dates on the calendar.
Shopping from the plan
Read the recipe's ingredients and add them to the list, then check them off as you go.
Checking the connection before you rely on it
Confirm the account is reachable and the target list exists.
5 tools
Listed in project docs. Your client may show a different list.
recipesmeal_planrecipe_collectionshealth_checkBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- ANYLIST_PASSWORD in your environment
- ANYLIST_USERNAME in your environment
INSTALLATION
Connect your client
Server setup
git clone --recurse-submodules https://github.com/bobby060/anylist-mcp.git
cd anylist-mcp
npm installMCP Clients
Claude Code — local build, Claude Desktop — local build
{
"mcpServers": {
"anylist": {
"command": "node",
"args": [
"<YOUR_PATH_TO_ANYLIST_MCP>/src/server.js"
],
"env": {
"ANYLIST_USERNAME": "<YOUR_ANYLIST_USERNAME>",
"ANYLIST_PASSWORD": "<YOUR_ANYLIST_PASSWORD>",
"ANYLIST_LIST_NAME": "Groceries"
}
}
}
}Self-hosted — Cloudflare tunnel
docker compose --profile cloudflare-temp up --buildHome Assistant
docker compose exec anylist-mcp node scripts/create-client.js <YOUR_ANYLIST_USERNAME> "Home Assistant"