Task management for AI coding agents: a Dovilo MCP setup guide

If you run coding agents on multi-step projects, you have probably hit this wall: the agent finishes a session, context resets, and the next run has no idea what was done, what is still in progress, or what comes next. The fix is to give the agent a persistent, structured task list it can read and update between sessions. This guide walks through how to do that with Dovilo's Agents MCP at dovilo.app/mcp/agents, which any MCP client can reach over HTTPS.
I built this layer because I wanted my own coding agent to work a real task list instead of a scratch file. One engineer, in Istanbul. What follows is exactly how it works, including what it doesn't do yet.
The problem: agents lose the thread between sessions
Claude Code, Cursor, Windsurf, Codex CLI, Gemini CLI and Claude Desktop can all handle complex, multi-step work. Most of them can plan inside a session, and several read a rules or memory file you maintain. What none of that gives you is a shared task list with real status, that survives between sessions and that you can check from your phone.
Pasting a task list into a prompt works for one session. By the third, you are re-explaining context, re-stating what is finished and tracking state in a doc somewhere.
What you want is a list the agent reads at the start of a session, updates as it works, and leaves in a known state when it stops. That is a task manager problem, not a prompting problem.
What MCP is (the short version)
The Model Context Protocol is an open standard that lets AI agents call external tools through a defined interface. Linear and Notion both ship official MCP servers.
What varies between implementations is what the server exposes, where it runs and what the agent is allowed to do. Those details matter more than the protocol itself.
How Dovilo's MCP server works
The server runs at https://dovilo.app/mcp/agents (Streamable HTTP). Your agent client connects with one API key per agent, created in the Dovilo app and shown once. No npx, no separate runtime, and nothing has to run on your machine: Dovilo Desktop does not need to be open.
The agent sees only the AI tasks of the projects it is assigned to. Your personal to-do list is not on the tool surface at all.
The AI tasks sync to your phone and to Desktop, encrypted in transit and at rest. That is how the agent's step trail shows up on mobile while it works, wherever it runs.
Full integration details are at dovilo.app/ai.
Setting up Dovilo's MCP server: step by step
Setup takes about 5 minutes.
Step 1: Start the Pro trial on mobile
Dovilo Desktop is part of Pro: $2.49/month, $19.99/year or $49.99 lifetime. Every plan has a 7-day free trial, started in the iOS or Android app. Cancel before day 7 and nothing is charged.
Get the app on the App Store or Google Play.
Step 2: Install Dovilo Desktop (optional)
The agent does not need Desktop, but its "Connect a new AI" wizard writes the client config for you. Download Desktop for Windows or macOS and sign in with the same account you use on mobile. Release notes are in the changelog.
Step 3: Create an agent and connect your client
Each agent gets its own key, shown once.
- On Desktop: open Connect a new AI and pick your client. Desktop writes the config for Claude Code, Claude Desktop, Cursor, Cursor CLI, Codex CLI, Gemini CLI and Windsurf.
- On your phone: with the AI Tasks module on, open the agents chip on the AI Tasks tab, tap New agent, pick its projects and copy the key.
- Any other MCP client: point it at
https://dovilo.app/mcp/agentswith the key as the bearer token.
To verify in Claude Code, run /mcp. You should see the Dovilo server connected, with 9 tools. Plain MCP, no lock-in.
Step 4: Create a project and write the brief
AI tasks live inside projects. Each project has a brief the agent reads first: goals, constraints, conventions and what to leave alone. A project can also hold documents, such as a spec or a style guide, that the agent reads when a task needs them. An agent sees only the projects it is assigned to.
Step 5: Add tasks in the AI Tasks tab
Add the jobs you want the agent to work through, on desktop or from your phone. This list is separate from your personal My Tasks list, which the agent cannot see.
Step 6: Ask the agent to start
The agent does not start on its own. Ask it in plain language, for example: "take my next Dovilo task and work it". It reads the brief, picks up a task and reports back as it goes.
The 9 tools: read and update only
The server exposes 9 tools, 3 read and 6 write, all scoped to the AI tasks of the agent's projects.
| Tool | Access | What it does |
|---|---|---|
list_tasks |
read | AI tasks in the agent's projects, with status |
get_task |
read | One task in full: description, steps, notes, telemetry, your latest reply |
read_context |
read | The project brief and the context the task carries |
update_status |
write | Moves a task between statuses |
update_step |
write | Marks a plan step started or finished |
add_step |
write | Appends a step the agent discovered |
skip_step |
write | Skips a step that turned out unnecessary |
append_note |
write | Records what it did, decided or could not do |
append_telemetry |
write | Reports model, tokens, cost and duration |
The agent writes status, steps, notes and telemetry. It cannot edit the task you wrote, it cannot create tasks and it cannot delete anything.
That is deliberate. Creating and deleting work are decisions that stay with you. An agent that can create tasks will create tasks, and an agent that can delete tasks can lose work.
Two more limits: the agent cannot see projects it is not assigned to, and if you revoke its key from your phone, its connection drops immediately. An agent can cancel a task with a reason, but cancelling is not deleting: the task stays visible.
Why the personal list is invisible to the agent
My Tasks is Dovilo's personal to-do list, where you track your own work.
It is not on the MCP tool surface at all. There is no filter that hides it and no setting that could be misconfigured. The agent has no tool that reads it, updates it or reveals that it exists.
That keeps ownership clear. The AI Tasks list is the agent's workspace. My Tasks is yours.
Statuses, steps and telemetry on the phone
Every AI task moves through the same statuses: queued, scheduled, running, awaiting-user, done, done-with-errors and error. A cancelled task is an error with a reason, shown as Cancelled.
awaiting-user is the important one. When the agent needs a decision it cannot make, it sets that status and stops, instead of guessing. Your reply puts the task back in queued for the agent's next turn.
An AI task can also be scheduled to open to the agent at a set time and repeat daily, weekly, monthly or yearly. One open instance per series; missed occurrences are skipped.
On mobile, the step trail, notes and telemetry land on each task in real time while the agent runs, wherever it runs. The list is grouped by what needs you: awaiting you, running, queued, scheduled. Finished work moves to "Recently done" with its step count. Notifications come in two modes: every step, or only start, finish and error.
Telemetry is per task and reported by the agent through append_telemetry: model, tokens, cost and duration. Over time it shows you which kinds of tasks are cheap and which are expensive for a given model.
Webhooks: tell your own systems a task moved
Dovilo can send signed webhooks when an AI task changes, to Slack, Linear, n8n, LangGraph or any HTTPS receiver.
- Events:
task.createdandtask.status_changed, which carriespreviousStatus. A test button sendswebhook.ping. - Setup: in Desktop, open a project's settings, go to Webhooks, paste the URL, generate a signing secret and enable the events. The secret is shown once.
- Who delivers: a public HTTPS receiver gets its webhooks from Dovilo's server, even when Desktop is closed; that secret is generated on the server and stored encrypted. A localhost receiver is delivered by Desktop while it runs.
- Signature:
X-Dovilo-Signaturecarries a timestamp and an HMAC-SHA256 of the raw body, with a 5-minute replay window. - Delivery:
X-Dovilo-Deliverystays the same across retries, so use it as your idempotency key. Up to 5 retries, in order per task.
Payloads are slim on purpose. The webhook tells your system a task moved, and MCP is how the agent then reads it, works it and reports back.
The open-source LangGraph demo runs that loop end to end. Full reference, with verification code in Node, Python and Go: dovilo.app/docs/webhooks.
A real workflow example
You have a project whose brief describes a TypeScript API: stack, test conventions, and "don't touch the billing module". The AI Tasks list has five jobs:
- Add input validation to the user endpoint.
- Write unit tests for the auth module.
- Fix the pagination bug in the posts query.
- Update the README with the new env vars.
- Refactor the error handler to use a shared utility.
You open Claude Code and say "take my next Dovilo task and work it". The agent reads the brief, lists the queued tasks, opens the first one and sets it to running.
It marks each plan step as it finishes it. While fixing pagination it finds the query needs an index, so it adds that as a new step. On the error handler it hits a choice that would change the API's error format, so it writes a note explaining the trade-off, sets the task to awaiting-user and stops.
Your phone shows the question. You answer, and the next session picks it up.
If a session ends mid-task, the task stays running with its step trail and notes. The next session reads it with get_task and continues from the last finished step.
No re-pasting context, no manually updated doc. The task list is the source of truth.
What Dovilo doesn't do yet
Two things, named plainly.
- No data export. On the public roadmap.
- No desktop-only trial. The 7-day trial starts in the mobile app.
I'd rather say that here than have you find out after setup.
Requirements and compatibility
- Pro: $2.49/month, $19.99/year or $49.99 lifetime, with a 7-day free trial started in the mobile app. Dovilo Desktop for Windows and macOS is included; the agent does not need it to run.
- Clients with presets: Claude Code, Claude Desktop, Cursor (GUI and CLI), Windsurf, Codex CLI, Gemini CLI. Any other MCP client connects with the URL and a key.
- AI tasks run on a monthly quota: 15 a month on Pro, charged when a task opens to the agent, not when it is created. One-time top-up packs of +10, +30 or +75 tasks start at $0.99 and never expire.
Frequently asked questions
Does MCP traffic go through Dovilo's servers? Yes. The Agents MCP runs at dovilo.app/mcp/agents, and your agent reaches it over HTTPS with its own key. It sees only the AI tasks of its projects; your personal list is not on the tool surface. The agent's model calls go to its own model provider, not through Dovilo.
Can the agent see my personal to-do list? No. My Tasks is not on the MCP tool surface at all. The agent sees only the AI tasks, briefs and documents of the projects it is assigned to.
Can the agent create or delete tasks? No. The 9 tools are read and update only. The agent can change status, steps, notes and telemetry, and nothing else.
Which agent clients are supported? Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI and Gemini CLI have presets. Any client that speaks MCP over HTTP works with the URL and a key.
What happens if I revoke an agent's key? Its connection drops immediately and it can't keep working through Dovilo.
Can I run the agent on a remote server? Yes. Agents connect to dovilo.app/mcp/agents over HTTPS with their own key, so a server or a CI job works the same way as your laptop. Dovilo Desktop does not need to run.
How does the quota work? Pro includes 15 AI tasks a month, charged when a task opens to the agent; replies on the same task cost nothing. The count is shown in the AI Tasks view. If you need more, one-time top-up packs start at $0.99 and never expire.
Can ChatGPT or Claude plan into Dovilo? Yes. Connect ChatGPT, Claude, Gemini or Grok; the assistant proposes a plan or an AI task and you approve it in Dovilo. Sending a plan is free; approving needs Pro.
Get started
If you run coding agents on multi-step work and want a persistent task list they read and update between sessions:
- Start the 7-day free trial in the mobile app: App Store or Google Play.
- Create an agent in the app and copy its key.
- Point your client at
https://dovilo.app/mcp/agents, or let Desktop for Windows or macOS write the config.
Read the integration before you install anything: dovilo.app/ai.