mstodo-bridge
This server connects a local MCP client (like Claude) to Microsoft To Do, letting you sign in and manage tasks and folders conversationally.
Authentication:
login(start or finish OAuth with a pasted callback URL),logout,login_statusProvider info:
list_providersshows connected provider status and capabilitiesTask lists:
list_task_lists,create_task_list,delete_task_listTask browsing:
list_tasks(single list or aggregate across all, with pagination and completed filter),get_task,search_tasks(substring across all lists)Task management:
create_task(title, notes, due date, subtask nesting),update_task(partial update, clear due date, mark completed/needsAction),complete_task,delete_taskOrganization:
move_task_between_lists(recreates in target list, deletes original)
Click on "Install 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., "@mstodo-bridgeAdd a task to my To Do list to submit the report by Friday"
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.
mstodo-bridge
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/adminOn 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
Option 1: Inside Claude (recommended)
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 --openOpen the admin console in a browser and sign in with the admin password printed at startup;
On the Microsoft To Do card, click "Connect account"; after completing authorization in the browser, it automatically redirects back;
In remote environments (browser and server are not on the same machine), after authorization it will jump to
localhostand 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 |
|
| 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) |
| — | Disconnect account: removes local tokens and any in-progress sign-in (Microsoft-side authorization must be revoked at account.microsoft.com) |
| — | Whether connected, whether sign-in is in progress, and seconds remaining |
| — | List providers with their connection status and capability declarations |
Lists
Tool | Parameters | Description |
|
| List all lists |
|
| Create a new list |
|
| Delete a list and its tasks (not recoverable) |
Task reading
Tool | Parameters | Description |
|
| List tasks; omit |
|
| Get a single task's details |
|
| Search title and notes by substring across lists |
Task writing
Tool | Parameters | Description |
|
| Create; |
|
| Partial update; |
|
| Mark as complete |
|
| Delete a task |
|
| 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 --httpEnvironment variable / flag | Description |
| Admin console password (auto-generated if missing) |
| Public base URL; determines how the authorization callback is displayed and redirected |
| Outbound proxy (http/https only; for SOCKS, use your proxy software's mixed port) |
| Override the built-in OAuth client ID |
| Credentials directory (default |
| Listening port (default 46377; use |
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 testIssues and PRs are welcome at GitHub.
License
Maintenance
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
- FlicenseBqualityDmaintenanceEnables 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
- FlicenseNot gradedqualityDmaintenanceEnables 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.
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Microsoft To Do tasks via the Graph API, supporting multiple accounts, encrypted auth, and full CRUD operations.182MIT
- FlicenseCqualityDmaintenanceEnables managing todo lists and tasks through natural language, supporting creation, status changes, and deletion.7
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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