Skip to main content
Doers exposes your workspace in three ways, all derived from one list of operations. An operation is declared once, and the REST route, the MCP tool and the CLI command are generated from that single declaration: same input, same output, same errors.

REST API

193 operations under https://api.doers.sh/v2, described by an OpenAPI 3.1 document. For scripts, n8n, cron jobs and backends.

MCP server

186 of those operations as Model Context Protocol tools, plus resources and prompts. For Claude, ChatGPT, Cursor, VS Code and any other MCP client.
The doers command-line client is generated from the same list (doers tasks list, doers plan suggest). It is not published to a package registry yet; every tool page still shows its CLI command.

Addresses

What you can reach

Notes and local agents live in a folder on your own computer, read by the desktop app. The server holds no copy of them, so neither the API nor the MCP server can read them.

Conventions

  • JSON in and out, UTF-8.
  • Days are YYYY-MM-DD, times are HH:MM (24 h), timestamps such as completedAt are milliseconds since the epoch, identifiers are UUIDs.
  • Lists are bounded. When a response carries nextCursor, call again with cursor set to it until it comes back null. The cursor is opaque.
  • Errors share one envelope, { "error": { "code", "message", "details"? } }, with a stable machine code and an English message. See Errors.
  • Your day, not the server’s. The server works in UTC. Send X-Doers-Today: YYYY-MM-DD, or the day argument where an operation takes one, so “today” means your today.

Two things to know first

when is not deadline. when is when you plan to do the task (today, anytime, someday or a date). deadline is when it is due. They are independent fields, and confusing them is the most common mistake. See Data model.
Archive first. Archiving a task, project or area is reversible (restore: true). Deleting one for good is refused until it has been archived.

Make your first call

Create a token, read your context, and add a task from a sentence.