Skip to main content

Let your AI manage your real grocery list — unofficial Listonic MCP server

Project description

listonic-mcp

PyPI CI Python 3.10+ License: MIT

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 SettingsMCPNew 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.com directly 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

listonic_mcp-0.1.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

listonic_mcp-0.1.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

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

Hashes for listonic_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2ee4f3ba943ed8a0d42d2502c5d655b12f647634f612b8a9017251aab775445f
MD5 ff2cf90ecb6cb035776c37dc7177486d
BLAKE2b-256 4df2943965f228d5e1b27b50c7c4cc140a187a3b11dae8ce22165ca6d9ac3427

See more details on using hashes here.

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

Hashes for listonic_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa9bd9c204e0ae663f79ea1be02c9aee6635fd19244f741537a95d52ac930d5a
MD5 1447b64419357f40a238e048597ac2ec
BLAKE2b-256 785883a1abb178b7608c7d3db510120f1fce75921b2f222c40f1ab14da2fde4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page