Skip to main content

MCP server for Microsoft To Do — manage task lists, tasks, and checklist items via Graph API

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

microsoft_todo_mcp_server-0.1.0.tar.gz (119.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

microsoft_todo_mcp_server-0.1.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file microsoft_todo_mcp_server-0.1.0.tar.gz.

File metadata

File hashes

Hashes for microsoft_todo_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cc0307083edcec3d83ad1bfd5f97b68a8f9e4f6600ec2ee775271a479b522695
MD5 f26872074bc4888a474deb60e1c7a721
BLAKE2b-256 2ac3bdacac1acd3a67a6e457873588e78bd194ccccba458f4fbff8479a2c7a6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for microsoft_todo_mcp_server-0.1.0.tar.gz:

Publisher: release.yml on vexxhost/microsoft-todo-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file microsoft_todo_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for microsoft_todo_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6050638fea4f64ba1e22336f386471341524e324856dfe8c4cdc6cb21367a97c
MD5 2f19b20a4fba754d7a202a72e42b3702
BLAKE2b-256 f35e07c1f20a63bbc87369b22ecfa02b49444a7621d5ffdaa6279a346a3216ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for microsoft_todo_mcp_server-0.1.0-py3-none-any.whl:

Publisher: release.yml on vexxhost/microsoft-todo-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page