Files
claude-ms-todo/plugin
Spencer McGuire 8dc821cd07 Add .plugin packaging (Cowork/Claude Code plugin variant)
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>
2026-07-10 08:09:38 -06:00
..

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.