Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Microsoft Planner in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work with Microsoft Planner: see your tasks across plans, browse team plans and buckets, create and assign tasks, update progress, due dates and checklists. Microsoft 365 work or school accounts through Microsoft Graph.
Try asking
Example prompts for Microsoft Planner
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Microsoft Planner, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Microsoft Planner
Let your AI work with Microsoft Planner: see your tasks across plans, browse team plans and buckets, create and assign tasks, update progress, due dates and checklists. Microsoft 365 work or school accounts through Microsoft Graph.
Setup
-
Open the Microsoft Entra admin center (entra.microsoft.com) or the Azure portal and go to Applications → App registrations → New registration.
-
Name the app (for example "AnythingMCP Microsoft 365") and choose the Supported account types. The choice decides what goes into
MICROSOFT_TENANT_ID:- Accounts in this organizational directory only (single tenant): only users of your organisation can sign in. Use the Directory (tenant) ID from the app's Overview page (a GUID) or your domain, such as
contoso.onmicrosoft.com. - Accounts in any organizational directory (multi-tenant): use
organizations. - Accounts in any organizational directory and personal Microsoft accounts: not for this connector. Planner does not support personal Microsoft accounts, so
consumersdoes not work, and withcommononly work or school accounts can use it.
If the value does not match the account type, Microsoft refuses the sign-in (AADSTS50194 or AADSTS50020).
- Accounts in this organizational directory only (single tenant): only users of your organisation can sign in. Use the Directory (tenant) ID from the app's Overview page (a GUID) or your domain, such as
-
Under Redirect URI, pick the platform Web and enter
https://cloud.anythingmcp.com/api/mcp-oauth/callback. If you host AnythingMCP yourself, enterhttps://your-anythingmcp-host/api/mcp-oauth/callbackinstead. The URI must match character for character, otherwise Microsoft answers AADSTS50011. -
Open API permissions → Add a permission → Microsoft Graph → Delegated permissions and add
offline_access,User.ReadandTasks.ReadWrite.offline_accessis what makes Microsoft issue a refresh token; without it the connector stops an hour after you authorize it. -
Open Certificates & secrets → New client secret. Copy the secret Value, not the Secret ID; it is shown only once. Note the expiry date: when the secret expires, the connector stops working until you create a new one and paste it in.
-
Paste the Application (client) ID from the Overview page into
MICROSOFT_CLIENT_ID, the secret value intoMICROSOFT_CLIENT_SECRETand the tenant value from step 2 intoMICROSOFT_TENANT_ID, then install the connector. -
On the connector page, click Authorize with Provider and sign in with the work or school account whose plans the AI should work with. The refresh token is stored encrypted, and access tokens (valid for about an hour) are renewed automatically.
-
Start with
microsoft_planner_list_my_tasks: it shows the tasks assigned to you across all your plans.
One Entra app for all Microsoft connectors: the app registration you made for the Outlook, OneDrive, SharePoint or Excel connector works here too. Open it, add the permission from step 4 under API permissions, keep the same redirect URI and reuse the same client ID, secret and tenant. Each connector asks only for its own permissions when you authorize it:
- Outlook:
Mail.ReadWrite,Mail.Send,Calendars.ReadWrite - OneDrive:
Files.ReadWrite - Excel:
Files.ReadWrite(plusFiles.ReadWrite.Allfor workbooks in SharePoint or shared with you) - SharePoint:
Sites.ReadWrite.AllandFiles.ReadWrite.All - OneNote:
Notes.ReadWrite - Microsoft To Do:
Tasks.ReadWrite - Planner:
Tasks.ReadWrite
All of them also need offline_access and User.Read.
Admin consent: these delegated permissions normally do not need an administrator, but many organisations turn off user consent. If the sign-in shows "Need admin approval" (AADSTS65001 or AADSTS90094), a tenant administrator opens the app registration once and clicks API permissions → Grant admin consent for the organisation. After that every user can authorize. Each connector still works only with what the account that signed in may see.
A work or school account is required: Planner is part of Microsoft 365 for organisations. Personal Microsoft accounts such as Outlook.com have no Planner and get error 403 or 400. The AI only sees the plans of the Microsoft 365 groups and teams you are a member of.
Permissions: Tasks.ReadWrite is all Planner needs, and on its own it does not require an administrator. Group.Read.All or Group.ReadWrite.All would also work, but they need admin consent, so the connector does not ask for them. The Microsoft To Do connector uses the same Tasks.ReadWrite permission.
Read-only setup: replace the scopes in the connector's OAuth settings with offline_access User.Read Tasks.Read, authorize again and disable microsoft_planner_create_task, microsoft_planner_update_task, microsoft_planner_update_task_details and microsoft_planner_create_bucket.
Changes wait for your yes: before the AI creates, changes or moves a task or bucket, it tells you what it is about to do and waits for your yes. Plans are shared, so every change is visible to the whole group.
Switched off at install: microsoft_planner_delete_task. Deleting removes the task for the whole team and the connector cannot undo it, so turn it on only if the AI should really delete tasks.
Plans, buckets and assignments: a team's plans live in its Microsoft 365 group. The AI finds the group, then the plan, its buckets (the columns of the board) and its tasks. Progress is 0 (not started), 50 (in progress) or 100 (completed), and priority is Urgent, Important, Medium or Low. The description, checklist and links sit in a task's details. To assign a task, the AI needs the person's user id: yours comes from microsoft_planner_get_me, a colleague's from a task already assigned to them, because the connector cannot look people up by name. Planner checks a version tag on every change; if someone changed the task in the meantime, the AI reads it again and retries.
Common errors: 401 InvalidAuthenticationToken means the authorization was revoked or the client secret expired; paste a new secret if needed and click Authorize with Provider again. 403 means Tasks.ReadWrite is missing or was not consented, you are not a member of the plan's group, a plan limit was reached (for example too many tasks or buckets), or the account is a personal Microsoft account. 404 means the id is wrong or the item was deleted. 409 or 412 means the item changed in the meantime: the AI reads it again and retries. 400 means a value has the wrong shape, for example a bucket from another plan or a date without a time zone. 429 means Microsoft Graph is throttling the account: wait a moment and try again.
The connector does not create or delete plans, read task comments (they live in the group's conversations), upload attachments, open Planner premium plans or look up people in the directory.
Prerequisites: MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID
Install the connector locally
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Open http://localhost:3000/connectors/store, pick Microsoft Planner and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
microsoft_planner_get_me | Get the signed-in user's id, displayName, mail and userPrincipalName |
microsoft_planner_list_my_tasks | List the Planner tasks assigned to the signed-in user, across all plans: id, title, planId, bucketId, percentComplete (0, 50, 100)… |
microsoft_planner_list_my_plans | List the plans shared with the signed-in user: id, title, owner (the group id), container, createdDateTime |
microsoft_planner_list_my_groups | List the groups the signed-in user is a direct member of: id, displayName, groupTypes (Unified for Microsoft 365 groups, which can own… |
microsoft_planner_list_group_plans | List the plans owned by a Microsoft 365 group (a team's plans live in its group): id, title, createdDateTime |
microsoft_planner_get_plan | Get one plan: id, title, owner, container, createdBy, createdDateTime, @odata.etag |
microsoft_planner_get_plan_details | Get a plan's details: categoryDescriptions (the label names behind category1 ... category25) and sharedWith (user ids the plan is shared… |
microsoft_planner_list_buckets | List a plan's buckets (the board columns, e.g. To do, Doing, Done): id, name, planId, orderHint |
microsoft_planner_list_plan_tasks | List all tasks of a plan: id, title, bucketId, percentComplete, priority, dueDateTime, assignments, appliedCategories, @odata.etag |
microsoft_planner_list_bucket_tasks | List the tasks in one bucket, with the same fields as microsoft_planner_list_plan_tasks |
microsoft_planner_get_task | Get one task with its current @odata.etag, which microsoft_planner_update_task needs |
microsoft_planner_get_task_details | Get a task's details: description (the notes), checklist (items keyed by id, each with title and isChecked), references (attached links)… |
microsoft_planner_create_task | Create a task in a plan and bucket, with assignees, dates, priority and labels |
microsoft_planner_update_task | Change a task: only the fields you pass are changed |
microsoft_planner_update_task_details | Change a task's description, checklist or links |
microsoft_planner_create_bucket | Create a bucket (board column) in a plan |
microsoft_planner_delete_task | Delete a task for everyone in the plan |
Example prompts
- "Which Planner tasks are assigned to me, and which of them are overdue?"
- "Show the Marketing team's plan: how many tasks are in each bucket, and which are still open?"
- "Create a task Prepare the trade fair booth in the Doing bucket of the Events plan, assign it to me, priority Important, due 31 October."
- "Add a checklist with Order flyers, Book stand cleaning and Print badges to that task and set it to in progress."
Next steps
Was this guide helpful?