Skip to main content
Glama
microsoft-todo-mcp-server

microsoft-todo-mcp-server

by vexxhost

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_task_lists

List all task lists

create_task_list

Create a new task list

update_task_list

Rename a task list

delete_task_list

Delete a task list

Tasks

Tool

Description

list_tasks

List tasks in a list (optional status filter)

create_task

Create a task with title, body, due date, importance

update_task

Update any task fields

complete_task

Mark a task as completed

delete_task

Delete a task

Checklist Items (Subtasks)

Tool

Description

list_checklist_items

List subtasks of a task

create_checklist_item

Add a subtask

update_checklist_item

Update or check/uncheck a subtask

delete_checklist_item

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:

  1. Your browser opens to Microsoft's login page

  2. Sign in with your Microsoft account (personal or work/school)

  3. Consent to the requested permissions (Tasks.ReadWrite, User.Read)

  4. 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 tools
complete_taskComplete taskB
Idempotent

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 itemB
Destructive

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 taskC
Destructive

Delete a task from a Microsoft To Do task list.

Inputs: list_id (required), task_id (required). Returns: message

delete_task_listDelete task listB
Destructive

Delete a Microsoft To Do task list and all its tasks.

Inputs: list_id (required). Returns: message

list_checklist_itemsList checklist itemsB
Read-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 listsA
Read-onlyIdempotent

List all Microsoft To Do task lists.

Inputs: no named parameters. Returns: task_lists

list_tasksList tasksA
Read-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 itemB
Idempotent

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 taskA
Idempotent

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 listA
Idempotent

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

    A3.7/5.0

    Scored across 13 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    All tools use a consistent 'verb_noun' pattern with underscores (e.g., create_task, list_checklist_items). No mixing of casing or irregular verbs.

    Tool Count5/5

    With 13 tools, the surface is well-scoped for a task management server—covering CRUD for three entities without being excessive or sparse.

    Completeness5/5

    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

    ActivityActive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers