MCP.so
Sign In
M

Mcp Microsoft Todo

@MAG-Cie

About Mcp Microsoft Todo

MCP server for Microsoft To Do via Microsoft Graph. MSAL device code flow, no client secret needed.

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "microsoft-todo": {
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo@latest"
      ],
      "env": {
        "MS_CLIENT_ID": "your-azure-app-client-id",
        "MS_TENANT": "common"
      }
    }
  }
}

Tools

28

List all the user's To Do lists (Tasks, Inbox, custom lists, etc.).

List the tasks of a To Do list. Supports OData filter, $orderby, $top, and pagination.

Fetch a task's detail by ID.

Create a new task in a To Do list. Supports recurrence and reminder.

Update an existing task (title, status, recurrence, reminder, etc.).

Shortcut to mark a task as completed.

Delete a task permanently.

Move 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 a term in the titles of tasks across ALL lists (case-sensitive). By default excludes completed tasks.

Summary of tasks due today and overdue, aggregated per list. Useful for the question "what do I have to do today?".

Fetch 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 the sub-items (checklist) of a task.

Add a sub-item (checklist) to a task.

Update a sub-item (rename or check/uncheck).

Delete a sub-item.

List the linked resources (external URLs, third-party app refs) of a task.

Attach a linked resource (URL or external ref) to a task.

Delete a linked resource from a task.

Create 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.

Mark several tasks as completed in a single $batch HTTP call (up to 100 items).

Delete several tasks in a single $batch HTTP call (up to 100 items).

List the open extensions (custom JSON metadata) attached to a task.

Create 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.

Delete an open extension from a task.

List ALL overdue tasks (status ne completed and dueDateTime < today) across every list. Aggregated via Promise.all.

List ALL tasks containing a given category, across every list. OData filter: categories/any(c: c eq '...').

Add/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.

Export 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.

Overview

What is Mcp Microsoft Todo?

An MCP server that drives Microsoft To Do from Claude Code, Claude Desktop, or any MCP‑compatible client. It works with any Microsoft account (personal, Office 365, Microsoft 365) and requires zero Azure setup — authentication uses the device code flow.

How to use Mcp Microsoft Todo?

Install via npm: npx -y @mag-cie/mcp-microsoft-todo. Add it to your MCP client’s config (e.g., Claude Desktop’s claude_desktop_config.json). For personal accounts, set MS_TENANT=consumers. On first use, run --auth in a terminal to cache the token, then ask natural‑language prompts like “Show me my To Do lists” or “Mark these tasks as done”.

Key features of Mcp Microsoft Todo

  • 28 tools: list, create, update, complete, delete tasks
  • Batch operations (create, complete, delete up to 100 tasks)
  • Sub‑task (checklist) management
  • Attach external URLs as linked resources
  • Custom JSON metadata via open extensions
  • Cross‑list helpers (overdue, by category, bulk update)
  • iCalendar export for Google/Apple/Outlook calendars
  • Compact text output to save LLM tokens

Use cases of Mcp Microsoft Todo

  • View or manage your full Microsoft To Do task list from a chat interface
  • Batch complete or delete dozens of tasks in a single command
  • Move tasks between lists or attach external references
  • Search tasks across lists by title or tag/category
  • Export work tasks as iCalendar for import into a calendar app

FAQ from Mcp Microsoft Todo

Which Microsoft accounts are supported?

All Microsoft accounts: personal (outlook.com, hotmail.com, live.com, msn.com), Office 365 personal or business, and Microsoft 365.

Do I need an Azure account or app registration?

No. The server handles authentication via device code flow — no Azure setup required on the user side.

How do I authenticate?

Run MS_TENANT=consumers npx -y @mag-cie/mcp-microsoft-todo@latest --auth in a terminal. Visit the displayed URL, enter the code, and sign in. The token is cached in ~/.mcp-microsoft-todo/token-cache.json and refreshed automatically.

How do I update to the latest version?

For Claude Code: remove the old server and add it again with @latest. For Claude Desktop: edit the version in claude_desktop_config.json and restart the app completely.

How do I uninstall the server and purge my data?

Run claude mcp remove microsoft-todo (if using Claude Code) and rm -rf ~/.mcp-microsoft-todo to delete the token cache.

Frequently asked questions

Which Microsoft accounts are supported?

All Microsoft accounts: personal (outlook.com, hotmail.com, live.com, msn.com), Office 365 personal or business, and Microsoft 365.

Do I need an Azure account or app registration?

No. The server handles authentication via device code flow — no Azure setup required on the user side.

How do I authenticate?

Run `MS_TENANT=consumers npx -y @mag-cie/mcp-microsoft-todo@latest --auth` in a terminal. Visit the displayed URL, enter the code, and sign in. The token is cached in `~/.mcp-microsoft-todo/token-cache.json` and refreshed automatically.

How do I update to the latest version?

For Claude Code: remove the old server and add it again with `@latest`. For Claude Desktop: edit the version in `claude_desktop_config.json` and restart the app completely.

How do I uninstall the server and purge my data?

Run `claude mcp remove microsoft-todo` (if using Claude Code) and `rm -rf ~/.mcp-microsoft-todo` to delete the token cache.

Comments

More Productivity MCP servers