Microsoft To Do via Graph — task lists, tasks, checklist items and reminders.
Connect Runs on your machine
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]
{
"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>"
}
}
}
}
{
"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>"
}
}
}
}
{
"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
| Name | Description |
|---|---|
MS_TODO_ACCESS_TOKENOptional, secret | Microsoft Graph access token. Must be set together with MS_TODO_REFRESH_TOKEN; `mstodo-config` emits both. |
MS_TODO_REFRESH_TOKENOptional, 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_IDOptional | 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_SECRETOptional, secret | Azure AD client secret, used for the same token refresh and by `mstodo-setup`. |
TENANT_IDOptional | Azure AD tenant: 'organizations' (the default), 'consumers', 'common', or a tenant GUID. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 12 Nov 2026 |
| Last updated | 12 Nov 2026 |
| Registry name | io.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.
