microsoft-todo-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@microsoft-todo-mcp-server show my task lists"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
microsoft-todo-mcp-server
MCP server for Microsoft To Do — manage task lists, tasks, and checklist items via the Microsoft Graph API.
Features
13 MCP tools for full CRUD on task lists, tasks, and checklist items
Zero-config authentication — uses a well-known Microsoft client ID, no app registration needed
Interactive browser login — opens your browser on first run, then caches credentials
Launch with uvx — no installation required
Related MCP server: MCP for Microsoft To Do
Quick Start
Claude Desktop / Copilot / any MCP client
Add to your MCP client configuration:
{
"mcpServers": {
"microsoft-todo": {
"command": "uvx",
"args": ["microsoft-todo-mcp-server"]
}
}
}On first launch, your browser will open for Microsoft sign-in. After that, credentials are cached and sign-in is automatic.
Optional: Specify a tenant
If your organization requires a specific Azure AD tenant (e.g., due to conditional access policies), set the AZURE_TENANT_ID environment variable:
{
"mcpServers": {
"microsoft-todo": {
"command": "uvx",
"args": ["microsoft-todo-mcp-server"],
"env": {
"AZURE_TENANT_ID": "your-tenant-id"
}
}
}
}By default, the server uses the common tenant which works with any Microsoft account (personal or work/school).
Available Tools
Task Lists
Tool | Description |
| List all task lists |
| Create a new task list |
| Rename a task list |
| Delete a task list |
Tasks
Tool | Description |
| List tasks in a list (optional status filter) |
| Create a task with title, body, due date, importance |
| Update any task fields |
| Mark a task as completed |
| Delete a task |
Checklist Items (Subtasks)
Tool | Description |
| List subtasks of a task |
| Add a subtask |
| Update or check/uncheck a subtask |
| Delete a subtask |
Authentication
This server uses Microsoft's well-known "Graph Command Line Tools" client ID for authentication. No Azure AD app registration is required.
On first run:
Your browser opens to Microsoft's login page
Sign in with your Microsoft account (personal or work/school)
Consent to the requested permissions (Tasks.ReadWrite, User.Read)
Credentials are cached locally for future use
Token cache is stored in your platform's config directory (e.g., ~/.config/microsoft-todo-mcp-server/ on Linux).
Development
# Clone the repository
git clone https://github.com/vexxhost/microsoft-todo-mcp-server.git
cd microsoft-todo-mcp-server
# Install dependencies
uv sync
# Run the server locally
uv run microsoft-todo-mcp-server
# Lint
uv run ruff check src/License
Apache-2.0
Available Tools
13 toolscomplete_taskComplete taskBIdempotent
Mark a Microsoft To Do task as completed.
Inputs: list_id (required), task_id (required). Returns: id, title, status, due_date, +5 more
create_checklist_itemCreate checklist itemC
Add a checklist item (subtask) to a Microsoft To Do task.
Inputs: list_id (required), task_id (required), display_name (required). Returns: id, is_checked, display_name
create_taskCreate taskA
Create a new task in a Microsoft To Do task list. due_date should be YYYY-MM-DD format. importance can be: low, normal, high.
Inputs: title (required), list_id (required), body, due_date, +1 more. Returns: id, title, status, due_date, +5 more
create_task_listCreate task listB
Create a new Microsoft To Do task list.
Inputs: display_name (required). Returns: id, display_name
delete_checklist_itemDelete checklist itemBDestructive
Delete a checklist item (subtask) from a Microsoft To Do task.
Inputs: list_id (required), task_id (required), checklist_item_id (required). Returns: message
delete_taskDelete taskCDestructive
Delete a task from a Microsoft To Do task list.
Inputs: list_id (required), task_id (required). Returns: message
delete_task_listDelete task listBDestructive
Delete a Microsoft To Do task list and all its tasks.
Inputs: list_id (required). Returns: message
list_checklist_itemsList checklist itemsBRead-onlyIdempotent
List checklist items (subtasks) of a Microsoft To Do task.
Inputs: list_id (required), task_id (required). Returns: checklist_items
list_task_listsList task listsARead-onlyIdempotent
List all Microsoft To Do task lists.
Inputs: no named parameters. Returns: task_lists
list_tasksList tasksARead-onlyIdempotent
List tasks in a Microsoft To Do task list with pagination and filtering support.
Inputs: list_id (required), top, skip, filter, +1 more. Returns: count, tasks, next_link
update_checklist_itemUpdate checklist itemBIdempotent
Update a checklist item (subtask) of a Microsoft To Do task. Use is_checked to check/uncheck.
Inputs: list_id (required), task_id (required), checklist_item_id (required), is_checked, +1 more. Returns: id, is_checked, display_name
update_taskUpdate taskAIdempotent
Update a task in a Microsoft To Do task list. Only provided fields are updated.
Inputs: list_id (required), task_id (required), body, title, +3 more. Returns: id, title, status, due_date, +5 more
update_task_listUpdate task listAIdempotent
Update the display name of a Microsoft To Do task list.
Inputs: list_id (required), display_name (required). Returns: id, display_name
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Each tool targets a specific entity (task list, task, checklist item) with distinct actions. There is no overlap; even 'complete_task' is a clear shorthand for updating the completion status.
All tools use a consistent 'verb_noun' pattern with underscores (e.g., create_task, list_checklist_items). No mixing of casing or irregular verbs.
With 13 tools, the surface is well-scoped for a task management server—covering CRUD for three entities without being excessive or sparse.
The tool set covers creation, retrieval, updating, and deletion for all three entities (task lists, tasks, checklist items), including specialized actions like completing a task and toggling checklist items.
Maintenance
Related MCP Connectors
Official Todoist MCP server. Manage tasks and projects. Hosted, no API key needed.
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Create, list, and complete todo items through MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP Server to create and manage tasks, projects, labels and more in Todoist, using their unified v1 API729 npm7GPL 3.0
- AlicenseBqualityCmaintenanceMCP server for Microsoft To Do via Microsoft Graph. MSAL device code flow, no client secret needed.28168 npm20MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server to read and manage your Microsoft To Do tasks through the Microsoft Graph To Do API.1MIT
- AlicenseBqualityDmaintenanceA local MCP server that lets Codex and other MCP clients manage Microsoft To Do tasks through Microsoft Graph, supporting listing, creating, updating, and completing tasks.5MIT