Microsoft To Do MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TODO_TENANT | No | Tenant for authentication. Defaults to consumers for personal accounts; use organizations or common for work/school accounts. | consumers |
| TODO_LOCAL_DB | No | Manually specify the path to the local To Do cache database todosqlite.db. | |
| TODO_READONLY | No | Set to 1 to expose only query tools, preventing the AI from modifying data. | |
| TODO_TIMEZONE | No | Timezone used for due dates and reminders. Defaults to the system timezone. | |
| TODO_CLIENT_ID | No | Client ID of a custom Azure application. | |
| TODO_NO_DELETE | No | Set to 1 to disable the delete_task and delete_step tools. | |
| TODO_TIMEOUT_MS | No | Timeout for a single request in milliseconds. Defaults to 15000. | 15000 |
| TODO_DEDUP_SECONDS | No | Time window in seconds for preventing duplicate creation requests. Defaults to 60 seconds. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth_statusA | 查看 Microsoft To Do 的登录状态和当前账号 |
| loginA | 用设备码方式登录 Microsoft 账号。返回一个网址和验证码,需要把它们原样告诉用户,让用户在浏览器中完成登录;登录完成后再调用其他工具。 |
| list_listsC | 列出所有 To Do 列表 |
| create_listC | 新建一个 To Do 列表 |
| list_tasksC | 列出某个列表中的任务 |
| search_tasksA | 按关键字在所有列表(或指定列表)中搜索任务 |
| get_my_dayA | 读取 To Do 桌面应用中“我的一天”的任务(从本机缓存只读读取,Graph API 不提供此数据)。标注“未同步”的任务只存在于本机,暂时无法通过其他工具修改。 |
| get_today_tasksA | 列出所有列表中截止日期为今天(或已逾期)的未完成任务 |
| add_taskC | 新建一个任务 |
| add_today_taskA | 快捷新增“今天的任务”:截止日期设为今天,会出现在“计划内”,并作为“我的一天”的建议。可一次添加多个。(Graph API 无法直接加入“我的一天”列表) |
| add_stepB | 给任务添加一个子步骤(checklist) |
| list_stepsB | 查看任务的所有子步骤及其勾选状态 |
| update_stepB | 勾选/取消勾选子步骤,或修改步骤文字。checked=true 勾选,false 取消勾选 |
| delete_stepA | 删除任务的某个子步骤(不可恢复)。只有在用户明确要求删除时才调用。 |
| complete_taskB | 把任务标记为已完成(勾选) |
| uncomplete_taskB | 取消任务的完成状态(取消勾选) |
| update_taskB | 修改任务:标题、截止日期、重要性、备注、提醒。clear_due=true 可清除截止日期 |
| delete_taskA | 永久删除任务(不可恢复)。只有在用户明确要求删除时才调用。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools target distinct resources or actions, but the 'today' tools (get_today_tasks, get_my_day, add_today_task) and add_task vs add_today_task can be confused. Descriptions clarify the differences, so misselection is limited.
Nearly all tools use snake_case with a verb_noun pattern (list_tasks, add_step, update_task), which is predictable. Minor deviations like auth_status (noun_noun) and login (bare verb) are readable but not perfectly consistent.
18 tools is on the heavy side for a To Do client; several granular step tools and separate complete/uncomplete could be consolidated. The count is borderline but not excessive for the domain's sub-resources.
Task and step lifecycles are well covered, but list lifecycle is incomplete: create_list and list_lists exist with no update_list or delete_list. There is also no get_task for single-task detail retrieval, leaving notable gaps.