Guide
A to-do app built for AI agents
TodoCity is a Mac to-do app made for the age of AI assistants. Its built-in MCP server lets Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and LM Studio add tasks for you — but never read, change or delete them, and each task waits for your OK. It can also run Claude Code in the background, on a schedule, to pull the to-dos out of your new email. And TodoCity's own AI runs on your Mac.
- MCP server
- Built in, with one tool: add_task
- AI apps
- Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, LM Studio
- Access
- Write-only — you approve every task
- Where it works
- On this Mac only, over a private local connection
Three kinds of AI, each with one job
- On-device AI reads what you capture (⌘C twice) and writes the task with its date and repeat — offline, never sent to a cloud AI.
- The AI apps you already use add tasks over MCP: tell Claude “add a TodoCity task to send the deck Friday 3pm”.
- A background agent checks your new email on a schedule and sends you the to-dos it finds, for review.
Connect an AI app
- Open Connectors. In TodoCity, open Settings → Connectors → AI agents and turn on “Let AI agents on this Mac add tasks”.
- Pick your app. Click Connect next to Claude Code, Claude Desktop, Cursor, VS Code, Windsurf or LM Studio. TodoCity adds itself to that app's MCP settings and backs up the original first.
- Ask for a task. In the AI app, say “add a TodoCity task to call the bank tomorrow at 10”.
- Approve it. The task waits in the menu-bar dropdown. Add puts it on your list; Dismiss drops it.
Prefer agents to notice deadlines on their own? Turn on “Let agents suggest tasks on their own” — when you mention a deadline or say “remind me”, they send it to TodoCity without being asked. You still approve each one.
Write-only, on purpose
Agents get exactly one tool, add_task, and the same reply for every task — no ids, no counts, no duplicate check — so an agent can't learn anything about your list by probing. Tasks travel over a private connection that only your Mac user account can open, so agents in the cloud can't reach it. At most 20 tasks arrive every 10 minutes, and 50 can wait for review.
A background agent for your email
Turn on Email to tasks and TodoCity runs Claude Code on a schedule — every 15, 30 or 60 minutes, between the hours you choose, weekdays only if you like. Claude Code reads your new mail through your own mail connection and sends the action items to TodoCity, where they wait for review like any other agent task. The run may use only your mail connection and add_task, and TodoCity itself never reads your mail.
Email to tasks needs Claude Code on your Mac, connected to TodoCity and to your mail (for example an Outlook or Microsoft 365 MCP server). Your email is read by Claude Code under your own Claude account; TodoCity only receives the tasks.
How it compares
| Feature | TodoCity | Things 3 | Todoist | Apple Reminders |
|---|---|---|---|---|
| MCP server for AI apps | Built in, on your Mac | No official one | Official, in the cloud | No official one |
| What agents can do | Add tasks only, approved by you | — | Read and change your tasks | — |
| Background AI agent | Email to tasks, on a schedule | No | No | No |
| AI on your device | Yes, any Mac with macOS 11+ | No | No (cloud) | Apple Intelligence on supported Macs |
Questions
Which AI apps can add tasks to TodoCity?
Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and LM Studio connect in one click from Settings → Connectors → AI agents. Any other app that supports local (stdio) MCP servers can run TodoCity --mcp.
Can an AI agent see my tasks?
No. TodoCity's MCP server is write-only: agents can add a task, and every task gets the same reply, so they can't read, change, delete or even count your tasks.
Does the background agent send my email anywhere?
TodoCity never reads your email. Claude Code reads it through the mail connection you set up in Claude Code, under your Claude account, the same as if you asked it yourself. TodoCity only receives the tasks it finds.