Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Done Bear

REMOTE · MCP.DONEBEAR.COM

Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.

Available components

0 this week 92 Trust /100

Last scanned (21 hours ago)

Scores higher than 99% of remote servers

Reachable. Last reached 16 Oct 2026.

Category Productivity and Notes

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security97
Transport & Reachability100
Schema Quality & AI Usability60
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6438 tokens (~378/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 96% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 9 Oct 26 +10
    • Stability: fail → pass ▲ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “task_add” rewrote its description, which is the text the model reads security
    • Tool “task_edit” rewrote its description, which is the text the model reads security
    • Tool “task_edit” is now declared destructive security
  • 3 Oct 26 0
    • New tool “task_agent_get” functional
    • New tool “task_agent_register” functional
  • 1 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 25 to 28.

  • 29 Sept 26 +1
    • “attachment” reworded the description of “workspace” cosmetic
    • “checklist” reworded the description of “workspace” cosmetic
    • “comment” reworded the description of “workspace” cosmetic
    • “get_context” reworded the description of “workspace” cosmetic
    • “label_create” reworded the description of “workspace” cosmetic
    • “project” reworded the description of “workspace” cosmetic
    • “search” reworded the description of “workspace” cosmetic
    • “task_add” reworded the description of “workspace” cosmetic
    • “task_archive” reworded the description of “workspace” cosmetic
    • “task_done” reworded the description of “workspace” cosmetic
    • “task_edit” reworded the description of “workspace” cosmetic
    • “task_list” reworded the description of “workspace” cosmetic
    • “task_reopen” reworded the description of “workspace” cosmetic
    • “task_show” reworded the description of “workspace” cosmetic

    14 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 8 to 11.

  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 1 to 5.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 16 Oct 2026 · Probed https://mcp.donebear.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=donebear.com CN=WE1,O=Google Trust Services,C=US 19 Aug 2026 17 Nov 2026 ECDSA 256 ECDSA-SHA256 e845ecbfd29ceba20efd613df99ff27a
SANs: donebear.com, mcp.donebear.com, *.mcp.donebear.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.donebear.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
donebear.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer error="invalid_token", error_description="Missing Authorization header", scope="read", resource_metadata="https://mcp.donebear.com/.well-known/oauth-protected-resource/mcp"

Bearer error="invalid_token", error_description="Missing Authorization header", scope="read", resource_metadata="https://mcp.donebear.com/.well-known/oauth-protected-resource/mcp"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
content-security-policy frame-ancestors 'self' https://stack.blode.co https://care.blode.co
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(self), geolocation=(), payment=()

Protected resource metadata

Document https://mcp.donebear.com/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://mcp.donebear.com/mcp
Authorisation server https://mcp.donebear.com/

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.donebear.com/mcp Verified 200
http (plaintext) http://mcp.donebear.com/mcp HTTPS enforced 301 https://mcp.donebear.com/mcp
MCP tools · 17 exposed · ~6,256 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
attachment ~410

Add a file to a task or remove one. `action: "add"` fetches the given HTTPS `url`: the server downloads it, verifies its size and type, and stores it, so the model never sends file bytes. Pass a stable idempotency_key and reuse it for retries so a lost response cannot upload the file twice. `action: "remove"` deletes the named `attachment`. Read a task's files with task_show and `include: ["attachments"]`. Limited to 10 attachments per task and 10 MB per file. Allowed types: images (jpeg, png, gif, webp, heic), PDF, CSV, Markdown, and plain text.

NameTypeReqDescription
actionstringyesWhether to attach a file or delete one
attachmentstring–Attachment UUID or prefix (>= 4 chars). Required to remove
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
filenamestring–Display filename on an add; defaults to the URL's last path segment
idempotency_keystring–Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.
taskstringyesWorkspace-scoped task number, encoded as a string
urlstring–HTTPS URL of the file to attach. Required to add
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
attachment–yesThe stored file on an add; null on a remove
idstringyes–
okbooleanyes–
taskIdstringyes–

No examples provided.

checklist ~405

Change the checklist on a task. `action: "add"` appends items, unchecked, after the existing ones: pass every title for a multi-item list in one call (`titles` keeps the given order, while parallel single adds land in arrival order). `action: "edit"` renames an item and/or checks it (`completed: true`) or unchecks it (`completed: false`). `action: "remove"` deletes one. Read the list, with each item's id and state, from task_show.

NameTypeReqDescription
actionstringyesWhat to do to the checklist
completedboolean–Check (true) or uncheck (false) the item, on an edit
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotency_keystring–Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.
itemstring–Checklist item UUID or prefix (>= 4 chars). Required to edit or remove
taskstringyesWorkspace-scoped task number, encoded as a string
titlestring–One item title to add, or the new title on an edit
titlesarray–Several item titles to add, kept in the given order (use instead of `title`)
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
countintegeryes–
itemsarrayyesThe items the call created or changed
okbooleanyes–
taskIdstringyes–

No examples provided.

comment ~362

Write on a task's comment thread. `action: "add"` posts a comment, attributed to the connected user and visible to everyone in the workspace, so write it as a message to the user's teammates rather than a note to the user; nobody is notified. `action: "edit"` rewrites one of your own (only its author may, and it is then marked edited). `action: "remove"` deletes one permanently — comments have no Trash — so confirm with the user first. Read the thread with task_show and `include: ["comments"]`.

NameTypeReqDescription
actionstringyesWhat to do on the thread
bodystring–Comment text. Required to add or edit
commentstring–Comment UUID or prefix (>= 4 chars). Required to edit or remove
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotency_keystring–Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.
taskstringyesWorkspace-scoped task number, encoded as a string
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
idstringyes–
okbooleanyes–
taskIdstringyes–

No examples provided.

get_context ~337

Get a snapshot of the current workspace: task counts per view, recent open tasks, and every project, label, team and member. This is the tool that answers what is in the workspace and resolves a project, label, team or member by name — there is no separate list tool for those. Use it for that, not as a warm-up before every turn. For tasks themselves use task_list (a view), search (by words) or task_show (one task): the recent tasks here are only the latest few.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
projects_statusstring–Which projects to return
tasks_limitinteger–Max recent open tasks to return
timezonestring–IANA timezone used to resolve "today" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's…
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
labelsarrayyes–
membersarrayyes–
projectsarrayyes–
recentTasksarrayyes–
taskCountsobjectyes–
teamsarrayyes–
todaystringyesToday's date (YYYY-MM-DD) in the requested timezone (UTC when none given)
viewCountsobjectyes–

No examples provided.

guide ~444

Read Done Bear's guide for one topic: what the data means, how it relates to the rest of the product, and how to use it well. Load a topic before doing that kind of work for the first time in a session. - `views`: Placing a task in Inbox/Today/Upcoming/Anytime/Someday, reading a view, or working out why Today looks wrong. - `dates`: Setting or clearing a due date, or deciding between a deadline and a start date. - `editing`: Changing a task's fields, clearing a value, appending to notes, or moving a task between projects. - `bulk`: Completing, moving, or editing more than one task at a time, or sweeping a whole view. - `checklists`: Adding sub-steps to a task, building a list inside a task, or ticking items off. - `comments`: Discussing a task with teammates: reading its thread, replying, or correcting a comment. - `projects`: Deciding where a task belongs, creating a project or label, changing a project's status, or joining/leaving a project. - `search`: Looking a task up, listing a view, paging through results, or orienting in a new workspace. - `workspaces`: Working across multiple workspaces, hitting a permission or rate-limit error, or making retries safe. - `agents`: Starting work in a Done Bear workspace for the first time. - `importing`: The user asks how to move their tasks in from Todoist, Things, Trello or a CSV.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
topicstringyesGuide topic to read
NameTypeReqDescription
markdownstringyes–
titlestringyes–
topicstringyes–

No examples provided.

label_create ~269

Create a new label in the workspace and return its id. Only creates the label: to put it on a task, pass it to task_add `labels` or task_edit `add_labels` afterwards (both take the title). Titles are not unique, so a second call with the same title makes a duplicate — check the labels get_context returns first, and reuse one that already exists.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotency_keystring–Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.
titlestringyesLabel title
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
idstringyes–
okbooleanyes–
titlestringyes–

No examples provided.

project ~366

Create or change a project. `action: "add"` creates one (name required). `action: "edit"` updates the named project: only the fields given change, and an empty string clears description or target_date. `action: "join"` puts it in the caller's Your projects sidebar list and `action: "leave"` takes it out. Read projects with get_context.

NameTypeReqDescription
actionstringyesWhat to do with the project
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
descriptionstring–Project description (empty string clears it on an edit)
idempotency_keystring–Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.
namestring–Project name. Required on add; a rename on edit
projectstring–Project id, key, or name. Required for edit, join and leave
statusstring–Project status (edit only)
target_datestring–Target date (YYYY-MM-DD), or an empty string to clear it (edit only)
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
idstringyes–
key–yes–
name–yes–
okbooleanyes–

No examples provided.

search ~365

Search tasks across the workspace. Ranked lexical search over title and description: exact and prefix matches rank first, then word-boundary, substring, and fuzzy matches, with recency and status factored in. Multi-word queries match in any order. Searches every state by default, completed and archived included. Use this when the user names a task by its words; use task_list to browse a view (Today, Inbox, …) and task_show once you have the task number.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
cursorstring–Opaque pagination cursor from a previous call's `nextCursor`. Pass it with the same filters to fetch the next page.
limitinteger–Max results
querystringyesSearch query (matches title and description)
statestring–Filter by task state
timezonestring–IANA timezone used to resolve "today" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's…
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
countintegeryes–
hasMorebooleanyesTrue when more results matched than were returned
nextCursor–yes–
querystringyes–
tasksarrayyes–
totalintegeryes–

No examples provided.

task_add ~657

Create a new task. An explicit `when` selects its start placement: today, inbox, upcoming, anytime, or someday; upcoming schedules tomorrow. Without `when`, a `deadline` or omitted `timezone` selects anytime first. Otherwise, a `project` or `team` selects inbox; an unfiled task selects today. Pass the user's known IANA `timezone` to resolve calendar days. Use `when: "inbox"` for capture without a commitment to today. `deadline` uses YYYY-MM-DD. Optionally assign the task, attach existing labels, or pass checklist item titles in `checklist`; their order is preserved. The result's `view` reports the selected start placement, while a due or overdue deadline can make the task appear in Today. To change an existing task, use task_edit for fields or the available checklist tools for items. Search first when the user may be describing an existing task.

NameTypeReqDescription
assigneestring–Member (user id, name, or email) or task agent (id or name) to assign the task to
checklistarray–Checklist item titles to create on the task, kept in the given order
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
deadlinestring–Due date in YYYY-MM-DD format
idempotency_keystring–Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id.
labelsarray–Labels to attach (each a label id, title, or id prefix)
notesstring–Task description/notes
projectstring–Project id, key, or name to assign this task to
teamstring–Team id, key, or name
timezonestring–IANA timezone used to resolve "today" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's…
titlestringyesTask title
whenstring–GTD view bucket: today, inbox, upcoming, anytime, someday. Omitting this means today, with three exceptions: a deadline or a missing timezone falls back to anytime (the work is due later, or today ca…
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
checklistCountintegeryes–
idstringyes–
numberintegeryes–
okbooleanyes–
titlestringyes–
viewstringyes–

No examples provided.

task_agent_get ~196

Read the task-agent identity bound to this connection's existing API key in one explicit workspace. Returns only key metadata and the exact agent UUID or null; an inactive agent includes disabledAt. Requires an API-key connection and current workspace membership. Does not register, assign or start any task. Use this before task_agent_register and retain key.id as expected_key_id.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
workspace_idstringyes–
NameTypeReqDescription
agent–yes–
createdbooleanyes–
keyobjectyes–
okbooleanyes–
workspaceIdstringyes–

No examples provided.

task_agent_register ~237

Explicitly register one assignable task agent for this connection's existing key in one workspace, after the user approves that durable binding. Requires a write-scoped API key restricted to exactly this workspace and an owner/admin membership. Read task_agent_get first and pass its key.id as expected_key_id. Same key/workspace/name retries return the same UUID; conflicting or inactive bindings fail without takeover or reactivation. Creates no key, changes no scope, and does not assign/import/start tasks.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
expected_key_idstringyes–
namestringyes–
workspace_idstringyes–
NameTypeReqDescription
agent–yes–
createdbooleanyes–
keyobjectyes–
okbooleanyes–
workspaceIdstringyes–

No examples provided.

task_archive ~281

Archive a task, or several at once with `tasks` (max 50). They move to the Trash view, out of every working list, and stay readable there (task_list `view: "trash"`). Archiving is not completing: use task_done for work that was finished, and task_archive only for tasks the user wants gone. Confirm with the user first.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
taskstring–Workspace-scoped task number, encoded as a string
tasksarray–Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
countintegeryes–
okbooleanyes–
tasksarrayyesEvery task the call changed, in the order it was given

No examples provided.

task_done ~298

Mark a task as complete, or several at once with `tasks` (max 50). They move to the Logbook view. A set of 50 is undone one task_reopen call at a time, so confirm the list with the user first.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
expectedRevisioninteger–Complete only the reviewed task revision from task_show or task_list. Use with task, not tasks. A changed task returns a conflict; reload and review before trying again.
taskstring–Workspace-scoped task number, encoded as a string
tasksarray–Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
countintegeryes–
okbooleanyes–
tasksarrayyesEvery task the call changed, in the order it was given

No examples provided.

task_edit ~609

Update fields on one task (`task`) or on several at once (`tasks`, max 50). Only the provided fields are changed; omitted fields are left untouched. To remove a value, list the field in `clear` (e.g. `clear: ["deadline"]`). Notes replace the existing notes (no append). `assignee` assigns the task; clear it to unassign. `add_labels` and `remove_labels` change which labels are on it. Editing several tasks applies the same changes to every one of them and cannot be undone in one call, so confirm the list with the user first. For status changes use task_done, task_reopen or task_archive, and for checklist items use the available checklist tools; this tool does not change either.

NameTypeReqDescription
add_labelsarray–Labels to attach (each a label id, title, or id prefix). The label has to exist already — create one with label_create
assigneestring–Assign to a member (user id, name, or email) or a task agent (id or name)
cleararray–Fields to remove a value from, e.g. ["deadline"]. Use this rather than sending an empty string.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
deadlinestring–Set due date (YYYY-MM-DD)
notesstring–New description/notes (replaces existing)
projectstring–Project id, key, or name
remove_labelsarray–Labels to detach (each a label id, title, or id prefix)
taskstring–Workspace-scoped task number, encoded as a string
tasksarray–Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.
teamstring–Team id, key, or name
timezonestring–IANA timezone used to resolve "today" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's…
titlestring–New title
whenstring–Move to a different GTD view
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
countintegeryes–
okbooleanyes–
tasksarrayyesEvery task the call changed, in the order it was given

No examples provided.

task_list ~464

List tasks in the workspace, most recently updated first. Completed tasks are ordered by completion time, newest first. Filter by view (inbox, today, upcoming, anytime, someday, logbook, trash) and/or state (open, done, archived, all); `search` ranks matches within that filter. `view: "logbook"` reads completed tasks and `view: "trash"` archived ones, whatever `state` says. Returns up to `limit` tasks; `hasMore` is true when more matched than were returned, and passing `nextCursor` back as `cursor` reads the next page. To find a task by its words across every view use search instead, and task_show for one task's checklist, comments and files.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
cursorstring–Opaque pagination cursor from a previous call's `nextCursor`. Pass it with the same filters to fetch the next page.
limitinteger–Max results
searchstring–Ranked lexical search over title/description; when set, results are ordered by relevance instead of recency
statestring–Filter by task state
timezonestring–IANA timezone used to resolve "today" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's…
viewstring–Filter by GTD view bucket. logbook and trash read the completed and archived tasks regardless of `state`
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
countintegeryes–
hasMorebooleanyesTrue when more results matched than were returned
nextCursor–yes–
tasksarrayyes–
totalintegeryes–

No examples provided.

task_reopen ~232

Reopen a completed task, or several at once with `tasks` (max 50). Each returns to its previous view.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
taskstring–Workspace-scoped task number, encoded as a string
tasksarray–Several workspace-scoped task numbers (max 50), instead of `task`. Confirm the list with the user first: one call changes every task in it.
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
actionstringyes–
countintegeryes–
okbooleanyes–
tasksarrayyesEvery task the call changed, in the order it was given

No examples provided.

task_show ~324

Get full details for a single task: its fields, labels and checklist items, by workspace-scoped task number. Add `include` for the parts that cost extra reads: `["comments"]` for the discussion thread (oldest first, with author and whether each was edited) and `["attachments"]` for the files on it, each with a short-lived signed URL.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
includearray–Extra sections to load. Omit unless you need them: each is its own round trip
taskstringyesWorkspace-scoped task number, encoded as a string
timezonestring–IANA timezone used to resolve "today" for views and scheduling (e.g. Australia/Melbourne). Defaults to UTC, which misclassifies Today/Upcoming for users in other timezones, so always pass the user's…
workspacestring–Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices
NameTypeReqDescription
attachmentsarray––
checklistItemsarrayyes–
commentsarray––
labelsarrayyes–
taskobjectyes–

No examples provided.

Install

How do I install the Done Bear MCP server?

Done Bear is a hosted endpoint at https://mcp.donebear.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.donebear.com

# add to Claude Code
claude mcp add --transport http com-donebear-donebear 'https://mcp.donebear.com/mcp'
Common questions

What is the Done Bear MCP server?

Done Bear is an MCP server listed in the public MCP registry as com.donebear/donebear. Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP. This page covers its hosted endpoint (https://mcp.donebear.com/mcp).

Is the Done Bear MCP server safe to use?

Done Bear scores 92 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Done Bear MCP server expose?

Done Bear exposes 17 tools: guide, get_context, task_list, task_show, task_add, and 12 more. Their descriptions and schemas cost roughly 6,256 tokens of context every time the server is loaded.

Does the Done Bear MCP server require authentication?

Yes. Done Bear asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Done Bear MCP server still maintained?

Done Bear is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.