mcp-microsoft-todo is an open-source, free MCP server built and maintained by MAG&Cie for driving Microsoft To Do through the Microsoft Graph API. It can manage task lists and create, update, complete, and delete tasks from Claude Code, Claude Desktop, or any MCP-compatible client.
Purpose and applicable scenarios It is suitable for users who want to operate Microsoft To Do tasks in natural language within an AI client. It supports any Microsoft account: personal accounts (outlook.com, hotmail.com, live.com), Office 365 Personal or Business, and Microsoft 365. No Azure configuration is required on the user side; users only need to sign in through the device code flow.
Main capabilities
- Manage task lists, with support for creating, updating, completing, and deleting tasks.
- Provides 28 available tools, covering batch operations, subtasks (checklist items), linked resources (external URLs attached to tasks), open extensions (custom JSON metadata), and cross-list helper functions.
- By default returns a compact text format to save LLM tokens, and also supports obtaining the full Graph JSON via verbose: true.
- Each tool has MCP tool annotations (safety hints), divided into categories such as read (read-only), write (write), update (idempotent update), and delete (destructive delete), so clients can automatically approve read-only calls or show a confirmation dialog before destructive operations based on this.
- Multilingual out of the box: Claude reads the data returned by the server and replies in the language used in the user's prompt. Optionally, the compact short labels returned by the server can be localized via MCP_LOCALE.
Usage Prerequisites: Node.js 20+, a Microsoft account; no Azure account, no app registration creation, and no compilation required.
- Claude Code (CLI): install through a single npx command; personal Microsoft accounts need MS_TENANT=consumers added; it is recommended to pre-authenticate in the terminal first to avoid the first MCP call getting stuck. The token is cached at ~/.mcp-microsoft-todo/token-cache.json and refreshed automatically.
- Claude Desktop (app): edit the configuration file to add the configuration; personal accounts need env added; fully restart the app rather than just closing the window; microsoft-todo can be seen in the lower right corner of the input area. It is likewise recommended to pre-authenticate first.
- Cursor / Continue / other stdio MCP clients: any MCP client that supports stdio transport can use the generic format, adjusted according to the client's configuration format.
Security and privacy The Microsoft token is stored only locally on the user's machine at ~/.mcp-microsoft-todo/token-cache.json, and data does not pass through MAG&Cie servers. Access can be revoked at any time at https://account.live.com/consent/Manage or cleared by deleting the local token directory. The requested Graph permissions are Tasks.ReadWrite, Tasks.ReadWrite.Shared, and offline_access.
Developer setup If forking or developing locally and using your own Azure AD app registration, you need to create an app registration in the Azure portal, allow the public client flow, add the corresponding Graph delegated permissions, and then build and authenticate locally. Note that environment variables must be visible when the process is spawned.
Version history v0.1 provides stdio and 6 CRUD tools; v0.2 provides a distributable npm package and a built-in client ID; v0.3 adds recurrence, reminders, checklists, linked resources, search, move, summarize_today, retry and error robustness, vitest tests, and compact format; v0.4 adds automatic pagination, $batch operations, and the Tasks.ReadWrite.Shared scope; v0.5 adds open extensions, cross-list helpers, and iCalendar export; v1.0 is a stable milestone. Possible future versions include v1.1 file attachments, v1.2 pagination follow-up, and v2.0 remote HTTP/SSE transport.
Limitations The server itself does not enforce any safety annotations; the annotations are advisory hints only. The license is MIT. Specific pricing, charges, and platform compatibility details are subject to the official release; this material does not provide further information.