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>
37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
# 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.
|