A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API
Done Bear is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http done-bear-mcp https://mcp.donebear.com/mcp
# 2 — ask your agent for something these tools do
# guide, get_context, task_list and 14 more
Done Bear costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http done-bear-mcp https://mcp.donebear.com/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
17 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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 a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| topic | string | yes | Guide topic to read |
| context | string | yes | Explain 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). NEVER |
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 tas
| Parameter | Type | Required | Notes |
|---|---|---|---|
| projects_status | string | no | Which projects to return |
| tasks_limit | integer | no | Max recent open tasks to return |
| timezone | string | no | 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 t |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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 t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Opaque pagination cursor from a previous call's nextCursor. Pass it with the same filters to fetch the next page. |
| limit | integer | no | Max results |
| search | string | no | Ranked lexical search over title/description; when set, results are ordered by relevance instead of recency |
| state | string | no | Filter by task state |
| timezone | string | no | 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 t |
| view | string | no | Filter by GTD view bucket. logbook and trash read the completed and archived tasks regardless of state |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| include | array | no | Extra sections to load. Omit unless you need them: each is its own round trip |
| task | string | yes | Workspace-scoped task number, encoded as a string |
| timezone | string | no | 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 t |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| assignee | string | no | Member (user id, name, or email) or task agent (id or name) to assign the task to |
| checklist | array | no | Checklist item titles to create on the task, kept in the given order |
| deadline | string | no | Due date in YYYY-MM-DD format |
| idempotency_key | string | no | Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id. |
| labels | array | no | Labels to attach (each a label id, title, or id prefix) |
| notes | string | no | Task description/notes |
| project | string | no | Project id, key, or name to assign this task to |
| team | string | no | Team id, key, or name |
| timezone | string | no | 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 t |
| title | string | yes | Task title |
| when | string | no | 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 can |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| add_labels | array | no | Labels to attach (each a label id, title, or id prefix). The label has to exist already — create one with label_create |
| remove_labels | array | no | Labels to detach (each a label id, title, or id prefix) |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| task | string | no | Workspace-scoped task number, encoded as a string |
| tasks | array | no | Several workspace-scoped task numbers (max 50), instead of task. Confirm the list with the user first: one call changes every task in it. |
| assignee | string | no | Assign to a member (user id, name, or email) or a task agent (id or name) |
| clear | array | no | Fields to remove a value from, e.g. ["deadline"]. Use this rather than sending an empty string. |
| deadline | string | no | Set due date (YYYY-MM-DD) |
| notes | string | no | New description/notes (replaces existing) |
| project | string | no | Project id, key, or name |
| team | string | no | Team id, key, or name |
| timezone | string | no | 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 t |
| title | string | no | New title |
| when | string | no | Move to a different GTD view |
| context | string | yes | Explain 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). NEVER |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workspace_id | string | yes | — |
| context | string | yes | Explain 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). NEVER |
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 fa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| expected_key_id | string | yes | — |
| name | string | yes | — |
| workspace_id | string | yes | — |
| context | string | yes | Explain 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). NEVER |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| expectedRevision | integer | no | 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. |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| task | string | no | Workspace-scoped task number, encoded as a string |
| tasks | array | no | Several workspace-scoped task numbers (max 50), instead of task. Confirm the list with the user first: one call changes every task in it. |
| context | string | yes | Explain 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). NEVER |
Reopen a completed task, or several at once with tasks (max 50). Each returns to its previous view.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| task | string | no | Workspace-scoped task number, encoded as a string |
| tasks | array | no | Several workspace-scoped task numbers (max 50), instead of task. Confirm the list with the user first: one call changes every task in it. |
| context | string | yes | Explain 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). NEVER |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| task | string | no | Workspace-scoped task number, encoded as a string |
| tasks | array | no | Several workspace-scoped task numbers (max 50), instead of task. Confirm the list with the user first: one call changes every task in it. |
| context | string | yes | Explain 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). NEVER |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do with the project |
| description | string | no | Project description (empty string clears it on an edit) |
| idempotency_key | string | no | Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id. |
| name | string | no | Project name. Required on add; a rename on edit |
| project | string | no | Project id, key, or name. Required for edit, join and leave |
| status | string | no | Project status (edit only) |
| target_date | string | no | Target date (YYYY-MM-DD), or an empty string to clear it (edit only) |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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 (Toda
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Opaque pagination cursor from a previous call's nextCursor. Pass it with the same filters to fetch the next page. |
| limit | integer | no | Max results |
| query | string | yes | Search query (matches title and description) |
| state | string | no | Filter by task state |
| timezone | string | no | 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 t |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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 it
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do to the checklist |
| completed | boolean | no | Check (true) or uncheck (false) the item, on an edit |
| idempotency_key | string | no | Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id. |
| item | string | no | Checklist item UUID or prefix (>= 4 chars). Required to edit or remove |
| task | string | yes | Workspace-scoped task number, encoded as a string |
| title | string | no | One item title to add, or the new title on an edit |
| titles | array | no | Several item titles to add, kept in the given order (use instead of title) |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do on the thread |
| body | string | no | Comment text. Required to add or edit |
| comment | string | no | Comment UUID or prefix (>= 4 chars). Required to edit or remove |
| idempotency_key | string | no | Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id. |
| task | string | yes | Workspace-scoped task number, encoded as a string |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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: ["attach
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | Whether to attach a file or delete one |
| attachment | string | no | Attachment UUID or prefix (>= 4 chars). Required to remove |
| filename | string | no | Display filename on an add; defaults to the URL's last path segment |
| idempotency_key | string | no | Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id. |
| task | string | yes | Workspace-scoped task number, encoded as a string |
| url | string | no | HTTPS URL of the file to attach. Required to add |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| idempotency_key | string | no | Stable key that makes retries safe: repeated calls with the same key create only one record and return the same id. |
| title | string | yes | Label title |
| workspace | string | no | Workspace id, slug, or name. Required when the account has more than one workspace: a call without it then fails and names the choices |
| context | string | yes | Explain 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). NEVER |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Done Bear or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Done Bear can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.