Skip to main content

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

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

Metadata

Release files for microsoft-todo-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for microsoft-todo-mcp-server 0.1.0
File Size Uploaded
microsoft_todo_mcp_server-0.1.0.tar.gz 119.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for microsoft-todo-mcp-server 0.1.0
File Interpreter ABI Platform
microsoft_todo_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 130.2 kB

Release files / microsoft_todo_mcp_server-0.1.0.tar.gz

Download URL microsoft_todo_mcp_server-0.1.0.tar.gz
Size 119.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cc0307083edcec3d83ad1bfd5f97b68a8f9e4f6600ec2ee775271a479b522695
BLAKE2b-256 checksum
How to use checksums
2ac3bdacac1acd3a67a6e457873588e78bd194ccccba458f4fbff8479a2c7a6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Release files / microsoft_todo_mcp_server-0.1.0-py3-none-any.whl

Download URL microsoft_todo_mcp_server-0.1.0-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6050638fea4f64ba1e22336f386471341524e324856dfe8c4cdc6cb21367a97c
BLAKE2b-256 checksum
How to use checksums
f35e07c1f20a63bbc87369b22ecfa02b49444a7621d5ffdaa6279a346a3216ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page