# MCP Overview

> Connect AI coding assistants to Done Bear tasks using the Model Context Protocol.

The Done Bear MCP server lets AI coding assistants read and manage your tasks, projects, labels, teams, checklist items, and task comments. It works with any client that supports the [Model Context Protocol](https://modelcontextprotocol.io), including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, and Codex.

A task manager with MCP exposes the same list the apps show. Done Bear hosts that server at `https://mcp.donebear.com/mcp` using Streamable HTTP and OAuth. The standard setup no longer requires running a local npm package.

## Quickstart

### 1. Add the remote server to your client

**Claude Code**

```bash
claude mcp add --transport http donebear https://mcp.donebear.com/mcp
```

**Codex**

```bash
codex mcp add donebear --url https://mcp.donebear.com/mcp
```

For other clients, see the [full setup guide](/mcp/get-started).

### 2. Verify it works

Restart your client and ask:

> "List my Done Bear tasks"

On the first request, your client will open a browser for you to sign in to Done Bear, then approve the connection on a Done Bear page that shows where it sends access. After that, authentication is automatic.

## Available tools

| Tool           | Description                                                                     | Type  |
| -------------- | ------------------------------------------------------------------------------- | ----- |
| `guide`        | Load a topic of Done Bear's model on demand                                     | Read  |
| `get_context`  | Workspace snapshot: task counts, recent tasks, projects, labels, teams, members | Read  |
| `task_list`    | List tasks by view (including logbook and trash), state, or search              | Read  |
| `task_show`    | One task in full: fields, labels, checklist, and optionally comments and files  | Read  |
| `search`       | Search tasks by title or description                                            | Read  |
| `task_add`     | Create a task, optionally with labels, assignee, and checklist                  | Write |
| `task_edit`    | Update one task or up to 50, including assignee and labels                      | Write |
| `task_done`    | Complete one task or up to 50                                                   | Write |
| `task_reopen`  | Reopen one task or up to 50                                                     | Write |
| `task_archive` | Archive one task or up to 50                                                    | Write |
| `checklist`    | Add, edit or remove checklist items on a task                                   | Write |
| `comment`      | Add, edit or remove a comment on a task                                         | Write |
| `attachment`   | Attach a file to a task from a URL, or remove one                               | Write |
| `project`      | Create, edit, join or leave a project                                           | Write |
| `label_create` | Create a label                                                                  | Write |

All tools accept an optional `workspace` parameter for multi-workspace accounts.

For completion tied to a task you reviewed, pass its `revision` from `task_show` or `task_list` as `expectedRevision` to `task_done`, together with a single `task`. A changed or reassigned task returns a conflict without completing it. Reload and review the new version before another attempt. This parameter cannot be used with bulk `tasks`.

Every tool also takes a `context` parameter. Your assistant fills it in with a one-line note about what it is trying to do, and Done Bear uses those notes to see which tools are worth improving. It never carries your task titles or notes.

`task_add` puts a new task in Today unless you pass `when`, with two exceptions: a `deadline` lands it in Anytime, and a `project` or `team` lands it in Inbox. Pass `when: "inbox"` to capture a task without scheduling it.

Fifteen tools rather than one per operation: four of them (`checklist`, `comment`, `attachment`, `project`) take an `action`, and every task write takes `task` for one or `tasks` for up to 50. Reading a task's checklist, comments and files is `task_show`.

Comments are visible to everyone in the workspace and notify nobody — Done Bear has no unread state. Only a comment's author can edit it, and removing one is permanent: comments have no Trash.

## Next steps

- [Full setup guide](/mcp/get-started): client setup, OAuth, and troubleshooting.

---

Every Done Bear page is listed at https://donebear.com/llms.txt. Any page has a markdown copy at its URL plus `.md`. Start from the map rather than guessing a path.
