io.github.jordanburke/microsoft-todo-mcp-server
NPM · MICROSOFT-TODO-MCP-SERVER
Microsoft To Do via Graph — task lists, tasks, checklist items and reminders.
Available components
Last scanned (9 hours ago)
Scores higher than 53% of npm servers
Category Productivity and Notes
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security74
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
- Declares code that runs automatically (postinstall) and that we could not recognise. It may be perfectly ordinary, but we have not established what it does. View diagnostics → Partial
- 41 of 111 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to jordanburke/microsoft-todo-mcp-server). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 4 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability74
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1596 tokens (~99/item across 16 items; 16 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete-task-list" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 16 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
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.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +16
- Malware scan: unverified → pass ▲ security
- 31 Oct 26 −14
- Malware scan: pass → unverified ▼ security
- Schema quality: 89 → 99 ▼ functional
- Security disclosure: fail → pass ▲ functional
- Package version: 1.1.4 → 1.2.0 functional
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 0 to 3. That category is still filling its 30-day observation window: 0 days of observed history at the previous scan, 1 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 71
First indexed and scored.
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 5 Nov 2026 · Analysed npm/microsoft-todo-mcp-server@1.2.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | jordanburke/microsoft-todo-mcp-server |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/jordanburke/microsoft-todo-mcp-server/.github/workflows/publish.yml@refs/tags/v1.2.0 |
| Rekor log index | 3614519329 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:3e65dfad1bcc173415610777f6ab76362c2b8e3d5ffa6d32e0b91336d2d0eacf2a463a58f8c5c19e2ce95617b4061808554510f78621cc2a91c94ce0b |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| postinstall | unreviewed | echo 'Run: npx microsoft-todo-mcp-server setup' to configure |
Background: Why install scripts are a supply-chain risk →
Vulnerabilities 2 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-w5hq-g745-h8pq | CVE-2026-41907 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
| GHSA-mrhx-c7xc-m3w5 | CVE-2023-54404 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 111 packages
| Packages resolved | 111 |
|---|---|
| Deprecated | 1 |
| Stale | 40 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
archive-completed-tasks ~118
Move completed tasks older than a specified number of days from one list to another (archive) list. Useful for cleaning up active lists while preserving historical tasks.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | If true, only preview what would be archived without making changes |
| olderThanDays | number | – | Archive tasks completed more than this many days ago (default: 90) |
| sourceListId | string | yes | ID of the source list to archive tasks from |
| targetListId | string | yes | ID of the target archive list |
No output schema declared.
No examples provided.
auth-status ~35
Check if you're authenticated with Microsoft Graph API. Shows current token status and expiration time, and indicates if the token needs to be refreshed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
create-checklist-item ~89
Create a new checklist item (subtask) for a task. Checklist items help break down a task into smaller, manageable steps.
| Name | Type | Req | Description |
|---|---|---|---|
| displayName | string | yes | Text content of the checklist item |
| isChecked | boolean | – | Whether the item is checked off |
| listId | string | yes | ID of the task list |
| taskId | string | yes | ID of the task |
No output schema declared.
No examples provided.
create-task ~267
Create a new task in a specific Microsoft Todo list. A task is the main todo item that can have a title, description, due date, and other properties. Pass `recurrence` to make the task repeat (e.g. monthly bill payments, birthdays, weekly reviews).
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | Description or body content of the task |
| categories | array | – | Categories associated with the task |
| dueDateTime | string | – | Due date in ISO format (e.g., 2023-12-31T23:59:59Z) |
| importance | string | – | Task importance |
| isReminderOn | boolean | – | Whether to enable reminder for this task |
| listId | string | yes | ID of the task list |
| recurrence | object | – | Recurrence rule. Omit for a one-off task. Requires `dueDateTime` to be set (the recurrence derives its first occurrence from it). |
| reminderDateTime | string | – | Reminder date and time in ISO format |
| startDateTime | string | – | Start date in ISO format (e.g., 2023-12-31T23:59:59Z) |
| status | string | – | Status of the task |
| title | string | yes | Title of the task |
No output schema declared.
No examples provided.
create-task-list ~46
Create a new task list (top-level container) in Microsoft Todo to help organize your tasks into categories or projects.
| Name | Type | Req | Description |
|---|---|---|---|
| displayName | string | yes | Name of the new task list |
No output schema declared.
No examples provided.
delete-checklist-item ~76
Delete a checklist item (subtask) from a task. This removes just the specific subtask, not the parent task.
| Name | Type | Req | Description |
|---|---|---|---|
| checklistItemId | string | yes | ID of the checklist item to delete |
| listId | string | yes | ID of the task list |
| taskId | string | yes | ID of the task |
No output schema declared.
No examples provided.
delete-task ~58
Delete a task from a Microsoft Todo list. This will remove the task and all its checklist items (subtasks).
| Name | Type | Req | Description |
|---|---|---|---|
| listId | string | yes | ID of the task list |
| taskId | string | yes | ID of the task to delete |
No output schema declared.
No examples provided.
delete-task-list ~48
Delete a task list (top-level container) from Microsoft Todo. This will remove the list and all tasks within it.
| Name | Type | Req | Description |
|---|---|---|---|
| listId | string | yes | ID of the task list to delete |
No output schema declared.
No examples provided.
get-checklist-items ~61
Get checklist items (subtasks) for a specific task. Checklist items are smaller steps or components that belong to a parent task.
| Name | Type | Req | Description |
|---|---|---|---|
| listId | string | yes | ID of the task list |
| taskId | string | yes | ID of the task |
No output schema declared.
No examples provided.
get-task-lists ~39
Get all Microsoft Todo task lists (the top-level containers that organize your tasks). Shows list names, IDs, and indicates default or shared lists.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get-task-lists-organized ~83
Get all task lists organized into logical folders/categories based on naming patterns, emoji prefixes, and sharing status. Provides a hierarchical view similar to folder organization.
| Name | Type | Req | Description |
|---|---|---|---|
| groupBy | string | – | Grouping strategy - 'category' (default), 'shared', or 'type' |
| includeIds | boolean | – | Include list IDs in output (default: false) |
No output schema declared.
No examples provided.
get-tasks ~181
Get tasks from a specific Microsoft Todo list. These are the main todo items that can contain checklist items (subtasks).
| Name | Type | Req | Description |
|---|---|---|---|
| count | boolean | – | Whether to include a count of tasks |
| filter | string | – | OData $filter query (e.g., 'status eq \'completed\'') |
| listId | string | yes | ID of the task list |
| orderby | string | – | Property to sort by (e.g., 'createdDateTime desc') |
| select | string | – | Comma-separated subset of the shown fields to include: status, dueDateTime, importance, categories, recurrence, body (e.g., 'status,dueDateTime'). id and title are always included; other names are ig… |
| skip | number | – | Number of tasks to skip |
| top | number | – | Maximum number of tasks to retrieve |
No output schema declared.
No examples provided.
test-graph-api-exploration ~46
Test various Graph API queries to discover hidden properties or endpoints for folder/group organization in Microsoft To Do.
| Name | Type | Req | Description |
|---|---|---|---|
| testType | string | yes | Type of test to run |
No output schema declared.
No examples provided.
update-checklist-item ~102
Update an existing checklist item (subtask). Allows changing the text content or completion status of the subtask.
| Name | Type | Req | Description |
|---|---|---|---|
| checklistItemId | string | yes | ID of the checklist item to update |
| displayName | string | – | New text content of the checklist item |
| isChecked | boolean | – | Whether the item is checked off |
| listId | string | yes | ID of the task list |
| taskId | string | yes | ID of the task |
No output schema declared.
No examples provided.
update-task ~292
Update an existing task in Microsoft Todo. Allows changing any properties of the task including title, due date, importance, and recurrence. To stop a recurring task, pass `recurrence: null`. Pass a new `recurrence` object to change or add recurrence.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | New description or body content of the task |
| categories | array | – | New categories associated with the task |
| dueDateTime | string | – | New due date in ISO format (e.g., 2023-12-31T23:59:59Z) |
| importance | string | – | New task importance |
| isReminderOn | boolean | – | Whether to enable reminder for this task |
| listId | string | yes | ID of the task list |
| recurrence | – | – | New recurrence rule for the task. Pass an object to set/change recurrence. Pass `null` to make the task one-off (clears any existing recurrence). Omit to leave recurrence untouched. |
| reminderDateTime | string | – | New reminder date and time in ISO format |
| startDateTime | string | – | New start date in ISO format (e.g., 2023-12-31T23:59:59Z) |
| status | string | – | New status of the task |
| taskId | string | yes | ID of the task to update |
| title | string | – | New title of the task |
No output schema declared.
No examples provided.
update-task-list ~55
Update the name of an existing task list (top-level container) in Microsoft Todo.
| Name | Type | Req | Description |
|---|---|---|---|
| displayName | string | yes | New name for the task list |
| listId | string | yes | ID of the task list to update |
No output schema declared.
No examples provided.
How do I install the io.github.jordanburke/microsoft-todo-mcp-server server?
io.github.jordanburke/microsoft-todo-mcp-server runs locally as an npm package, launched with npx -y microsoft-todo-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · microsoft-todo-mcp-server
claude mcp add jordanburke-microsoft-todo-mcp-server -- npx -y microsoft-todo-mcp-server
What is the io.github.jordanburke/microsoft-todo-mcp-server server?
io.github.jordanburke/microsoft-todo-mcp-server is listed in the public MCP registry as io.github.jordanburke/microsoft-todo-mcp-server. Microsoft To Do via Graph, task lists, tasks, checklist items and reminders. This page covers its npm package (microsoft-todo-mcp-server).
Is the io.github.jordanburke/microsoft-todo-mcp-server server safe to use?
io.github.jordanburke/microsoft-todo-mcp-server scores 76 out of 100 on VerifyMCP. We recorded 2 known advisories against it as of 5 November 2026. Its build provenance is signed and verified. 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 io.github.jordanburke/microsoft-todo-mcp-server server expose?
io.github.jordanburke/microsoft-todo-mcp-server exposes 16 tools: auth-status, get-task-lists, get-task-lists-organized, create-task-list, update-task-list, and 11 more. Their descriptions and schemas cost roughly 1,596 tokens of context every time the server is loaded.
Is the io.github.jordanburke/microsoft-todo-mcp-server server still maintained?
io.github.jordanburke/microsoft-todo-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.jordanburke/microsoft-todo-mcp-server server under?
io.github.jordanburke/microsoft-todo-mcp-server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.