Microsoft Todo MCP server
io.github.MAG-Cie/mcp-microsoft-todo·v1.2.2·12 starsMCP server for Microsoft To Do via Microsoft Graph. MSAL device code flow, no client secret needed.
12 stars166 downloads/wk
Reviews
Write oneNobody has reviewed Microsoft Todo yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Microsoft Todo tools (28, 13 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
batch_complete_tasksMark several tasks as completed in a single $batch HTTP call (up to 100 items).
batch_create_taskswrite actionCreate several tasks in a single HTTP call via Microsoft Graph $batch (up to 100 items, auto-chunked by 20). Returns: status + result OR error per item, in order. More efficient than N create_task calls.
batch_delete_taskswrite actionDelete several tasks in a single $batch HTTP call (up to 100 items).
bulk_update_categorieswrite actionAdd/remove categories on several tasks in one operation. 2-phase batch: GET to read existing categories, then PATCH with the updated set. Per-item errors, no global fail.
complete_taskShortcut to mark a task as completed.
create_checklist_itemwrite actionAdd a sub-item (checklist) to a task.
create_linked_resourcewrite actionAttach a linked resource (URL or external ref) to a task.
create_taskwrite actionCreate a new task in a To Do list. Supports recurrence and reminder.
delete_checklist_itemwrite actionDelete a sub-item.
delete_extensionwrite actionDelete an open extension from a task.
delete_linked_resourcewrite actionDelete a linked resource from a task.
delete_taskwrite actionDelete a task permanently.
export_tasks_icsExport tasks to iCalendar format (text/calendar VTODO) for import into Google Calendar, Apple Calendar, Outlook, Thunderbird, etc. Recurrence converted to RRULE when possible. Reminder converted to VALARM.
get_taskFetch a task's detail by ID.
list_all_tasksFetch every active task across every list in a single round-trip (uses Graph $batch internally). Use this for the question "what are all my tasks?" instead of N×list_tasks calls. Optional `filter` is an OData filter applied per list (e.g. "importance eq 'high'"). By default `status ne 'completed'` is appended unless `include_completed` is true.
list_checklist_itemsList the sub-items (checklist) of a task.
list_extensionsList the open extensions (custom JSON metadata) attached to a task.
list_linked_resourcesList the linked resources (external URLs, third-party app refs) of a task.
list_overdue_tasksList ALL overdue tasks (status ne completed and dueDateTime < today) across every list. Aggregated via Promise.all.
list_task_listsList all the user's To Do lists (Tasks, Inbox, custom lists, etc.).
list_tasksList the tasks of a To Do list. Supports OData filter, $orderby, $top, and pagination.
list_tasks_by_categoryList ALL tasks containing a given category, across every list. OData filter: categories/any(c: c eq '...').
move_taskMove a task from one list to another. Recreates the task in the target list (title, body, due, recurrence, reminder, categories preserved) then deletes the original. Note: checklistItems and linkedResources are NOT moved (Graph limitation). The task ID changes.
search_tasksSearch a term in the titles of tasks across ALL lists (case-sensitive). By default excludes completed tasks.
set_extensionwrite actionCreate or update (upsert) an open extension on a task. Lets you attach arbitrary JSON metadata (project_id, external_ref, custom flags...) that persist in Microsoft Graph.
summarize_todaySummary of tasks due today and overdue, aggregated per list. Useful for the question "what do I have to do today?".
update_checklist_itemwrite actionUpdate a sub-item (rename or check/uncheck).
update_taskwrite actionUpdate an existing task (title, status, recurrence, reminder, etc.).
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan11 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 139 days ago8/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Microsoft Todo compares
Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 82/100
- higher than 58% of 1,299 Productivity servers
- Tools
- 28
- the typical Productivity server has 7
- Tools that change things
- 46%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 12
- more than 79% of 854 Productivity servers
- Downloads a week
- 166
- more than 68% of 427 Productivity servers with a package
What its tools let an agent do: 14 read · 3 create · 7 change · 4 delete
Install Microsoft Todo in Claude Code, Cursor or VS Code
Runs npx -y @mag-cie/mcp-microsoft-todo on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-microsoft-todo -- npx -y @mag-cie/mcp-microsoft-todo
What the publisher says
From the Microsoft Todo repository's README, as published. We do not edit it. Read it on GitHub
mcp-microsoft-todo
🇫🇷 Version française : README.fr.md
MCP server to drive Microsoft To Do from Claude Code, Claude Desktop, or any MCP-compatible client.
Works with any Microsoft account: personal (outlook.com, hotmail.com, live.com), Office 365 personal or business, Microsoft 365. Zero Azure setup required on the user side — just sign in via device code flow.
🏗 Built and maintained by MAG&Cie
This MCP server is open-source and free to use. It's also a showcase of our Création de MCP offering at MAG&Cie — we build custom MCP connectors for businesses that want to plug AI into their internal tools (CRM, ERP, custom APIs, internal databases).
If you'd like the same kind of connector for your tools — drop us a line at www.mag-cie.com/creation-mcp.
🚀 End-user installation
Prerequisites (all clients)
- Node.js 20+ (nodejs.org)
- A Microsoft account (free or paid)
No Azure account required, no App Registration to create, nothing to compile.
🟦 Claude Code (CLI)
Install (one command):
claude mcp add --transport stdio microsoft-todo -- npx -y @mag-cie/mcp-microsoft-todoIf you have a personal Microsoft account (outlook.com, hotmail.com, live.com, msn.com, Office 365 personal), add MS_TENANT=consumers:
claude mcp add --transport stdio microsoft-todo --env MS_TENANT=consumers -- npx -y @mag-cie/mcp-microsoft-todoVerify it's wired up:
claude mcp listFirst use — recommended: pre-auth in a terminal first to avoid the "stuck on first MCP call" issue (where the device code is printed to MCP stderr but Claude Code doesn't surface it):
# macOS / Linux
MS_TENANT=consumers npx -y @mag-cie/mcp-microsoft-todo@latest --auth# Windows PowerShell
$env:MS_TENANT="consumers"; npx -y @mag-cie/mcp-microsoft-todo@latest --authYou'll see:
To sign in, use a web browser to open the page https://www.microsoft.com/link and enter the code XXXXXXXXXVisit the URL, enter the code, sign in. The token is cached in ~/.mcp-microsoft-todo/token-cache.json and refreshed automatically — you'll never have to do this again. Now go to Claude Code and any prompt that calls a tool will work instantly.
Skip the pre-auth step if you're feeling lucky — the MCP will trigger the device code flow on first call too. The code goes to the Claude Code MCP log file (look in %USERPROFILE%\.claude\logs\ on Windows or ~/.claude/logs/ elsewhere).
Update to the latest version:
claude mcp remove microsoft-todo
claude mcp add --transport stdio microsoft-todo -- npx -y @mag-cie/mcp-microsoft-todo@latestThe -y flag of npx auto-accepts the download. Without @latest, npx may serve a stale cached version.
Uninstall:
claude mcp remove microsoft-todo
# Purge the token cache:
rm -rf ~/.mcp-microsoft-todo🟪 Claude Desktop (app)
1. Locate the config file:
On Windows, you can open it directly with:
notepad $env:APPDATA\Claude\claude_desktop_config.jsonIf the file doesn't exist, create it with an empty JSON object {} then edit.
2. Add the config:
{
"mcpServers": {
"microsoft-todo": {
"command": "npx",
"args": ["-y", "@mag-cie/mcp-microsoft-todo"]
}
}
}For a personal Microsoft account, add env:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Microsoft Todo: common questions
- Is Microsoft Todo MCP server safe?
- Mostly: it is graded B (82/100). Read the Microsoft Todo safety report
- How do I install Microsoft Todo?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Microsoft Todo need an API key?
- No secret keys are declared. It reads 2 settings from the environment.
- Is Microsoft Todo maintained?
- The last commit was 177 days ago (2026-05-11). The latest release is v1.2.2.
- What can I use instead of Microsoft Todo?
- Servers from other publishers that do the same job: gflow-cli MCP server, Microsoft Learn MCP server and Obsidian Hybrid Search MCP server.
- How does Microsoft Todo compare with other Productivity MCP servers?
- safety score 82/100 (higher than 58% of 1,299 Productivity servers); tools 28 (the typical Productivity server has 7); tools that change things 46% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Microsoft Todo
Same job from other publishers: the closest match first, then the best rated.
- gflow-cliDrive Google Flow from an agent: Veo video and Imagen image generationnot reviewedEstablishedA
- Microsoft Learn MCPOfficial Microsoft Learn MCP Server – real-time, trusted docs & code samples for AI and LLMs.not reviewedEstablishedA
- Obsidian Hybrid SearchSearch Obsidian vaults with hybrid full-text, fuzzy, semantic, and graph retrieval.not reviewedEstablishedB
iPhone UseDrive a real iPhone from a Mac: read the screen as text, tap, type, scroll, replay saved flows.not reviewedGrowingB- chat-recallOne searchable history across every AI coding tool, with secret scanning and a shared task board.not reviewedGrowingB