LystBot

Todo API: manage shared lists with LystBot

The LystBot todo API lets scripts read and update shared task lists at https://lystbot.com/api/v1. Start with curl https://lystbot.com/api/v1/lists -H "Authorization: Bearer YOUR_API_KEY" to read your lists before making a change.

Request Required input Result
GET /lists Bearer API key Read all lists
POST /lists id, title Create a list
POST /lists/:id/items id, text Add one item
PUT /lists/:id/items/:itemId checked Change checked state

See the LystBot agent setup for the full reference. Related guides: grocery API automation examples, terminal commands for shared lists.

LystBot - list app with API, CLI, and MCP server for developers

A list app with API access for todos

Copy your API key from Settings, then AI Agents. Send it as a Bearer token.

LystBot settings screen showing API key for the list app REST API

Then you talk to your lists like a normal person talks to a REST API:

# Create a list
curl -X POST https://lystbot.com/api/v1/lists \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id": "NEW_LIST_UUID", "title": "Groceries", "type": "shopping", "emoji": "๐Ÿ›’"}'

# Add one item
curl -X POST https://lystbot.com/api/v1/lists/LIST_ID/items \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id": "NEW_ITEM_UUID", "text": "Flour", "quantity": 1, "unit": "500g"}'

# Check off an item
curl -X PUT https://lystbot.com/api/v1/lists/LIST_ID/items/ITEM_ID \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"checked": true}'

New lists and items require client-generated UUID v4 IDs. Replace each UUID placeholder before sending a write request.

It's a grocery list API you can call from anywhere: a cron job, a Home Assistant automation, a Slack bot, a recipe scraper. If it speaks HTTP, it speaks LystBot.

Full endpoint docs are at lystbot.com/agents.

MCP server

The CLI includes a local stdio MCP server with 26 tools. Authenticate with npx lystbot login YOUR_API_KEY before the client starts it. ChatGPT integration is coming soon.

Claude Desktop config:

{
  "mcpServers": {
    "lystbot": {
      "command": "npx",
      "args": ["lystbot", "mcp"]
    }
  }
}

Cursor / Windsurf: Same setup in your MCP config file.

Claude Code:

claude mcp add lystbot -- npx lystbot mcp

Once connected, you can say "find a carbonara recipe and add the ingredients to my grocery list." Claude reads the recipe, creates the items, and your phone buzzes with a push notification. The items are on your list when you walk into the store.

MCP and REST change the same saved lists.

Developer terminal showing LystBot REST API response and CLI commands

CLI

Sometimes you don't need AI. You need a terminal.

npx lystbot login YOUR_API_KEY
npx lystbot lists
npx lystbot create "Moving Checklist" --emoji "๐Ÿ“ฆ"
npx lystbot add "Moving Checklist" "Cancel internet, Forward mail, Pack kitchen"
npx lystbot check "Moving Checklist" "Cancel internet"

Pipe JSON output into jq, feed it to other scripts, wire it into CI/CD. A shopping list CLI that plays nice with Unix pipes.

npx lystbot show "Groceries" --json | jq '.items'

No global install needed. npx pulls it from npm and runs it.

Collaborative lists and real-time sync

LystBot is still a proper list app. You share lists with family, roommates, whoever. Changes sync in real time across all devices.

LystBot lists overview showing shared shopping and todo lists LystBot list detail view with grocery list items

Share codes make it easy to invite people. No account creation required for the person joining.

LystBot share code for collaborative list sharing

Push notifications tell you when someone adds or checks off items, whether that someone is your partner or your AI agent.

LystBot push notification when items are added via API

Open source and free

The CLI and MCP server are open source on GitHub. Read the code. Open issues. Send PRs. Every tool call your AI makes goes through code you can inspect.

The app is free during launch, with no account needed.

If you're looking for a programmable list app or a headless list management tool that doesn't fight you, this is the one.

Get LystBot

You get a list app with a real API, a CLI that respects your terminal, and an MCP server that turns your AI assistant into someone who can actually help with groceries. The CLI and MCP code are open source. The app is free during launch.

Download LystBot free on iOS App Store and Google Play.

Docs ยท GitHub ยท npm

FAQ

What does a new task need?

A REST item write needs a client-generated UUID v4 id and a text field. Send it to POST /lists/:id/items with your Bearer API key.

Can this API serve grocery lists too?

Yes. List types are shopping, todo, packing and generic. The same item endpoints work with these lists.

What if authentication fails?

A 401 response means the request was not authenticated. Check the API key from Settings, then AI Agents, and the Authorization: Bearer YOUR_API_KEY header before retrying.