plugin/ holds the plugin manifest, .mcp.json (CLAUDE_PLUGIN_ROOT paths), and README; scripts/build-plugin.sh syncs the core client, esbuild-bundles the server into a single ESM file (the plugin uploader rejects zip entries containing "@", so no node_modules), and zips it as ms-todo.plugin. Same server, two install formats (.mcpb + .plugin). Mirrors claude-msplanner. Verified: the bundled server registers all 17 tools over stdio as ms-todo v1.0.1. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.6 KiB
Microsoft To Do plugin
Connects Claude to Microsoft To Do via the Microsoft Graph API. This is the
plugin (.plugin) packaging of the same MCP stdio server shipped as the
ms-todo.mcpb Claude Desktop extension — one codebase, two install formats.
Install
Upload ms-todo.plugin in the plugin picker. Then ask Claude to run
todo_login once — a browser window opens for Microsoft sign-in. The refresh
token is cached at ~/.ms-todo/token-cache.json (shared with the
Desktop-extension install, so you only ever sign in once per machine).
Requirements
- Node.js >= 18 on PATH (the server is a Node stdio process).
- A Microsoft work account in the PESCO tenant. Auth is delegated (auth-code + PKCE); scopes: Tasks.ReadWrite, User.Read.
Configuration
Environment is baked into .mcp.json (client + tenant id). Optional overrides:
| Variable | Purpose |
|---|---|
TODO_TOKEN_CACHE |
Alternate token cache path |
TODO_TIMEZONE |
Zone for due/start/reminder dates (default UTC) |
TODO_READONLY |
"true" registers only the viewing tools |
Tools
17 tools: todo_login/logout/test, list CRUD (todo_list_lists/create_list/ update_list/delete_list), task CRUD (todo_list_tasks/get_task/create_task/ update_task/complete_task/delete_task), checklist items (todo_list_checklist/ add_checklist_item/check_checklist_item/delete_checklist_item).
See the repository README for the full list.