Model Context Protocol

Give your AI agent your task list

Dooit runs a remote MCP server. Connect Claude, ChatGPT, Cursor or anything else that speaks the protocol, and it can read your board, plan your week and move your work — with your account, your permissions and your timezone.

Server endpoint

https://app.dooit.so/mcp

Streamable HTTP · OAuth 2.1 with dynamic client registration · needs a Dooit account.

Connect your client

One URL, and the client walks you through sign-in the first time it needs your data.

Claude Code

  1. 1.Run this in your terminal:
    claude mcp add --transport http dooit https://app.dooit.so/mcp
  2. 2.Use any Dooit-related prompt — your browser opens once to sign in and approve access.

Claude

  1. 1.Open Settings → Connectors → Add custom connector.
  2. 2.Paste the server URL:
    https://app.dooit.so/mcp
  3. 3.Click Connect and approve access in the browser window.

ChatGPT

  1. 1.Open Settings → Connectors and enable Developer mode (Advanced).
  2. 2.Add a connector with this MCP server URL:
    https://app.dooit.so/mcp
  3. 3.Approve access when your browser opens.

Cursor

  1. 1.Open Cursor Settings → MCP → Add new MCP server, or add this to .cursor/mcp.json:
    { "mcpServers": { "dooit": { "url": "https://app.dooit.so/mcp" } } }
  2. 2.Sign in and approve access when your browser opens.

Other MCP clients

  1. 1.Dooit is a remote MCP server (streamable HTTP) with OAuth sign-in — no API keys.
    https://app.dooit.so/mcp
  2. 2.Point any MCP-compatible client at the URL above; it will walk you through sign-in on first use.

What your agent can do

Fourteen tools over the same data the app edits — your agent and your own clicks write to one board.

See the whole board first

Every connection starts by reading the board: today's date in your own timezone, your status columns, and your projects — so the agent works with your real ids instead of guessing. The agenda tool answers “what's on my plate” in one call: overdue, due today, the next seven days, unscheduled work, and this week's and month's goals.

get_board, get_agenda

Read tasks the way you'd filter them

List by status, project, date range or done-state, or pull one task with its full description. Results come back as compact JSON with names resolved, not raw database rows — an agent shouldn't spend your tokens decoding ids.

list_tasks, get_task

Actually change things

Create tasks with a description, a project and a due date — or a recurring rule in plain language (“every Monday”). Reschedule, move between columns, complete, un-complete, archive and restore. Scheduling routes a task between your Today and Scheduled columns automatically, the same way the app does.

create_task, update_task, set_task_done, archive_task, delete_task

Plan above the task level

Projects and period goals are first-class: create and rename projects, and set weekly, monthly or yearly goals with a shortcut like “this-week” instead of hand-computing period keys. So an agent can run a weekly review, not just a to-do list.

create_project, update_project, list_goals, create_goal, update_goal

The rails

Handing an agent write access to your task list is only reasonable if the limits are real ones.

You sign in — there are no API keys

Dooit speaks OAuth 2.1 with dynamic client registration, so the client registers itself and sends you to a Dooit sign-in page. Nothing is ever pasted into a config file, and you can revoke a connection at any time from your account's connected apps.

Reads are always safe

Every read tool is annotated read-only, so a client that shows you a consent prompt per tool can tell the difference. Reads never require a subscription either — if billing lapses, your agent can still answer questions about your board.

Deleting takes a second call

delete_task is permanent, so it refuses the first call and tells the agent to confirm with you and use archive_task instead. Archiving is reversible and is what the tool descriptions steer toward.

Writes are rate limited

Thirty writes a minute per account — sized for a person iterating with an agent, not for a bulk import. Over the line the tool returns a typed error telling the agent to wait rather than hammer.

Building an agent on top of Dooit? The machine-readable reference lives at /llm-info, and the discovery card at /.well-known/mcp/server-card.json.