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>
This commit is contained in:
2026-07-10 08:09:38 -06:00
parent b3918c3ee6
commit 8dc821cd07
6 changed files with 103 additions and 5 deletions

View File

@@ -0,0 +1,10 @@
{
"name": "ms-todo",
"version": "1.0.1",
"description": "Microsoft To Do connector — read and write your task lists, tasks, and checklist items via Microsoft Graph. Sign in once with todo_login.",
"author": {
"name": "PESCO Inc."
},
"license": "MIT",
"keywords": ["microsoft", "to do", "todo", "tasks", "graph", "productivity"]
}

12
plugin/.mcp.json Normal file
View File

@@ -0,0 +1,12 @@
{
"mcpServers": {
"ms-todo": {
"command": "node",
"args": ["${CLAUDE_PLUGIN_ROOT}/server/index.mjs"],
"env": {
"TODO_CLIENT_ID": "9af4a8a3-5290-4089-9058-a29dcce63c4f",
"TODO_TENANT_ID": "94c6c62d-8fe7-416f-8fef-7d8620b95819"
}
}
}
}

36
plugin/README.md Normal file
View File

@@ -0,0 +1,36 @@
# 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.