Skip to main content
Glama

Dooist

npm version npm downloads CI License: MIT

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_tasks shows titles and a [has context] flag. Scannable. No noise.

  • get_task returns the full markdown body — intent, plan, desired outputs.

  • create_task supports 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, parentId

get_task

Full task details including rich context body

list_tasks

Filter by project, label, status, parentId — scannable summaries

complete_task

Mark done

update_task

Change anything including context and parent

delete_task

Remove (cascades to subtasks)

add_task_update

Append timestamped status update to a task

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

  • Subtasks: Nest tasks with parentId, cascade delete, filter by parent

  • Task updates: Timestamped activity log per task

  • 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/dooist.db -- npx dooist

Development

git clone https://github.com/paperMoose/dooist cd dooist npm install npm run build npm test

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/paperMoose/dooist'

If you have feedback or need assistance with the MCP directory API, please join our Discord server