The agent todo app. Task management built for AI agents, not people.
Dooist
The agent todo app. Task management built for AI agents, not people.
Why
Every Claude Code session starts blank. No memory. No state. Your agent doesn't know what it was working on yesterday.
So you re-explain. Re-paste the spec. Re-describe the goal. Every single time.
That's not a workflow. That's babysitting.
The Fix
Dooist is an MCP server where every task carries rich context — intent, spec plan, desired outputs, current status. Any Claude session picks up any task and knows exactly what to do.
No claude --resume. No re-explaining. Context lives in the task, not the session.
create_task "Deploy auth service" with full context → spec, plan, status
Next session:
get_task → agent picks up exactly where it left off
Agent-Native Design
Most developer tools with "AI support" are human tools with an API bolted on. That's backwards.
Agents don't need pretty UIs. They need structured data, rich context fields, and tool interfaces that match how they actually work — stateless, parallel, fast.
list_tasksshows titles and a[has context]flag. Scannable. No noise.get_taskreturns the full markdown body — intent, plan, desired outputs.create_tasksupports parallel calls. Create 10 tasks in one message.
Information architecture matters for agents too. Don't dump everything at once.
What This Looks Like
Run headless Claude Code against your inbox. It triages emails into tasks with full context — who sent it, what they need, deadline. Next Claude session picks up those tasks and executes.
Slack messages, meeting transcripts, texts — all of it generates work. An agent parses your inputs, creates tasks with full context, prioritizes them, and starts working the queue.
No human in the loop for task creation. The agent manages its own backlog.
Install
claude mcp add dooist -- npx dooist
Restart Claude Code. Done.
Teach Claude Your Workflow (Optional)
Installing the MCP server gives Claude the tools. This step teaches it when to use them — proactively suggesting tasks, checking your backlog, adding rich context.
Dooist ships a `DOOIST_CLAUDE.md` file you can import into your CLAUDE.md. One line:
# Create the rules directory if it doesn't exist
mkdir -p ~/.claude/rules
# Download the instructions
curl -fsSL https://raw.githubusercontent.com/paperMoose/dooist/main/DOOIST_CLAUDE.md \
-o ~/.claude/rules/dooist.md
# Add the import to your global CLAUDE.md
echo '@~/.claude/rules/dooist.md' >> ~/.claude/CLAUDE.md
That's it. Every Claude Code session now knows how to use Dooist — checking tasks on planning conversations, suggesting task creation when you mention future work, and including rich context automatically.
What this changes:
- "We should fix that later" → Claude asks "Want me to track that in Dooist?"
- "What should I work on?" → Claude checks your task list
- Bugs found during work → Claude suggests creating a task
- Session ends mid-task → Claude updates context so the next session picks up
To remove: Delete the @~/.claude/rules/dooist.md line from your CLAUDE.md.
Usage
Just talk:
"remind me to fix the auth bug tomorrow"
"what's on my plate this week"
"show me the full context for that deploy task"
"scan this repo for TODOs and create tasks from them"
Tools
| Tool | What it does |
|---|---|
create_task |
Add task with context, due date, priority, labels |
get_task |
Full task details including rich context body |
list_tasks |
Filter by project, label, status — scannable summaries |
complete_task |
Mark done |
update_task |
Change anything including context |
delete_task |
Remove |
today |
Due today + overdue |
upcoming |
Next N days |
scan_todos |
Find TODO/FIXME/HACK comments in codebase |
list_projects |
All projects |
create_project |
New project |
list_labels |
All labels |
create_label |
New label |
Features
- Rich task context: Markdown body with intent, plan, outputs, status
- Natural language dates: "tomorrow", "next monday", "in 3 days"
- Priorities: P1 (urgent) through P4 (low)
- Labels: @work, @personal, @urgent
- Projects: Group related tasks
- Truncated IDs: Use first 8 chars of any task ID
- Persistent: SQLite at
~/.dooist/ - Self-hosted: Your data stays on your machine
Custom Database Location
claude mcp add dooist -e DOOIST_DB_PATH=/your/path/d
Tools (13)
create_taskAdd task with context, due date, priority, labelsget_taskFull task details including rich context bodylist_tasksFilter by project, label, status — scannable summariescomplete_taskMark doneupdate_taskChange anything including contextdelete_taskRemovetodayDue today + overdueupcomingNext N daysscan_todosFind TODO/FIXME/HACK comments in codebaselist_projectsAll projectscreate_projectNew projectlist_labelsAll labelscreate_labelNew labelEnvironment Variables
DOOIST_DB_PATHCustom database locationConfiguration
{"mcpServers":{"dooist":{"command":"npx","args":["dooist"]}}}