ms-todo-only-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MS365_MCP_CLIENT_ID | No | Microsoft 365 MCP client ID for authentication | 6d381e43-6641-4a91-a452-d9352244d2b2 |
| MS365_MCP_TENANT_ID | No | Microsoft 365 MCP tenant ID (e.g., 'consumers' for personal accounts) | consumers |
| MS_TODO_MCP_BROWSER | No | Browser to open device-code page (set to 'default' to use default browser) | |
| MS365_MCP_EXPECTED_USERNAME | No | Restrict login to specific account (e.g., you@example.com) |
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 |
|---|---|
| loginC | Authenticate with Microsoft account |
| logoutB | Log out from Microsoft account |
| verify-loginA | Check current Microsoft authentication status |
| list-accountsA | List all Microsoft accounts configured in this server. Use this to discover available account emails before making tool calls. Reflects accounts added mid-session via --login. |
| select-accountA | Select a Microsoft account as the default. Accepts email address (e.g. user@outlook.com) or account ID. Use list-accounts to discover available accounts. |
| remove-accountA | Remove a Microsoft account from the cache. Accepts email address (e.g. user@outlook.com) or account ID. Use list-accounts to discover available accounts. |
| list-todo-task-listsA | Get a list of the todoTaskList objects and their properties. π‘ TIP: Lists all To Do task lists. Returns todoTaskList-id needed for all task operations. The default list is typically called 'Tasks'. NOTE: $select is NOT supported by this endpoint β do not pass select parameter, Graph returns 400. |
| list-todo-tasksA | Get the todoTask resources from the tasks navigation property of a specified todoTaskList. π‘ TIP: Lists tasks in a To Do list. Requires todoTaskList-id β use list-todo-task-lists to find it. NOTE: $select is NOT supported β do not pass select, Graph returns 400. Use $filter=status eq 'notStarted' or $filter=status eq 'completed' to filter by status. Use $top to limit results. Status values: 'notStarted', 'inProgress', 'completed', 'waitingOnOthers', 'deferred'. |
| get-todo-taskA | Read the properties and relationships of a todoTask object. π‘ TIP: Returns a single To Do task. NOTE: $select is NOT supported β do not pass select parameter, Graph returns RequestBroker--ParseUri (400). Use $expand=linkedResources to include linked email/resource. Returns body content (HTML format), checklist items, and linked resources. |
| list-todo-linked-resourcesA | Get information of one or more items in a partner application, based on which a specified task was created. The information is represented in a linkedResource object for each item. It includes an external ID for the item in the partner application, and if applicable, a deep link to that item in the application. π‘ TIP: Lists resources linked to a To Do task (emails, URLs, etc.). Each linked resource has displayName, webUrl, applicationName, and externalId. |
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 10 tools
Each tool has a clearly distinct purpose: authentication tools (login, logout, etc.) are separate from task operations (get, list). No overlap between listing accounts, lists, tasks, or linked resources.
All tool names follow a consistent verb-noun pattern with lowercase and hyphens (e.g., get-todo-task, list-accounts, remove-account). Even login/logout are standard verb-only forms.
10 tools is appropriate for a To Do server, covering authentication (5 tools) and read operations (5 tools). Not excessive nor insufficient.
The server is read-only for tasks and lists; missing create, update, delete for tasks and linked resources. This significantly limits functionality for typical task management.