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
Metadata
Release files for listonic-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| listonic_mcp-0.1.0.tar.gz | 8.5 kB | Without provenance | Details for listonic_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| listonic_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for listonic_mcp-0.1.0-py3-none-any.whl |
Total release size: 17.3 kB
Release files / listonic_mcp-0.1.0.tar.gz
| Download URL | listonic_mcp-0.1.0.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ee4f3ba943ed8a0d42d2502c5d655b12f647634f612b8a9017251aab775445f
|
|
BLAKE2b-256 checksum How to use checksums |
4df2943965f228d5e1b27b50c7c4cc140a187a3b11dae8ce22165ca6d9ac3427
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Release files / listonic_mcp-0.1.0-py3-none-any.whl
| Download URL | listonic_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fa9bd9c204e0ae663f79ea1be02c9aee6635fd19244f741537a95d52ac930d5a
|
|
BLAKE2b-256 checksum How to use checksums |
785883a1abb178b7608c7d3db510120f1fce75921b2f222c40f1ab14da2fde4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Security for listonic-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.