Microsoft Planner

io.github.selic由 GitHub 帳號 selic 發布v0.2.0更新於 Oct 24, 2026

Microsoft Planner MCP server — plans, buckets, tasks via Microsoft Graph, ETags handled

發布方自己的服務:Microsoft Learn MCP

已驗證STDIO僅桌面效率與工作流開發者工具

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓助理透過 Microsoft Graph API 操作 Microsoft Planner 的計畫、儲存桶與工作。

可以做什麼
尋找 Microsoft 365 群組與使用者以取得計畫和指派所需的 ID,列出群組擁有的計畫及其儲存桶,並建立新的儲存桶。列出計畫或儲存桶中的工作,列出指派給某位使用者的所有工作,並讀取工作及其描述與檢查清單。建立工作時可設定儲存桶、到期日、優先順序、指派對象與描述,也可更新標題、儲存桶、到期日、優先順序、進度或指派對象。編輯工作描述並新增或勾選檢查清單項目,以及永久刪除工作。可選擇啟用進階唯讀工具集,用來搜尋 Graph 端點目錄並發出僅限 planner、groups 與 users 路徑的 GET 請求。
適用情境
適合在 Microsoft Planner 中管理工作的使用者,讓助理不必切換到 Planner 介面就能查詢計畫與指派,或建立、更新和完成工作。也適合批次或跨計畫的工作檢視,例如列出某位使用者的所有工作。
執行需求
透過 npx 在本機執行,需要 Node.js;也可使用 Docker 容器或 HTTP 模式。需要一個 Microsoft Entra ID 應用程式註冊,具備應用程式權限 Tasks.ReadWrite.All、GroupMember.Read.All 與 User.Read.All,並完成系統管理員同意,還需要用戶端密碼。設定 MS_TENANT_ID、MS_CLIENT_ID 與 MS_CLIENT_SECRET;委派模式改用公開應用程式註冊與 MS_REFRESH_TOKEN。
安裝前請注意
用戶端密碼與重新整理權杖都是可存取 Planner 資料的憑證;重新整理權杖以登入使用者身分行事,最後一次使用後約 90 天內仍有效。伺服器可建立、更新並永久刪除工作,寫入會歸屬於應用程式註冊或委派使用者。存取控制僅取決於應用程式註冊被授予的 Graph 權限,應盡量縮小範圍。進階工具集為唯讀,且僅限 planner、groups 與 users 路徑。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Microsoft Planner,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-planner

MCP server for Microsoft Planner via the Microsoft Graph API. Find groups and plans, list buckets and tasks, and create, update, assign, complete, or delete tasks — including descriptions and checklists — with Planner's ETag concurrency handled automatically.

Sibling project to mcp-itglue and mcp-connectwise-psa — same architecture.

Tools

ToolDescription
planner_search_groupsFind Microsoft 365 groups (Teams) by name → group ID
planner_find_userFind a user by name/UPN → user ID for assignments
planner_list_plansList plans owned by a group
planner_get_planPlan + its buckets
planner_create_bucketCreate a bucket in a plan
planner_list_tasksTasks in a plan or bucket (filter by assignee, open/completed)
planner_list_user_tasksAll tasks assigned to a user, across plans
planner_get_taskTask with description and checklist
planner_create_taskCreate task (bucket, due date, priority, assignees, description)
planner_update_taskUpdate title/bucket/due/priority/progress/assignees
planner_update_task_detailsUpdate description; add or (un)check checklist items
planner_delete_taskPermanently delete a task
graph_find_endpoint †Search a curated catalog of the /planner, /groups, /users Graph surface
graph_get †Read-only GET for any Graph v1.0 path under /planner, /groups, /users

† Advanced toolset (opt-in, off by default) — an escape hatch for Graph surface the curated tools don't wrap. Enable with PLANNER_ADVANCED_TOOLSET=true or --advanced. graph_get is verb-locked to GET, rejects /beta, and only reaches the three path prefixes above, so a shared app registration's other permissions (e.g. mail) stay out of reach.

Setup

1. Entra ID app registration

  1. Entra admin center → App registrations → New registration
  2. API permissions → Application permissions → add Tasks.ReadWrite.All, GroupMember.Read.All, User.Read.All → Grant admin consent
  3. Certificates & secrets → New client secret — note the value

2. Run

bash
MS_TENANT_ID=<tenant> MS_CLIENT_ID=<client-id> MS_CLIENT_SECRET=<secret> npx -y mcp-planner

Claude Code:

bash
claude mcp add planner --env MS_TENANT_ID=<tenant> --env MS_CLIENT_ID=<client-id> --env MS_CLIENT_SECRET=<secret> -- npx -y mcp-planner

HTTP mode

bash
npx -y mcp-planner --transport http --port 3000

Sessions authenticate per-request (BYOK) with x-ms-tenant-id + x-ms-client-id plus either x-ms-client-secret (app-only) or x-ms-refresh-token (delegated — see below), or fall back to the MS_* environment credentials when set. When both a secret and a refresh token arrive, the refresh token wins (header-overlay proxies can add but not remove headers). Health probe at GET /health.

Delegated mode — act as the signed-in user

App-only sessions act as the app registration; delegated sessions act as a user: their Planner permissions apply and every write is attributed to them.

  1. A separate, public app registration: Authentication → Allow public client flows → Yes; API permissions → Delegated Tasks.ReadWrite, Group.Read.All, User.ReadBasic.All (+ admin consent where the tenant requires it).
  2. Each user signs in once via the device-code helper and keeps the printed refresh token:
bash
node scripts/device-login.mjs --tenant <tenant-id> --client <public-client-id>
  1. Use MS_REFRESH_TOKEN instead of MS_CLIENT_SECRET (stdio), or the x-ms-refresh-token header (HTTP). Behind the MCP gateway, register it as a personal credential (field x-ms-refresh-token).

The refresh token is a secret — it acts as you — and stays valid ~90 days past its last use; re-run the helper when it expires.

Docker

bash
docker build -t mcp-planner .docker run -p 3000:3000 -e MS_TENANT_ID=... -e MS_CLIENT_ID=... -e MS_CLIENT_SECRET=... mcp-planner

Access model

No MCP-level role gating: the Entra app registration's granted Graph permissions are the access control. Point sessions at different app registrations (BYOK headers) to scope what they can do.

Notes

  • Planner requires an If-Match ETag on every update/delete — the tools fetch the current resource and pass its ETag automatically. On a 412 (concurrent change), just retry.
  • Priority mapping: urgent=1, important=3, medium=5, low=9 (Graph uses 0–10).
  • Progress: not started (0), in progress (50), completed (100).

Development

bash
npm installnpm run dev        # stdionpm run dev:http   # httpnpm testnpm run buildnpm run bundle     # Claude Desktop .mcpb

License

MIT

來源:README.md,提交 0d89d41

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Microsoft 整合