# Microsoft Planner [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/mspstack/mcp-planner  
**GitHub Stars:** 4  
**npm Downloads (last month):** 239  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/microsoft-planner-2

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

## Tools
Capabilities this server exposes over MCP:

- **planner_search_groups** — Find Microsoft 365 groups (Teams) by name → group ID
- **planner_find_user** — Find a user by name/UPN → user ID for assignments
- **planner_list_plans** — List plans owned by a group
- **planner_get_plan** — Plan + its buckets
- **planner_create_bucket** — Create a bucket in a plan
- **planner_list_tasks** — Tasks in a plan or bucket (filter by assignee, open/completed)
- **planner_list_user_tasks** — All tasks assigned to a user, across plans
- **planner_get_task** — Task with description and checklist
- **planner_create_task** — Create task (bucket, due date, priority, assignees, description)
- **planner_update_task** — Update title/bucket/due/priority/progress/assignees
- **planner_update_task_details** — Update description; add or (un)check checklist items
- **planner_delete_task** — Permanently delete a task

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "microsoft-planner": {
    "command": "npx",
    "args": ["-y","mcp-planner"],
    "env": {
      "MS_TENANT_ID": "",
      "MS_CLIENT_ID": "",
      "MS_CLIENT_SECRET": "",
      "MS_REFRESH_TOKEN": ""
    }
  }
}
```

**Requires environment variables:** `MS_TENANT_ID`, `MS_CLIENT_ID`, `MS_CLIENT_SECRET`, `MS_REFRESH_TOKEN` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What Microsoft Planner MCP server does

The Microsoft Planner MCP server exposes Microsoft Planner operations as MCP tools backed by Microsoft Graph. It helps an agent locate a Microsoft 365 group, identify a user for assignment, and inspect the plans owned by that group. A plan can be retrieved with its buckets, while tasks can be listed by plan or bucket and filtered by assignee or completion state.

Task management covers creation, updates, detail changes, and deletion. New tasks can include a bucket, due date, priority, assignees, and description. Existing tasks support changes to title, bucket, due date, priority, progress, and assignees. Separate detail operations update descriptions and add, check, or uncheck checklist items. Deletion is permanent.

## How it works

The Microsoft Planner MCP server communicates with Microsoft Graph and handles Planner's ETag requirement for updates and deletes. Before changing a resource, the tools retrieve its current ETag and send it with the request. If another change causes Graph to return HTTP 412, retrying the operation is the documented response.

The standard toolset includes group and user lookup, plan and bucket inspection, task listing, task detail retrieval, task creation, task updates, detail updates, and deletion. An optional advanced toolset adds `graph_find_endpoint` and read-only `graph_get`. These tools are limited to curated Graph surfaces under `/planner`, `/groups`, and `/users`; `graph_get` accepts only GET requests and rejects `/beta` paths.

Priority values map to Graph values as urgent 1, important 3, medium 5, and low 9. Progress values are not started 0, in progress 50, and completed 100.

## Setup and configuration

Register an application in Microsoft Entra ID and grant the application permissions `Tasks.ReadWrite.All`, `GroupMember.Read.All`, and `User.Read.All`, followed by admin consent. Run the stdio server with `MS_TENANT_ID`, `MS_CLIENT_ID`, and `MS_CLIENT_SECRET`. Docker and HTTP modes are also supported; HTTP listens on a configurable port and provides a `GET /health` endpoint.

For HTTP sessions, credentials can be supplied per request with `x-ms-tenant-id`, `x-ms-client-id`, and either `x-ms-client-secret` or `x-ms-refresh-token`. A refresh token takes precedence when both are present. If request headers are absent, configured `MS_*` credentials can be used.

Delegated authentication requires a separate public app registration with delegated Planner, group, and basic user permissions. Users obtain a refresh token through the device-login helper and provide it as `MS_REFRESH_TOKEN` for stdio or `x-ms-refresh-token` for HTTP. The token acts as the signed-in user and should be treated as a secret.

## Tools and capabilities

The Microsoft Planner MCP server provides these core tools:

- Find groups and users for plan discovery and assignment.
- List plans, retrieve plans with buckets, and create buckets.
- List tasks across plans or buckets, including user-assigned tasks.
- Get task descriptions and checklists.
- Create, update, assign, complete, and delete tasks.
- Modify descriptions and checklist state.

The advanced Graph tools are disabled by default and can be enabled with `PLANNER_ADVANCED_TOOLSET=true` or `--advanced`.

## Limitations and notes

Access is controlled by the permissions granted to the Entra app registration; the server does not provide MCP-level role gating. App-only sessions operate as the application, while delegated sessions operate as the signed-in user and attribute writes to that user. Refresh tokens remain valid for about 90 days after their last use, subject to the tenant's policies, and may need to be renewed.

_Full upstream README: https://allmcps.com/mcp/microsoft-planner-2/readme_

