NestDaddy

Microsoft Todo Mcp Server

io.github.jordanburke/microsoft-todo-mcp-server · v1.4.0

Microsoft To Do via Graph — task lists, tasks, checklist items and reminders.

Connect Runs on your machine

Terminal
claude mcp add microsoft-todo-mcp-server -e MS_TODO_ACCESS_TOKEN=<MS_TODO_ACCESS_TOKEN> -e MS_TODO_REFRESH_TOKEN=<MS_TODO_REFRESH_TOKEN> -e CLIENT_ID=<CLIENT_ID> -e CLIENT_SECRET=<CLIENT_SECRET> -e TENANT_ID=<TENANT_ID> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "microsoft-todo-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MS_TODO_ACCESS_TOKEN": "<MS_TODO_ACCESS_TOKEN>",
        "MS_TODO_REFRESH_TOKEN": "<MS_TODO_REFRESH_TOKEN>",
        "CLIENT_ID": "<CLIENT_ID>",
        "CLIENT_SECRET": "<CLIENT_SECRET>",
        "TENANT_ID": "<TENANT_ID>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "microsoft-todo-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MS_TODO_ACCESS_TOKEN": "<MS_TODO_ACCESS_TOKEN>",
        "MS_TODO_REFRESH_TOKEN": "<MS_TODO_REFRESH_TOKEN>",
        "CLIENT_ID": "<CLIENT_ID>",
        "CLIENT_SECRET": "<CLIENT_SECRET>",
        "TENANT_ID": "<TENANT_ID>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "microsoft-todo-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MS_TODO_ACCESS_TOKEN": "<MS_TODO_ACCESS_TOKEN>",
        "MS_TODO_REFRESH_TOKEN": "<MS_TODO_REFRESH_TOKEN>",
        "CLIENT_ID": "<CLIENT_ID>",
        "CLIENT_SECRET": "<CLIENT_SECRET>",
        "TENANT_ID": "<TENANT_ID>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
MS_TODO_ACCESS_TOKEN
Optional, secret
Microsoft Graph access token. Must be set together with MS_TODO_REFRESH_TOKEN; `mstodo-config` emits both.
MS_TODO_REFRESH_TOKEN
Optional, secret
Refresh token. Required alongside the access token, but note the env-token path does not renew: once the access token expires the server returns 401 until it is replaced.
CLIENT_ID
Optional
Azure AD application (client) ID. The server reads it to refresh tokens when the stored token file carries no credentials; `mstodo-setup` also uses it.
CLIENT_SECRET
Optional, secret
Azure AD client secret, used for the same token refresh and by `mstodo-setup`.
TENANT_ID
Optional
Azure AD tenant: 'organizations' (the default), 'consumers', 'common', or a tenant GUID.

Details

Package[email protected] (NPM, stdio)
First published12 Nov 2026
Last updated12 Nov 2026
Registry nameio.github.jordanburke/microsoft-todo-mcp-server

More productivity servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.