Tabs
A calm to-do app for the Mac, with a built-in MCP server so your AI agent can plan, add and tick off to-dos too.
This is my to-do app.
There are many like it, but this one is mine.
I wanted the calm of Things with one change: my AI agents use the list as much as I do. So Tabs runs its own MCP server. Claude reads my day, plans to-dos, links the pull request it just opened and ticks off what it finished, without AppleScript or URL-scheme workarounds.
What's in it
Everything below is in the current build. There's no iCloud sync and no iPhone app yet: your to-dos live on one Mac.
Twelve tools for your agent
The server runs inside the app on 127.0.0.1, behind a token in your Keychain. Agents can read, add, plan, move and complete to-dos, but never delete one for good, and ⌘Z undoes their changes like your own.
Pull requests, with their checks
When your agent links an issue or pull request to a to-do, a badge shows its state and CI. Turn on auto-complete and the to-do ticks itself off once its issues are closed and its PRs merged.
Capture from any app
⌃Space opens Quick Entry over whatever you're doing. ⌃⌥Space fills it from the front app: the page and URL from Safari, Chrome, Arc, Brave or Edge, or the subject, sender and a link back to the message from Mail.
Things-style, on purpose
Inbox, Today, Upcoming, Anytime, Someday and Logbook. One click opens a to-do in place, Escape saves and closes it, and ticked items stay struck through until you leave the list.
Every to-do has an address
Copy a tabs:/// link to a to-do and paste it into a note or a commit; it opens the right list with the to-do expanded. Drag a to-do into another app to drop its title and link, or drag text in to make a new one.
On your Mac, nowhere else
No account, no sync, no analytics. Tabs only goes online to check GitHub, once you add a token, and to look for updates.
Connect your agent
Install Tabs in /Applications and keep it running, then add its MCP server to Claude Code.
claude mcp add --transport http tabs http://127.0.0.1:4820/mcp --header "Authorization: Bearer <token>" Settings › Agents has the same command with your own token filled in, and a Copy button. Any MCP client that speaks streamable HTTP can connect to http://127.0.0.1:4820/mcp with that token; the port is yours to change.
Changelog
Every release, newest first.
0.1.1Changed
- New app icon: a stack of index cards whose tabs sit side by side, with the Today star on the front tab and a check on the card.
0.1.0Initial release
- Things-style lists: Inbox, Today, Upcoming, Anytime, Someday, Logbook and Trash, with areas and projects to group your to-dos.
- Plan a to-do for Today, a date, Anytime or Someday, and give it a deadline that turns red once it is overdue. Hover a row to reschedule it without opening it.
- One click opens a to-do inline as a card with notes, tags, when and deadline. Notes render simple markdown: headings, bold, italic and links.
- Ticked to-dos stay struck through until you leave the list; finished work moves to the Logbook.
- Search across every list, including Logbook and Trash, drag to reorder, and duplicate with ⌘D. Undo covers every change, including the ones your agent makes.
- Built-in MCP server on localhost with 12 tools, so AI agents such as Claude Code can read your lists and create, plan, complete and trash to-dos and projects. Token in the Keychain; agents cannot delete anything permanently.
- Settings › Agents: server status, port, token and a one-click copy of the `claude mcp add` command.
- Link GitHub issues and pull requests to a to-do and see their state and CI checks as a badge in the list. Optionally tick the to-do off once every issue is closed and every PR merged.
- Quick Entry over any app with a global hotkey (⌃Space). ⌃⌥Space prefills it with the page from Safari, Chrome, Arc, Brave or Edge, or the subject, sender and a link back to the message from Mail.
- Keeps running in the menu bar after you close the window, so agents, hotkeys and GitHub checks stay available. Dock badge with today's count, and launch at login.
- tabs:/// links open a to-do from anywhere; drag to-dos onto a list to move them, or out to another app as title plus link.
- Updates itself through Sparkle.