Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Microsoft To Do 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 manage Microsoft To Do: list your task lists and open tasks, create tasks with due dates, reminders and notes, tick them off, and add checklist steps and links. Work or school and personal Microsoft accounts through Microsoft Graph.
Try asking
Example prompts for Microsoft To Do
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 To Do, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Microsoft To Do + Microsoft Copilot
Let your AI manage Microsoft To Do: list your task lists and open tasks, create tasks with due dates, reminders and notes, tick them off, and add checklist steps and links. Work or school and personal Microsoft accounts through Microsoft Graph.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID
Step 1 — Get credentials
-
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: use
common(work, school and personal accounts) orconsumers(personal accounts only).
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 account whose tasks 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_todo_list_lists: it shows your task lists, and the one markeddefaultListis your standard Tasks list.
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.
Personal and work accounts: the connector works with personal Microsoft accounts and with work or school accounts. To Do shares its tasks with Outlook, so tasks the AI creates also show up in Outlook and Teams. A work or school account needs an Exchange Online mailbox: without one, Microsoft has no To Do for it.
Read-only setup: replace the scopes in the connector's OAuth settings with offline_access User.Read Tasks.Read, authorize again and disable the tools that create, change or complete something: microsoft_todo_create_list, microsoft_todo_rename_list, microsoft_todo_create_task, microsoft_todo_update_task, microsoft_todo_complete_task, microsoft_todo_add_checklist_item, microsoft_todo_update_checklist_item and microsoft_todo_add_linked_resource. The Microsoft Planner connector uses the same Tasks.ReadWrite permission.
Changes wait for your yes: before the AI creates, changes or completes a list, task or step, it tells you what it is about to do and waits for your yes.
Switched off at install: microsoft_todo_delete_task and microsoft_todo_delete_list. Deleting a list removes all of its tasks, and the connector cannot undo either, so turn them on only if the AI should really delete.
Lists, dates and steps: when you don't name a list, the AI uses your standard Tasks list; the Flagged email list holds the emails you flagged in Outlook. To answer "what's due this week", the AI lists your open tasks and compares their due dates. To Do keeps only the day of a due date, while a reminder has a time in your time zone. A completed task can be reopened. Each task can carry checklist steps and links to the ticket, document or web page it is about.
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, or the list is shared with you without edit rights; a change on a read-only setup ends here too. 404 means the list or task id is wrong, the item was deleted, or the task moved to another list (its id changes when it moves). 400 means a value has the wrong shape, for example a date without a time zone, or the AI tried to rename a built-in list. 429 means Microsoft Graph is throttling the account: wait a moment and try again.
The connector does not handle file attachments on tasks, set up recurring tasks, share lists with other people or open other users' tasks.
Step 2 — Install the adapter
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
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Microsoft To Dotools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
microsoft_todo_list_lists | List the user's Microsoft To Do task lists: id, displayName, isOwner, isShared and wellknownListName (defaultList is the standard "Tasks"… |
microsoft_todo_create_list | Create a new task list |
microsoft_todo_rename_list | Rename a task list the user made |
microsoft_todo_delete_list | Delete a task list with all its tasks |
microsoft_todo_list_tasks | List the tasks in a list: id, title, status, importance, dueDateTime, reminderDateTime, completedDateTime, categories, body (the note)… |
microsoft_todo_get_task | Get one task with all its fields, including the body (note), recurrence and linked resources |
microsoft_todo_create_task | Create a task in a list with a title and, optionally, a note, due date, reminder, importance, status and categories |
microsoft_todo_update_task | Change a task: only the fields you pass are changed (title, note, due date, reminder, importance, status, categories) |
microsoft_todo_complete_task | Mark a task as completed (status completed; To Do records completedDateTime) |
microsoft_todo_delete_task | Delete a task |
microsoft_todo_list_checklist_items | List a task's checklist items (steps): id, displayName, isChecked, createdDateTime, checkedDateTime |
microsoft_todo_add_checklist_item | Add a step to a task's checklist |
microsoft_todo_update_checklist_item | Tick, untick or rename a checklist step |
microsoft_todo_list_linked_resources | List the links attached to a task (linked resources): id, webUrl, displayName, applicationName, externalId |
microsoft_todo_add_linked_resource | Attach a link to a task, e.g. the ticket, document or web page the task is about |
Example prompts
- "What's due this week on my To Do lists? Show the important tasks first."
- "Add a task Send the Q4 offer to Acme to my Work list, due Friday, with a reminder on Thursday at 9:00."
- "Add the steps Check prices, Write the cover letter and Get approval to that task."
- "Tick off Book flights to Hamburg and attach the hotel booking link to the task Hotel Hamburg."
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?