mstodo
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MSTODO_AUTHORITY | No | Optional authority for your custom Azure app. | |
| MSTODO_CLIENT_ID | No | Your own Azure app client ID. Required only if you want to use your own Azure app instead of the built-in first-party client ID. |
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 |
|---|---|
| todo_loginA | Sign in to the user's Microsoft To Do account (device-code flow), or report current sign-in status. Call this whenever another To Do tool returns error 'not_signed_in'. Returns a sign-in URL and code to relay to the user; it does not block waiting for them. |
| todo_get_listsA | List all of the user's Microsoft To Do lists, organized by their group/folder. Use when the user asks what lists they have, or to disambiguate a list name. Also refreshes the group mapping and reports any renamed or deleted lists. |
| todo_get_tasksA | Fetch tasks from a Microsoft To Do list by name, optionally scoped to a group/folder (e.g. 'the Backlog list from Work'). Returns titles, status, due dates, notes and checklist subtasks. Defaults to open (not completed) tasks only. |
| todo_create_taskB | Create a new task in a Microsoft To Do list, optionally with notes, a due date, importance, and checklist subtasks. |
| todo_complete_tasksA | Mark one or more Microsoft To Do tasks as completed. Batch-friendly: pass every finished task id at once. Use the list_id and task ids returned by todo_get_tasks. |
| todo_update_taskC | Update a Microsoft To Do task: change its title, due date, importance, or status. To reopen a completed task set status to 'notStarted'. To clear the due date pass due_date as null. |
| todo_add_noteA | Append a timestamped note to a Microsoft To Do task's notes/body WITHOUT erasing existing content. Use to record explanations, decisions, or what was done on a task. |
| todo_checklistA | Add, check off, or uncheck checklist subtasks on a Microsoft To Do task. Provide at least one of add / check / uncheck. |
| todo_set_groupsA | Assign Microsoft To Do lists to named groups/folders that mirror how the user organizes them in the To Do app, so lists can later be found by group. Also used to move a list to a different group (set group) or clear it (set group to null). Each assignment's 'list' may be a list name or a listId. |
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 9 tools
Each tool has a clear, distinct purpose covering authentication, listing, CRUD on tasks, notes, and subtasks. There is a slight overlap between update_task and add_note for modifying task content, but the tools are well-described to avoid confusion.
All tool names follow a consistent verb_noun pattern (todo_login, todo_get_lists, todo_create_task, etc.), making it easy for an agent to predict tool existence and purpose. The prefix 'todo_' is uniformly applied.
9 tools is a reasonable number for a to-do management server, covering core operations without being overwhelming. It's slightly on the higher side for a focused domain but each tool addresses a distinct need.
The tool surface covers login, list management, CRUD on tasks, notes, and subtasks well. Missing operations like deleting a task or list are minor gaps that an agent can work around with existing tools (e.g., update to mark completion).