Let your AI manage your real grocery list — unofficial Listonic MCP server
Project description
listonic-mcp
An MCP (Model Context Protocol) server that gives AI agents — Claude, Cursor, or any MCP client — hands on your real Listonic grocery list. Read it, add to it, check things off, across every device Listonic syncs to.
The obvious win: meal planning that ends in a shopping list. Ask your agent to plan the week's dinners, and the missing ingredients land straight on the list on your phone — quantities and all. Or paste a recipe and say "add what I don't have": the server tells the agent which items are checked (already at home) and which aren't.
You: plan me 3 cheap high-protein dinners and put the ingredients on my list
Agent: [reads your list — sees you already have rice, eggs, frozen spinach]
[adds: 1 kg chicken thighs, 400 g lentils, greek yogurt ×2, ...]
Unofficial. Not affiliated with Listonic. Built on their web app's API (reverse-engineered — fully documented in API.md). It may break if Listonic changes their API.
Install
Requires Python 3.10+ and a Listonic account (free):
pip install listonic-mcp
Add to your agent
Point command at listonic-mcp and pass your Listonic login:
{
"mcpServers": {
"listonic": {
"command": "listonic-mcp",
"env": {
"LISTONIC_EMAIL": "you@example.com",
"LISTONIC_PASSWORD": "your-listonic-password"
}
}
}
}
The same values can be passed as --email / --password args instead — whichever your client makes easier.
Claude Code
claude mcp add listonic -e LISTONIC_EMAIL=you@example.com -e LISTONIC_PASSWORD=your-password -- listonic-mcp
Cursor
Cursor Settings → MCP → New MCP Server, paste the JSON config above.
Google Antigravity
Add the JSON config above to .gemini/antigravity/mcp_config.json.
Then just ask:
What's on my grocery list? Check off the milk, I just bought it.
Launch params
| Param | Env var | Default | What it does |
|---|---|---|---|
--email |
LISTONIC_EMAIL |
— | Listonic account email (required). |
--password |
LISTONIC_PASSWORD |
— | Listonic account password (required). |
--list-id |
LISTONIC_LIST_ID |
first list | Pin a default list; see get_lists for the ids. |
Tools
| Tool | What it does |
|---|---|
get_lists |
All your shopping lists with their ids. |
get_items |
Items on a list — checked (already have) vs unchecked (to buy). |
add_items |
Add one or many items in a single call (name, quantity, unit). |
edit_items |
Check/uncheck, rename, or re-quantity items — batched. |
delete_items |
Remove items entirely. |
Every tool takes an optional list_id, so multiple lists ("weekend BBQ", "pharmacy") work naturally.
Good to know
- Your password goes to Listonic only. The server logs in against
api.listonic.comdirectly and talks to nothing else — no telemetry, nothing stored beyond an in-memory session token (auto-refreshed when it expires). - The client id/secret in the source are Listonic's own web-app credentials, embedded in their public JS bundle and shared by every web user — they are not personal secrets.
- The full reverse-engineered API is documented in API.md — lists, items, categories, account endpoints — if you want to extend the server.
Make it yours
A single readable file with no framework magic. Fork it and edit anything — add price tracking, category sorting, a recipe parser. Run from source:
git clone https://github.com/ArturLys/listonic-mcp.git
cd listonic-mcp
pip install -e .
listonic-mcp --email you@example.com --password your-password
Credits
- Listonic — the shopping list app this talks to. Go pay them for premium if you live off it.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file listonic_mcp-0.1.0.tar.gz.
File metadata
- Download URL: listonic_mcp-0.1.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ee4f3ba943ed8a0d42d2502c5d655b12f647634f612b8a9017251aab775445f
|
|
| MD5 |
ff2cf90ecb6cb035776c37dc7177486d
|
|
| BLAKE2b-256 |
4df2943965f228d5e1b27b50c7c4cc140a187a3b11dae8ce22165ca6d9ac3427
|
File details
Details for the file listonic_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: listonic_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa9bd9c204e0ae663f79ea1be02c9aee6635fd19244f741537a95d52ac930d5a
|
|
| MD5 |
1447b64419357f40a238e048597ac2ec
|
|
| BLAKE2b-256 |
785883a1abb178b7608c7d3db510120f1fce75921b2f222c40f1ab14da2fde4b
|