Microsoft Planner MCP server — plans, buckets, tasks via Microsoft Graph, ETags handled
registry version 0.4.0
npm
npx -y mcp-plannernpm
npx -y mcp-planner@0.4.0
Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}{
"mcpServers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner@0.4.0"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add --env MS_TENANT_ID=<YOUR_MS_TENANT_ID> --env MS_CLIENT_ID=<YOUR_MS_CLIENT_ID> --env MS_CLIENT_SECRET=<YOUR_MS_CLIENT_SECRET> mcp-planner -- npx -y mcp-planner
claude mcp add --env MS_TENANT_ID=<YOUR_MS_TENANT_ID> --env MS_CLIENT_ID=<YOUR_MS_CLIENT_ID> --env MS_CLIENT_SECRET=<YOUR_MS_CLIENT_SECRET> mcp-planner -- npx -y mcp-planner@0.4.0
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}{
"mcpServers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner@0.4.0"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}{
"servers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner@0.4.0"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}{
"mcpServers": {
"mcp-planner": {
"command": "npx",
"args": [
"-y",
"mcp-planner@0.4.0"
],
"env": {
"MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>"
}
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
MS_TENANT_ID required — Microsoft Entra ID tenant id (GUID or domain)MS_CLIENT_ID required — Entra app registration client idMS_CLIENT_SECRET required secret — Entra app registration client secret (app needs Tasks.ReadWrite.All, GroupMember.Read.All, User.Read.All application permissions)PLANNER_ADVANCED_TOOLSET — true/1 registers the advanced toolset (graph_get, graph_find_endpoint) — a read-only escape hatch limited to /planner, /groups, /users⭐ 4 stars · 最近更新于 73 天前 · MIT license
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 itglu…
Summary from the project README — github.com/mspstack/mcp-planner
Distributed as npm, listed under Productivity. Review our MCP security guide before granting access to real data.
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 itglu
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/mspstack/mcp-planner. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/mcp-planner/)
HTML
<a href="https://mcpnav.net/server/mcp-planner/"><img src="https://mcpnav.net/badge/mcp-planner.svg" alt="Listed on MCPNav" height="20"></a>