LystBot

The Only List App With a REST API, CLI, and MCP Server

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

Try adding "milk" to your grocery list from a script. Go ahead. I'll wait.

Todoist has an API, but it's buried behind OAuth flows and rate limits that make simple automations painful. AnyList? No API. Google Keep? Google killed the unofficial API years ago and never replaced it. Apple Reminders? You need an entire Apple device and Shortcuts to get anywhere.

I built LystBot because I wanted a list app for developers. One where curl is a first-class citizen, where your AI assistant can actually modify your grocery list, and where npx gets you a working CLI without installing anything.

REST API

You get an API key from the app settings. Five seconds, no OAuth dance.

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://api.lystbot.com/lists \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Grocery Run", "emoji": "🛒"}'

# Add items
curl -X POST https://api.lystbot.com/lists/LIST_ID/items \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items": ["Oat milk", "Sourdough", "Avocados"]}'

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

No scopes, no token refresh, no 47-page OAuth guide. A todo app REST API that works like you'd expect a REST API to work.

Full endpoint docs are at lystbot.com/agents.

MCP server

LystBot ships an MCP server so your AI assistant can manage your lists directly. Not "pretend to manage" like ChatGPT does when it cheerfully says "Done!" while nothing happens on your phone. Actually manage.

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.

This is what MCP server list management looks like when the app was built for it from day one, not bolted on as an afterthought.

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 lists --json | jq '.[].title'

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

Shared 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.

The app is free. No account walls, no credit card prompts, no "free tier with 3 lists." You install it, you use it.

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

iOS App Store · Google Play · Docs · GitHub · npm