Skip to main content
Glama

mstodo-bridge

npm license

Manage Microsoft To Do directly in Claude. An MCP server with zero-configuration setup; sign-in happens right in the conversation.

Installation

1. Install into Claude Code

claude mcp add -s user taskbridge -- npx -y mstodo-bridge

-s user applies globally (available in all projects). Restart your Claude Code session after finishing.

2. Or write to an MCP config file

Claude Desktop: edit the config file (Windows %APPDATA%\Claude\claude_desktop_config.json, macOS ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "taskbridge": {
      "command": "npx",
      "args": ["-y", "mstodo-bridge"]
    }
  }
}

Cursor / other MCP clients: add it the same way with npx -y mstodo-bridge as the stdio command. Save and restart the client.

3. Or start a web service

It does not need to be attached to a client; it can also run standalone as a service with an admin console:

npx mstodo-bridge --http        # 管理台 http://127.0.0.1:46377/admin

On first launch it prints an admin password and an MCP Bearer token (shown only once). Other clients can then connect remotely via http://<host>:46377/mcp (Bearer auth); see "Deployment" below for deploying to a server / Hugging Face Spaces.

Related MCP server: Remote MCP Entra ID Todo

Sign-in

After restarting the client, just tell Claude:

Help me connect to Microsoft To Do

Claude will call the login tool and give you an authorization link → open it in a browser → consent with your Microsoft personal account → it automatically reconnects and completes. After that you can operate in natural language:

Show my lists · Add X to "Research & Academics", due Friday · Search tasks containing "paper" · Complete item 3

Option 2: Through the web admin console

npx mstodo-bridge --http --open
  1. Open the admin console in a browser and sign in with the admin password printed at startup;

  2. On the Microsoft To Do card, click "Connect account"; after completing authorization in the browser, it automatically redirects back;

  3. In remote environments (browser and server are not on the same machine), after authorization it will jump to localhost and show an error — this is expected; just paste the full URL from the address bar into the "Complete connection" input box on the card.

Both methods produce exactly the same credentials (~/.mstodo-bridge), so feel free to mix them.

MCP tools (15)

Account & sign-in

Tool

Parameters

Description

login

callbackUrl?

One tool to complete the entire sign-in flow: no argument = start, returns an authorization link and user-facing instructions (including local callback listening); with the user-pasted URL from the address bar = finish the exchange (remote scenario)

logout

Disconnect account: removes local tokens and any in-progress sign-in (Microsoft-side authorization must be revoked at account.microsoft.com)

login_status

Whether connected, whether sign-in is in progress, and seconds remaining

list_providers

List providers with their connection status and capability declarations

Lists

Tool

Parameters

Description

list_task_lists

provider?

List all lists

create_task_list

name, provider?

Create a new list

delete_task_list

listId, provider?

Delete a list and its tasks (not recoverable)

Task reading

Tool

Parameters

Description

list_tasks

listId?, includeCompleted?, cursor?

List tasks; omit listId to aggregate across all lists; cursor paginates

get_task

listId, taskId

Get a single task's details

search_tasks

query, provider?

Search title and notes by substring across lists

Task writing

Tool

Parameters

Description

create_task

title, listId?, notes?, dueDate?, parentTaskId?

Create; dueDate accepts an ISO date or RFC 3339; omit the list to use the default list

update_task

listId, taskId, title?, notes?, dueDate?, status?

Partial update; dueDate: null clears the due date; status is completed / needsAction

complete_task

listId, taskId

Mark as complete

delete_task

listId, taskId

Delete a task

move_task_between_lists

fromListId, taskId, toListId

Move between lists (recreates the item in the target list, then deletes the source task)

Parameters marked with provider? can be omitted in single-account mode.

Deployment

PORT=7860 HOST=0.0.0.0 PUBLIC_BASE_URL=https://<user>-<space>.hf.space npx mstodo-bridge --http

Environment variable / flag

Description

ADMIN_PASSWORD

Admin console password (auto-generated if missing)

PUBLIC_BASE_URL

Public base URL; determines how the authorization callback is displayed and redirected

TASKBRIDGE_PROXY / HTTPS_PROXY

Outbound proxy (http/https only; for SOCKS, use your proxy software's mixed port)

TASKBRIDGE_MS_CLIENT_ID

Override the built-in OAuth client ID

TASKBRIDGE_CONFIG_DIR

Credentials directory (default ~/.mstodo-bridge)

--port / PORT

Listening port (default 46377; use PORT on hosted platforms)

Security

Credentials are kept only locally (~/.mstodo-bridge, permissions 0600); passwords and tokens are stored only as scrypt hashes with constant-time comparison; OAuth uses PKCE plus a one-time state throughout; the admin console has strict CSP and login rate limiting. When a refresh token becomes invalid, it is automatically cleared and you are guided to reconnect.

Development

git clone https://github.com/WNJXYK/MSTodo-Bridge && cd MSTodo-Bridge
npm install && npm run build && npm test

Issues and PRs are welcome at GitHub.

License

MIT

A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables users to manage a persistent todo list through natural language, supporting adding, listing, toggling completion status, and removing todos. Features both stdio and HTTP transports with optional authentication and JSON file storage.
    4
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables comprehensive Microsoft To Do task management through Microsoft Graph API with Entra ID OAuth authentication. Supports creating, updating, and managing todo lists, tasks, reminders, and due dates through natural language.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage Microsoft To Do tasks via the Graph API, supporting multiple accounts, encrypted auth, and full CRUD operations.
    18
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

  • Manage your MakeMeBetter AI tasks, habits, and goals from your AI assistant.

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WNJXYK/MSTodo-Bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server