Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
MCP server for Microsoft To Do via Microsoft Graph. MSAL device code flow, no client secret needed.
Pick the AI app you use, then copy the settings.
Passed 2/3 checks · Runs on your computer · ✓ Commands checked Nov 14, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
1 setting(s) to fill in (MS_CLIENT_ID) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MS_CLIENT_ID Application (client) ID from your Azure AD App Registration. See the README for setup instructions.Descriptions are as written by the maker.
SettingsDeveloperEdit Config
{
"mcpServers": {
"microsoft-todo": {
"command": "npx",
"args": [
"-y",
"@mag-cie/mcp-microsoft-todo"
],
"env": {
"MS_CLIENT_ID": "your-value"
}
}
}
}Use MCP Microsoft Todo and tell me what you can do for me, then show me one thing✓ If Claude says it is using MCP Microsoft Todo or shows a MCP Microsoft Todo tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MS_TENANT Microsoft tenant: 'common' (personal + work), 'consumers' (personal only), 'organizations' (work only), or your specific tenant ID. · default commonDescriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect MCP Microsoft Todo yet
MCP Microsoft Todo runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect MCP Microsoft Todo
Works with Claude Code, with some setup first
1 setting(s) to fill in (MS_CLIENT_ID) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MS_CLIENT_ID Application (client) ID from your Azure AD App Registration. See the README for setup instructions.Descriptions are as written by the maker.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user microsoft-todo --env MS_CLIENT_ID=your-value -- npx -y @mag-cie/mcp-microsoft-todoYou should see MCP Microsoft Todo listed as connected
Use MCP Microsoft Todo and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using MCP Microsoft Todo or shows a MCP Microsoft Todo tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MS_TENANT Microsoft tenant: 'common' (personal + work), 'consumers' (personal only), 'organizations' (work only), or your specific tenant ID. · default commonDescriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
1 setting(s) to fill in (MS_CLIENT_ID) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MS_CLIENT_ID Application (client) ID from your Azure AD App Registration. See the README for setup instructions.Descriptions are as written by the maker.
In the MCP Microsoft Todo settings, MS_CLIENT_ID is empty; add your key and save
Use MCP Microsoft Todo and tell me what you can do for me, then show me one thing✓ If Cursor says it is using MCP Microsoft Todo or shows a MCP Microsoft Todo tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MS_TENANT Microsoft tenant: 'common' (personal + work), 'consumers' (personal only), 'organizations' (work only), or your specific tenant ID. · default commonDescriptions are as written by the maker.
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
1 setting(s) to fill in (MS_CLIENT_ID) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MS_CLIENT_ID Application (client) ID from your Azure AD App Registration. See the README for setup instructions.Descriptions are as written by the maker.
In the MCP Microsoft Todo settings, MS_CLIENT_ID is empty; add your key and save
Use MCP Microsoft Todo and tell me what you can do for me, then show me one thing✓ If VS Code says it is using MCP Microsoft Todo or shows a MCP Microsoft Todo tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MS_TENANT Microsoft tenant: 'common' (personal + work), 'consumers' (personal only), 'organizations' (work only), or your specific tenant ID. · default commonDescriptions are as written by the maker.
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user microsoft-todo --env MS_CLIENT_ID=your-value -- npx -y @mag-cie/mcp-microsoft-todoClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"microsoft-todo": {
"command": "npx",
"args": [
"-y",
"@mag-cie/mcp-microsoft-todo"
],
"env": {
"MS_CLIENT_ID": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"microsoft-todo": {
"command": "npx",
"args": [
"-y",
"@mag-cie/mcp-microsoft-todo"
],
"env": {
"MS_CLIENT_ID": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"microsoft-todo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mag-cie/mcp-microsoft-todo"
],
"env": {
"MS_CLIENT_ID": "your-value"
}
}
}
}MS_CLIENT_ID required envMS_TENANT envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The registry name was verified with the GitHub account MAG-Cie, which owns the repo
Code last changed 6 months ago, more than 6 months ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 6 months ago, and the latest version (1.2.2) reached the registry 6 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Puter MCP, XcodeBuildMCP, XcodeBuildMCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
🇫🇷 Version française : README.fr.md
MCP server to drive Microsoft To Do from Claude Code, Claude Desktop, or any MCP-compatible client.
Works with any Microsoft account: personal (outlook.com, hotmail.com, live.com), Office 365 personal or business, Microsoft 365. Zero Azure setup required on the user side — just sign in via device code flow.
This MCP server is open-source and free to use. It's also a showcase of our Création de MCP offering at MAG&Cie — we build custom MCP connectors for businesses that want to plug AI into their internal tools (CRM, ERP, custom APIs, internal databases).
If you'd like the same kind of connector for your tools — drop us a line at www.mag-cie.com/creation-mcp.
No Azure account required, no App Registration to create, nothing to compile.
Install (one command):
claude mcp add --transport stdio microsoft-todo -- npx -y @mag-cie/mcp-microsoft-todo
If you have a personal Microsoft account (outlook.com, hotmail.com, live.com, msn.com, Office 365 personal), add MS_TENANT=consumers:
claude mcp add --transport stdio microsoft-todo --env MS_TENANT=consumers -- npx -y @mag-cie/mcp-microsoft-todo
Verify it's wired up:
claude mcp list
First use — recommended: pre-auth in a terminal first to avoid the "stuck on first MCP call" issue (where the device code is printed to MCP stderr but Claude Code doesn't surface it):
# macOS / Linux
MS_TENANT=consumers npx -y @mag-cie/mcp-microsoft-todo@latest --auth
# Windows PowerShell
$env:MS_TENANT="consumers"; npx -y @mag-cie/mcp-microsoft-todo@latest --auth
You'll see:
To sign in, use a web browser to open the page https://www.microsoft.com/link and enter the code XXXXXXXXX
Visit the URL, enter the code, sign in. The token is cached in ~/.mcp-microsoft-todo/token-cache.json and refreshed automatically — you'll never have to do this again. Now go to Claude Code and any prompt that calls a tool will work instantly.
Skip the pre-auth step if you're feeling lucky — the MCP will trigger the device code flow on first call too. The code goes to the Claude Code MCP log file (look in
%USERPROFILE%\.claude\logs\on Windows or~/.claude/logs/elsewhere).
Update to the latest version:
claude mcp remove microsoft-todo
claude mcp add --transport stdio microsoft-todo -- npx -y @mag-cie/mcp-microsoft-todo@latest
The -y flag of npx auto-accepts the download. Without @latest, npx may serve a stale cached version.
Uninstall:
claude mcp remove microsoft-todo
rm -rf ~/.mcp-microsoft-todo
1. Locate the config file:
| OS | Path |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
On Windows, you can open it directly with:
notepad $env:APPDATA\Claude\claude_desktop_config.json
If the file doesn't exist, create it with an empty JSON object {} then edit.
2. Add the config:
{
"mcpServers": { "microsoft-todo": { "command": "npx", "args": ["-y", "@mag-cie/mcp-microsoft-todo"] } } }
For a personal Microsoft account, add env:
{
"mcpServers": { "microsoft-todo": { "command": "npx", "args": ["-y", "@mag-cie/mcp-microsoft-todo"], "env": { "MS_TENANT": "consumers" } } } }
To localize the compact-format strings (optional, see Localization):
{
"env": { "MS_TENANT": "consumers", "MCP_LOCALE": "fr" } }
3. Restart Claude Desktop COMPLETELY (not just close the window):
4. Verify it's wired up:
In Claude Desktop, look at the 🔌 plug or 🔧 tools icon at the bottom right of the input area — you should see microsoft-todo listed.
5. First auth — recommended pre-auth in a terminal:
# macOS / Linux
MS_TENANT=consumers npx -y @mag-cie/mcp-microsoft-todo@latest --auth
# Windows PowerShell
$env:MS_TENANT="consumers"; npx -y @mag-cie/mcp-microsoft-todo@latest --auth
You'll see the device code immediately in the terminal. Visit the URL, enter the code, sign in. Token cached. Now Claude Desktop will reuse this cache — no need to fish in the logs.
Without --auth, the device code goes to the Claude Desktop MCP log file:
%APPDATA%\Claude\logs\mcp-server-microsoft-todo.log~/Library/Logs/Claude/mcp-server-microsoft-todo.logUpdate: edit the version in args (@mag-cie/mcp-microsoft-todo@latest), restart Claude Desktop. Or let npx do its thing (npx cache ~24h).
Any MCP client that supports the stdio transport works the same way. Generic format:
command: npx
args: -y @mag-cie/mcp-microsoft-todo env: MS_TENANT=consumers (if personal account)
Adapt to the client's config format (often JSON or TOML similar to Claude Desktop).
Once installed, just ask Claude in natural language. Sample prompts that exercise the main tools:
| Prompt | Tool(s) |
|---|---|
| *"Show me all my To Do lists"* | list_task_lists |
| *"What do I have to do today?"* | summarize_today |
| *"Show me my overdue tasks"* | list_overdue_tasks |
| *"List tasks tagged 'work'"* | list_tasks_by_category |
| *"Find any task containing 'invoice'"* | search_tasks |
| *"Add a daily recurring 'Workout' task"* | create_task (with recurrence) |
| *"Mark these 5 tasks as done"* | batch_complete_tasks |
| *"Move 'Buy bread' from Personal to Shopping"* | move_task |
| *"Add a 'recipe' subtask to the cake task"* | create_checklist_item |
| *"Tag all my Magaria tasks as 'urgent'"* | bulk_update_categories |
| *"Export my work tasks as iCalendar"* | export_tasks_ics |
| *"Attach a project_id metadata to this task"* | set_extension |
| Symptom | Solution |
|---|---|
| "This page isn't right" page after sign-in | Add MS_TENANT=consumers (personal accounts only) |
| Browser opens with the wrong Microsoft account | Use an InPrivate/Incognito window for the sign-in |
invalid_scope or Tasks.ReadWrite.Shared error | Purge the token cache and re-auth: rm -rf ~/.mcp-microsoft-todo |
Node.js not found or npx not found | Install Node 20+ from nodejs.org. On Windows, verify it's in PATH (relaunch your terminal after install) |
| Token expired, refresh fails | Purge the cache and re-auth |
| Device code never appears | Verify the server is spawning — Claude Code: claude mcp list; Claude Desktop: tools icon at the bottom. If absent, check the npx PATH in the config |
MS_CLIENT_ID not configured | You're using a dev fork — export MS_CLIENT_ID or use the official npm version |
Safety column legend: read = read-only, write = mutates state (non-idempotent create), update = idempotent mutation (safe to retry), delete = destructive (data loss). See Safety annotations below for details.
| Tool | Safety | Description |
|---|---|---|
list_task_lists | read | All your To Do lists |
list_tasks | read | Tasks of a list (OData filter, $orderby, paginate) |
get_task | read | Detail of a task by ID |
create_task | write | Create a task (title, body, importance, due date, categories, recurrence, reminder) |
update_task | update | Update title, status, due date, recurrence, reminder… |
complete_task | update | Mark as completed |
delete_task | delete | Delete permanently |
move_task | delete | Move a task from one list to another (source task is deleted) |
search_tasks | read | Cross-list search by title |
summarize_today | read | Summary of tasks due today + overdue |
list_all_tasks | read | Every task across every list in one round-trip (uses Graph $batch) |
| Tool | Safety | Description |
|---|---|---|
batch_create_tasks | write | Create up to 100 tasks in a single Graph $batch HTTP call |
batch_complete_tasks | update | Mark up to 100 tasks as completed in one call |
batch_delete_tasks | delete | Delete up to 100 tasks in one call |
| Tool | Safety | Description |
|---|---|---|
list_checklist_items | read | Sub-items of a task |
create_checklist_item | write | Add a sub-item |
update_checklist_item | update | Rename / check / uncheck |
delete_checklist_item | delete | Delete a sub-item |
| Tool | Safety | Description |
|---|---|---|
list_linked_resources | read | List the linked resources of a task |
create_linked_resource | write | Attach a URL or external reference |
delete_linked_resource | delete | Delete a linked resource |
| Tool | Safety | Description |
|---|---|---|
list_extensions | read | List the open extensions of a task |
set_extension | update | Upsert: create or update an extension (project_id, external_ref, etc.) |
delete_extension | delete | Delete an extension |
| Tool | Safety | Description |
|---|---|---|
list_overdue_tasks | read | All overdue tasks, aggregated across all lists |
list_tasks_by_category | read | All tasks with a given category, cross-lists |
bulk_update_categories | update | Add/remove categories on many tasks in 2 batch phases |
| Tool | Safety | Description |
|---|---|---|
export_tasks_ics | read | iCalendar export (VTODO + RRULE + VALARM) for import into Google Cal / Apple Cal / Outlook / Thunderbird |
By default, tools return a compact text format (one line per item) to save LLM tokens. Legend:
[!] high importance, [?] low (nothing if normal)[v] completed, [>] in progress, [w] waiting, [d] deferred (nothing if not started)due:, rem:, rec:, cat:, body: fields shown only when populatedTo get the full Graph JSON, pass verbose: true to any read tool.
Every tool exposed by this server carries the MCP tool annotations defined by the Model Context Protocol spec (2025-06-18):
| Annotation | Meaning |
|---|---|
readOnlyHint | The tool only fetches data; running it has no side effects on Microsoft Graph |
destructiveHint | The tool deletes data or otherwise causes data loss that cannot be undone |
idempotentHint | Running the tool repeatedly with the same arguments yields the same end state (safe to retry) |
openWorldHint | The tool talks to an external system (Microsoft Graph) — always true here |
title | Human-readable display name for MCP clients |
These hints are advisory — the server itself enforces nothing — but MCP clients (Claude Code, Claude Desktop, Cursor, …) can use them to:
readOnlyHint: true calls without prompting (faster UX for read-heavy workflows)