MCP for Microsoft To Do
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MS_TENANT | No | Microsoft tenant: 'consumers' for personal accounts (outlook.com, hotmail.com, live.com), 'common' or omitted for work/school accounts. | common |
| MCP_LOCALE | No | Locale for compact-format labels (en, fr, es, de). Defaults to system locale or 'en'. | en |
| MS_CLIENT_ID | No | Azure AD app client ID for developer forks. Not needed when using the official npm package. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_task_listsA | List all the user's To Do lists (Tasks, Inbox, custom lists, etc.). |
| list_tasksA | List the tasks of a To Do list. Supports OData filter, $orderby, $top, and pagination. |
| get_taskC | Fetch a task's detail by ID. |
| create_taskC | Create a new task in a To Do list. Supports recurrence and reminder. |
| update_taskC | Update an existing task (title, status, recurrence, reminder, etc.). |
| complete_taskC | Shortcut to mark a task as completed. |
| delete_taskC | Delete a task permanently. |
| move_taskA | Move a task from one list to another. Recreates the task in the target list (title, body, due, recurrence, reminder, categories preserved) then deletes the original. Note: checklistItems and linkedResources are NOT moved (Graph limitation). The task ID changes. |
| search_tasksA | Search a term in the titles of tasks across ALL lists (case-sensitive). By default excludes completed tasks. |
| summarize_todayA | Summary of tasks due today and overdue, aggregated per list. Useful for the question "what do I have to do today?". |
| list_all_tasksA | Fetch every active task across every list in a single round-trip (uses Graph $batch internally). Use this for the question "what are all my tasks?" instead of N×list_tasks calls. Optional |
| list_checklist_itemsC | List the sub-items (checklist) of a task. |
| create_checklist_itemB | Add a sub-item (checklist) to a task. |
| update_checklist_itemA | Update a sub-item (rename or check/uncheck). |
| delete_checklist_itemC | Delete a sub-item. |
| list_linked_resourcesB | List the linked resources (external URLs, third-party app refs) of a task. |
| create_linked_resourceC | Attach a linked resource (URL or external ref) to a task. |
| delete_linked_resourceC | Delete a linked resource from a task. |
| batch_create_tasksA | Create several tasks in a single HTTP call via Microsoft Graph $batch (up to 100 items, auto-chunked by 20). Returns: status + result OR error per item, in order. More efficient than N create_task calls. |
| batch_complete_tasksA | Mark several tasks as completed in a single $batch HTTP call (up to 100 items). |
| batch_delete_tasksB | Delete several tasks in a single $batch HTTP call (up to 100 items). |
| list_extensionsB | List the open extensions (custom JSON metadata) attached to a task. |
| set_extensionB | Create or update (upsert) an open extension on a task. Lets you attach arbitrary JSON metadata (project_id, external_ref, custom flags...) that persist in Microsoft Graph. |
| delete_extensionA | Delete an open extension from a task. |
| list_overdue_tasksA | List ALL overdue tasks (status ne completed and dueDateTime < today) across every list. Aggregated via Promise.all. |
| list_tasks_by_categoryA | List ALL tasks containing a given category, across every list. OData filter: categories/any(c: c eq '...'). |
| bulk_update_categoriesA | Add/remove categories on several tasks in one operation. 2-phase batch: GET to read existing categories, then PATCH with the updated set. Per-item errors, no global fail. |
| export_tasks_icsA | Export tasks to iCalendar format (text/calendar VTODO) for import into Google Calendar, Apple Calendar, Outlook, Thunderbird, etc. Recurrence converted to RRULE when possible. Reminder converted to VALARM. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MAG-Cie/mcp-microsoft-todo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server