[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# AnyList API and MCP server: Let your AI agent write your AnyList grocery list.

> AnyList has no public API, no developer docs and no MCP server (checked 25 Oct 2026). Cotlet runs 12 AnyList tools hosted, over MCP for agents and REST for scripts.

Connect AnyList shopping lists, recipes and meal plans to your own workflow. Use an AI agent through MCP or REST from automation tools and scripts.

[MCP setup](https://cotlet.dev/integrations/anylist-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/anylist-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with AnyList
- Page: https://cotlet.dev/integrations/anylist-api-mcp-server

## What can you automate in AnyList?

- Turn the meal plan into a shopping list
- Plan dinners from your recipes
- Add items to a shared list
- Save a recipe from text
- Clear the list after the store
- Check what you buy often

## Does AnyList have an MCP server or an API?

- AnyList support wrote in April 2023 that a public API is "a big task" for "a very small team". Nothing has shipped since.
- The official ways in: Alexa and Siri add items by voice, and an iCalendar link copies the meal plan to your calendar, one way. Zapier, n8n and IFTTT have no AnyList app.
- About eight community MCP servers on GitHub use AnyList's reverse-engineered API with your AnyList password, on a machine you run.

| What you need | Alexa or Siri | GitHub MCP server | Cotlet |
|---|---|---|---|
| Add items to a list | Yes, by voice | Yes | Yes, after your OK |
| Read the list, cross off, clear | No | Yes | Yes |
| Recipes and the meal plan | Read on Echo Show | Yes | Yes, with Complete |
| No AnyList password in a config file | Yes | No | Yes, you sign in once |
| Runs with your computer off | Yes | If you host it | Yes, hosted |

Checked 25 Oct 2026. Sources: [AnyList Help: Using AnyList with Amazon Alexa](https://help.anylist.com/articles/amazon-alexa-overview/), [AnyList Help: Viewing Your Meal Planning Calendar in External Apps](https://help.anylist.com/articles/meal-plan-icalendar-overview/), [AnyList Help: Using AnyList with Siri](https://help.anylist.com/articles/siri/), [AnyList support on a public API (DAKboard discussion)](https://github.com/dakboard/Cloud-Platform/discussions/1436)

## How does Cotlet connect to AnyList?

1. **Sign in to AnyList.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your AnyList password, and nothing lands on a list your household shares until you approve it.

## Connect AnyList to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Enable AnyList for agents.** Create a Cotlet account, sign in to AnyList for the Web in its Cloud Browser and press Enable for agents.
2. **Give your agent the address.** Add https://cotlet.dev/mcp/v1 to its MCP server or connector list.
3. **Let it in.** Chat apps open a Cotlet sign-in. Editors, n8n and scripts send an API key made in the console.

AnyList shares `https://cotlet.dev/mcp/v1` with every other app in your workspace. Turned AnyList on after you connected? Refresh the connector and its tools appear.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-anylist \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-anylist": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-anylist]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: anylist_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: anylist_write
```

## How to use the AnyList REST API

### Create your Cotlet API key

Create a Cotlet API key with access to AnyList and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

Sign in to AnyList in its Cotlet Cloud Browser and enable the app for agents. AnyList Complete is required for access through AnyList for the Web.

### Make your first AnyList API request

cURL:

```
curl https://cotlet.dev/api/v1/anylist/lists \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read list names before their items

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "anylist",
  "tool": "list_lists",
  "result": {
    "lists": [
      {
        "list": "Groceries",
        "items_left": 7,
        "items_crossed_off": 3
      }
    ]
  }
}
```

Read `result.lists` and pass a returned list name to `get_list`. These reads expose no cursor, page or offset inputs.

List details omit crossed-off items by default; use `include_crossed_off=true` when comparing full snapshots. Items expose names rather than stable item IDs, so do not invent ID-based upserts.

Recipe quantities are returned as saved, without scaling. Meal-plan reads require a date range and omit empty days.

### AnyList workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read shopping-list details into a checklist snapshot with saved categories, quantities and notes. |
| Make | HTTP > Make a request | Read recipes and recipe details into your private ingredient and recipe archive without scaling quantities. |
| Python or Node.js | REST API | Combine a dated meal plan and recipe details into a household meal briefing without adding groceries. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads AnyList; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/anylist-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## AnyList API endpoints and MCP tools

### Shopping lists and favorites

Lists are found by name. Shared lists behave like your own, so everyone on them sees each change. Favorites are kept per list.

- **List lists** (`list_lists`, read): Shopping lists of your account with the number of items left on each.
- **Get list** (`get_list`, read): Items of one list with category, quantity, note and whether each is crossed off.
- **List favorites** (`list_favorites`, read): Favorite items of one list, the master list of what you buy often.
- **Add list item** (`add_list_item`, write, asks first): Add an item to a list, with optional quantity, note and category.
- **Cross off item** (`cross_off_item`, write, asks first): Cross off an item on a list, or put it back.
- **Delete crossed off items** (`delete_crossed_off_items`, write, asks first): Delete all crossed off items of a list.

### Recipes

New recipes are saved from text, without photos. Recipes come back as saved, not scaled.

- **List recipes** (`list_recipes`, read): Recipes in your account, optionally from one recipe collection or matching a search.
- **Get recipe** (`get_recipe`, read): One recipe with ingredients, preparation steps and servings.
- **Create recipe** (`create_recipe`, write, asks first): Save a new recipe from text: name, ingredients and steps.

### Meal planning calendar

Part of AnyList Complete. Ingredients from several recipes are merged into one item by AnyList itself.

- **Get meal plan** (`get_meal_plan`, read): Entries of the meal planning calendar between two dates.
- **Add recipe to meal plan** (`add_recipe_to_meal_plan`, write, asks first): Put a recipe on a day of the meal planning calendar.
- **Add meal plan ingredients to list** (`add_meal_plan_ingredients_to_list`, write, asks first): Add the ingredients of the planned recipes in a date range to a list.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/anylist-api-mcp-server#tools

## Who can see my AnyList session, and how do I revoke it?

- **What we store.** Your signed-in AnyList for the Web profile, AES-256-GCM, in Finland. No password.
- **What your agent gets.** The 12 AnyList tools. Never the session cookie.
- **What the session sees.** Your lists, recipes and meal plan, and what your household shares with you.
- **What no tool touches.** Your subscription, household members, password, and deleting lists or recipes.
- **If AnyList signs you out.** An email with a sign-in link reaches you. We never sign in for you.
- **How to cut access.** Disable for agents, reset the browser or delete the API key. The next call fails.

cotlet.dev has A+ grades on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). We have no SOC 2 report or third-party pentest yet.

## Is it against AnyList's terms? Account safety

> We also reserve the right to terminate any user's right to access the site or services at any time, in our discretion.
>
> [AnyList Terms of Service, last revised 18 Jul 2019](https://www.anylist.com/terms)

That is the only rule that could reach an agent. The terms have no clause on bots, scraping, reverse engineering or third-party apps, and Home Assistant integrations have read AnyList since 2023. We found no public case of an account closed for automation (checked 25 Oct 2026). AnyList can still end access at its own discretion.

How we keep your account looking like you:

- Your own AnyList account, signed in by you on the official web app
- One Cloud Browser with its own IP and cookies, not a fresh login per call
- Every write waits for your OK by default
- No tool deletes a list, a recipe or a household member
- If AnyList objects, we pause the AnyList tools for everyone within 24 h

> AnyList is a small team on a shared sync service. Keep schedules to a few runs a day; the Home Assistant integration polls no more than once a minute.

## What happens when AnyList changes?

- **12 h** between tests of the AnyList list, recipe and meal plan tools
- **$0** for a call to an AnyList tool paused for a fix

AnyList's terms say it may change the service "at any time, with or without notice". When the web app moves something, the fix is ours and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) checks the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Reads the week.** Planned recipes and notes for the next 7 days.
2. **Checks the list.** What is already on Groceries stays as it is.
3. **Waits for your OK.** The add shows up in your Cotlet console first.
4. **Reports back.** Recipes used and items added, after AnyList merges them.

| Action | Undo |
|---|---|
| Cross off an item | Yes, cross_off_item with crossed_off false |
| Delete crossed off items | Re-add them from Recent Items in AnyList |
| Add an item or meal plan ingredients | Cross off or delete them in AnyList |
| Add a recipe to the meal plan | Remove the entry in AnyList |
| Create a recipe | Delete it in AnyList; it syncs to your household first |

6 of 12 tools ask first: every write, because lists, recipes and the meal plan sync to the people you share them with. Reads run at once. Switch the wait off per tool, for example for add_list_item on a list only you use.

> AnyList keeps recently crossed off and deleted items on its Recent Items screen, so a wrong clear is a few taps to fix.

MCP call:

```
{
  "name": "add_list_item",
  "arguments": {
    "list": "Groceries",
    "name": "Oat milk",
    "quantity": "2",
    "category": "Dairy"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/anylist/list-items \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"list":"Groceries","name":"Oat milk","quantity":"2","category":"Dairy"}'
```

Tool output:

```
{
  "list": "Groceries",
  "item": {
    "name": "Oat milk",
    "category": "Dairy",
    "quantity": "2",
    "crossed_off": false
  },
  "added": true
}
```

REST at `/api/v1/anylist` serves the same tools to scripts and cron jobs, with the same key and price. Without AnyList Complete the web app does not open, so calls fail and cost nothing. The tools table lists the REST path of each tool.

## How much does the AnyList MCP server cost?

**About $15 a month** for one household planning dinners and shopping every week, 2,540 credits. AnyList Complete is billed by AnyList as before.

| Job | Calls | Credits |
|---|---|---|
| Meal plan ingredients to Groceries, weekly | 2 × 4 | 80 |
| Plan five dinners from saved recipes, weekly | 7 × 4 | 280 |
| Add an item you mention in chat | 1 × 40 | 400 |
| Clear crossed off items after a store trip | 2 × 12 | 240 |
| Save a recipe from text, weekly | 1 × 4 | 40 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 2,540 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- Needs AnyList Complete, $9.99 or $14.99 a year

The month is our example. FMI's 2026 shopper survey puts a US household at 2.8 grocery trips a week, so about 12 clears a month; the rest is five dinners and ten chat adds a week. The Cloud Browser is most of the bill. Dollars at the $29 pack rate.

## AnyList MCP server on GitHub or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [bobby060/anylist-mcp](https://github.com/bobby060/anylist-mcp) | The most starred (35). Five grouped tools for lists, recipes, collections and the meal plan, on the reverse-engineered API. | Your AnyList password in an env var; Claude on the web needs Docker and a Cloudflare Tunnel. Release 1.8.1, 5 Oct 2026, no license. |
| Forks and smaller servers | djbrinkerhoff (Cloudflare Workers), zkSac/AnyListProMax (prices, UPC codes), avanrossum, mplabs, PuttyByteCoding: 0 or 1 star each. | One maintainer each, mostly unlicensed, and every one asks for your password. |
| [kevdliu/anylist](https://github.com/kevdliu/anylist) | The Node wrapper under most of the servers above, 150 stars. | A library: you write the agent side and keep it working. |
| [moryoav/ha-anylist](https://github.com/moryoav/ha-anylist), [kevdliu/hacs-anylist](https://github.com/kevdliu/hacs-anylist) | Home Assistant: lists as to-do entities, recipe actions, polling every 60 s. | Needs a Home Assistant box at home; no MCP. |

We found no hosted AnyList MCP server besides ours. A GitHub server is free if you run a home server and accept your password in its config. Alexa or Siri is enough for adding items by voice. Cotlet suits an agent that keeps the list and meal plan with no machine of yours running.

## Who runs Cotlet

Behind Cotlet is Take Group sp. z o.o., a Polish software company in the EU (VAT PL6342984273) working since 2019 and led by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the AnyList tools go to contact@cotlet.dev.

## AnyList API and MCP: questions

### Can I use the AnyList API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

### How do I get access?

Sign up free at https://cotlet.dev, open AnyList under Integrations in the console and sign in to AnyList for the Web in its Cloud Browser. The trial starts with your first app and asks for no card.

### Do I need AnyList Complete?

Yes. Cotlet works in AnyList for the Web, and AnyList opens the web app to AnyList Complete subscribers only. Complete costs $9.99 a year for one person or $14.99 a year for a household (checked 25 Oct 2026). Your account needs it before you sign in to Cotlet.

### Does it change lists that I share with my household?

Yes. AnyList shows changes to a shared list to everyone sharing it, and the recipes and meal plan of a household are shared too. For that reason every write waits for your approval by default.

### Do you need my AnyList password?

No. You type it into AnyList's own sign-in page in your Cloud Browser, and we keep the signed-in session, not the password. The GitHub servers need it in their config.

### Does AnyList have webhooks?

No. AnyList sends no events out, so nothing tells an agent that someone added or crossed off an item. Run your agent on a schedule instead, for example get_list every evening.

### Is the MCP server different from the REST API?

Only in how you call it. Both carry the same 12 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with AnyList?

No. Cotlet is independent and not affiliated with AnyList or Purple Cover, Inc.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
