# Done > Done is an AI to-do app and task manager. Capture tasks in plain language, then > assign the ones you don't want to do yourself to an AI agent — Claude, ChatGPT, or > any MCP-compatible model — that reads the task's context, does the work, and > reports back in the task's activity feed. > Every account gets its own remote MCP endpoint, scoped to just that account's > tasks: there is no shared or global token. Live at https://trydone.app. Sign up with email + password. The free tier includes every core feature and 100 AI agent (MCP) calls a month, no credit card required; Pro ($5/mo) adds unlimited agent calls, and Teams ($20/mo) adds shared workspaces. ## Core concepts - Tasks have a status (not_started, in_progress, plan_proposed, pending_approval, done), a priority, an optional project, goal, and tags, an assignee (a person or an AI agent), due dates, recurrence, and "blocked by" dependencies. - Assigning a task to an AI agent is delegation, not hand-off: a human stays the accountable owner and reviews plans and results in the task's Activity panel. - The completion approval gate: a task with `agent_ok=false` can only reach `done` through a human approval (`approve_task`), never directly from an agent. A task with `agent_ok=true` can be closed directly by the agent via `complete_task`. - The plan approval gate: before substantial or ambiguous work, an agent can `propose_plan` — the task moves to `plan_proposed` and leaves its ready queue until a human approves it (back to `in_progress`, work begins) or rejects it (back to `not_started`, with feedback). - Goals are the North Star tier above projects — file projects/tasks under a goal to track progress toward it; deleting a goal unfiles its work rather than destroying it. - Deleting a task moves it to Trash (30-day auto-purge with restore), not a hard delete. - Acceptance criteria are a checklist an agent ticks off as it satisfies them (`check_criterion`) — a progress channel distinct from narrating status into comments. Ticking every box does not complete the task on its own. - An agent that hits a real fork — spend money, anything outward-facing — parks the question instead of stalling (`ask_decision`, with a recommendation) and moves to the next task. The human answers in one click (or from a Slack DM); the task comes back with the answer attached. - Unattended overnight runs are capped per session (tasks, minutes, tool calls), independent of any one task's own budget, so a scheduled run can't spend a week's headroom in one night (`check_night_budget`). ## Connecting an AI agent (MCP) 1. Generate a per-account MCP token from the Account panel in the app (shown once, at generation). 2. Point any MCP-compatible client — Claude, ChatGPT, Cursor, or a custom agent — at `https://trydone.app/mcp` with `Authorization: Bearer `. Clients that speak OAuth (claude.ai, ChatGPT connectors, Claude Desktop) can instead add Done as a custom connector by URL and authorize themselves — no token to copy. 3. Full setup: https://trydone.app/docs/mcp Done is a full OAuth 2.1 authorization server for its MCP endpoint, and also accepts long-lived per-account bearer tokens. Either way, auth is per account: tokens and grants are never shared or global, and only ever see their own account's data. ## MCP tools (workflow-shaped, not raw CRUD) `list_my_tasks`, `next_task`, `list_tasks`, `get_task`, `claim_task`, `release_task`, `decline_task`, `comment_on_task`, `delete_comment`, `check_criterion`, `ask_decision`, `list_open_decisions`, `withdraw_decision`, `check_night_budget`, `complete_task`, `propose_completion`, `approve_task`, `reject_task`, `propose_plan`, `approve_plan`, `reject_plan`, `create_task`, `update_task`, `delete_task`, `quick_capture`, `decompose_task`, `render_plan`, `set_step_status`, `block_task`, `unblock_task`, `start_run`, `end_run`, `check_budget`, `get_digest`, `get_weekly_review`, `get_stats`, `list_claude_shipped`, `list_stale_tasks`, `get_evidence`, `get_autonomy_ledger`, `propose_edit`, `propose_grooming`, `list_grooming_proposals`, `propose_capture`, `list_capture_inbox`, `fleet_status`, `list_triggers`, `claim_trigger`, `search_activity`, `changes_since`, `list_projects`, `create_project`, `update_project`, `delete_project`, `list_workspaces`, `list_goals`, `create_goal`, `update_goal`, `delete_goal`, `list_tags`, `create_tag`, `delete_tag`, `tag_task`, `untag_task`, `list_trash`, `restore_task`, `list_calendar_events`, `suggest_event_matches`, `link_task_to_event`, `unlink_task_from_event`. A typical agent run: `get_digest` → `list_open_decisions` → `next_task` (or `list_my_tasks` outside a fleet) → `get_task` (which also returns the project's standing brief for agents) → work, ticking `check_criterion` as each condition is met → `comment_on_task` once with the write-up → `end_run` with receipts (the commit, the CI run, the test tally — evidence a human can check instead of taking the summary's word) → `complete_task` (or `propose_completion` if the task isn't `agent_ok`). Two workflows worth knowing about. **Grooming:** `list_stale_tasks` returns the open work that has gone quiet, with the evidence for judging it and a reason code per task; the agent proposes a disposition via `ask_decision`, a `resurface_date` or `decompose_task`. Only a human can set `wont_do`. **Approving:** `get_evidence` gathers criteria progress, spend against budget, receipts, deliverables and trace links into one read, and flags a run that left nothing checkable behind. ## Docs - Getting started: https://trydone.app/docs/getting-started - MCP setup: https://trydone.app/docs/mcp - REST API: https://trydone.app/docs/api - Pricing: https://trydone.app/pricing - Comparisons vs other to-do apps: https://trydone.app/compare ## Not built yet, on purpose Polling (not push/SSE) for UI updates; drag-and-drop.