{"name":"io.github.MAG-Cie/mcp-microsoft-todo","slug":"mag-cie-mcp-microsoft-todo","title":null,"description":"MCP server for Microsoft To Do via Microsoft Graph. MSAL device code flow, no client secret needed.","url":"https://mcp.market/server/mag-cie-mcp-microsoft-todo","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"productivity","tags":["productivity","security"],"presence":{"score":28,"stars":12,"forks":2,"downloads_week":166,"last_push_at":"2026-05-11T20:26:18.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/MAG-Cie/mcp-microsoft-todo","website":null,"version":"1.2.2","remotes":[],"packages":[{"registryType":"npm","identifier":"@mag-cie/mcp-microsoft-todo","version":"1.2.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Application (client) ID from your Azure AD App Registration. See the README for setup instructions.","isRequired":true,"format":"string","name":"MS_CLIENT_ID"},{"description":"Microsoft tenant: 'common' (personal + work), 'consumers' (personal only), 'organizations' (work only), or your specific tenant ID.","format":"string","default":"common","name":"MS_TENANT"}]}],"tools":[{"name":"batch_complete_tasks","description":"Mark several tasks as completed in a single $batch HTTP call (up to 100 items).","write_action":false,"price_micros":0,"input_schema":null},{"name":"batch_create_tasks","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"batch_delete_tasks","description":"Delete several tasks in a single $batch HTTP call (up to 100 items).","write_action":true,"price_micros":0,"input_schema":null},{"name":"bulk_update_categories","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"complete_task","description":"Shortcut to mark a task as completed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_checklist_item","description":"Add a sub-item (checklist) to a task.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_linked_resource","description":"Attach a linked resource (URL or external ref) to a task.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_task","description":"Create a new task in a To Do list. Supports recurrence and reminder.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_checklist_item","description":"Delete a sub-item.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_extension","description":"Delete an open extension from a task.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_linked_resource","description":"Delete a linked resource from a task.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_task","description":"Delete a task permanently.","write_action":true,"price_micros":0,"input_schema":null},{"name":"export_tasks_ics","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_task","description":"Fetch a task's detail by ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_all_tasks","description":"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 `filter` is an OData filter applied per list (e.g. \"importance eq 'high'\"). By default `status ne 'completed'` is appended unless `include_completed` is true.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_checklist_items","description":"List the sub-items (checklist) of a task.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_extensions","description":"List the open extensions (custom JSON metadata) attached to a task.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_linked_resources","description":"List the linked resources (external URLs, third-party app refs) of a task.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_overdue_tasks","description":"List ALL overdue tasks (status ne completed and dueDateTime < today) across every list. Aggregated via Promise.all.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_task_lists","description":"List all the user's To Do lists (Tasks, Inbox, custom lists, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_tasks","description":"List the tasks of a To Do list. Supports OData filter, $orderby, $top, and pagination.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_tasks_by_category","description":"List ALL tasks containing a given category, across every list. OData filter: categories/any(c: c eq '...').","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_task","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_tasks","description":"Search a term in the titles of tasks across ALL lists (case-sensitive). By default excludes completed tasks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_extension","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"summarize_today","description":"Summary of tasks due today and overdue, aggregated per list. Useful for the question \"what do I have to do today?\".","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_checklist_item","description":"Update a sub-item (rename or check/uncheck).","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_task","description":"Update an existing task (title, status, recurrence, reminder, etc.).","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-27T21:48:20.406Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:48:20.407Z","components":{"code":{"score":25,"max":25,"notes":["11 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":8,"max":15,"notes":["last push 139 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@mag-cie/mcp-microsoft-todo","version":"1.2.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-05-05T10:25:22.093Z","repositoryUrl":"git+https://github.com/mag-cie/mcp-microsoft-todo.git","weeklyDownloads":166}],"repo":{"found":true,"owner":"MAG-Cie","repo":"mcp-microsoft-todo","archived":false,"pushedAt":"2026-05-11T20:26:18Z","stars":12,"forks":2,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/192002796?v=4","ownerCreatedAt":"2024-12-17T15:20:51Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/192002796?v=4&s=128","source":"github"},"presence":{"stars":12,"forks":2,"downloadsWeek":166,"license":"MIT","lastPushAt":"2026-05-11T20:26:18.000Z","score":28}}}},"grade_history":[],"reviews":[]}