Let your AI manage your real grocery list — unofficial Listonic MCP server
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.
Requires Python 3.10+ and a Listonic account (free):
pip install listonic-mcp
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 mcp add listonic -e LISTONIC_EMAIL=you@example.com -e LISTONIC_PASSWORD=your-password -- listonic-mcp
Cursor Settings → MCP → New MCP Server, paste the JSON config above.
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.
| 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. |
| 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.
api.listonic.com directly and talks to nothing else — no telemetry, nothing stored beyond an in-memory session token (auto-refreshed when it expires).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
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx listonic-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-arturlys-listonic-mcp": {
"command": "uvx",
"args": [
"listonic-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencelistonic-mcppypiio.github.ArturLys/listonic-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.