Token导航 LogoToken导航TokenDH.com
Microsoft Todo MCP Server Self Hosted logo
数据服务未说明官方级别未说明来源级核验

Microsoft Todo MCP Server Self Hosted

MCP Server

一个自托管的Microsoft To Do服务,通过本地SQLite注册表解决Microsoft Graph API对个人账户创建列表的静默忽略问题,支持AI客户端连接和任务管理功能。

工具数

15

提示词数

0

GitHub Stars

3

资源数

0
自托管TypeScriptClaudeSQLiteClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

akkilesh-a

提供方

akkilesh-a

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

微软做MCP——自托管

自托管 模型上下文协议 Microsoft待办事项的服务器。这解决的关键问题是: Microsoft Graph API在个人帐户上静默地省略用户创建的列表 (GET /me/todo/lists 只返回众所周知的列表,如“标记的电子邮件”)。此服务器使用本地SQLite注册表来解决此问题,该注册表跟踪您创建的每个列表,因此您的列表始终显示出来。

在您自己的VPS上运行它,通过HTTPS公开它,并从任何机器连接任何兼容MCP的AI客户端(Claude Code、Cursor、Claude Desktop)。

______________________________________________________________________

此修复的问题

Microsoft的Graph API对个人Microsoft帐户(outlook.com、hotmail.com、live.com、Gmail链接帐户等)有限制:

  • POST /me/todo/lists --工作,创建列表,返回ID✅
  • GET /me/todo/lists --只返回内置列表,如“标记的电子邮件”,默默地删除您创建的所有内容❌

这意味着任何完全依赖API列出的MCP服务器将永远不会显示您的自定义列表。此仓库通过维护本地SQLite数据库来修复它(lists.db)持久化通过服务器创建的每个列表,然后将其与API响应合并,这样就不会丢失任何内容。

______________________________________________________________________

运作原理

Your laptop / any machine
        │
        │  claude mcp add --transport http ...
        ▼
https://todo-mcp.yourdomain.com
        │
        ├── /          → Dashboard (connection status + quick-add commands)
        ├── /auth      → Start Microsoft OAuth
        ├── /callback  → OAuth callback (saves tokens)
        ├── /health    → Health check
        └── /mcp       → MCP endpoint (API key protected)

您可以通过仪表板进行一次身份验证。令牌存储在您的服务器上并自动刷新。您的API密钥保护MCP端点,因此只有您的机器才能使用它。

______________________________________________________________________

特性

  • 修复个人帐户列表限制 --SQLite注册表确保您的所有列表始终可见
  • HTTP传输 --从任何机器连接,而不仅仅是本地主机
  • 仪表盘 --web UI,用于连接您的Microsoft帐户并获取Claude Code、Cursor和Claude Desktop的复制粘贴设置命令
  • API密钥验证 --保护 /mcp 端点
  • 仪表板密码 --仪表板上的HTTP基本身份验证,因此只有您可以访问它
  • 自动令牌刷新 --令牌自动刷新,无需手动干预
  • 15个MCP工具 --全面任务管理:列表、任务、检查表项

______________________________________________________________________

先决条件

  • Node.js 18+
  • 指向域名的服务器或VPS(DigitalOcean、Hetzner等)
  • Microsoft帐户(个人或工作)
  • Azure应用程序注册(见下文)

______________________________________________________________________

Azure应用程序注册

  1. 首选 portal.azure.com应用程序注册新注册
  2. 命名(例如。 todo-mcp)
  3. 支持的帐户类型: 个人Microsoft帐户 (consumers)或 任何账户 (common)
  4. 重定向URI: https://todo-mcp.yourdomain.com/callback (网络)
  5. 创建后,转到 证书和秘密 → 创建客户端机密,复制它
  6. 首选 API权限 → Add → 微软图形→ 委派:

- Tasks.Read, Tasks.ReadWrite, Tasks.Read.Shared, Tasks.ReadWrite.Shared, User.Read

  1. 点击 授予管理员同意
  2. 复制您的 应用程序(客户端)ID 从“概述”页面

______________________________________________________________________

设置

1.克隆并安装

git clone https://github.com/akkilesh-a/microsoft-todo-mcp-server.git
cd microsoft-todo-mcp-server
npm install
npm run build

2.配置环境

cp .env.example .env

编辑 .env:

CLIENT_ID=your_azure_app_client_id
CLIENT_SECRET=your_azure_app_client_secret
TENANT_ID=consumers
PORT=3001
PUBLIC_URL=https://todo-mcp.yourdomain.com
REDIRECT_URI=https://todo-mcp.yourdomain.com/callback
MCP_API_KEY=your_secret_api_key        # openssl rand -hex 32
DASHBOARD_USERNAME=admin               # username for dashboard login
DASHBOARD_PASSWORD=your_dashboard_pass  # set this — protects /auth

3.运行服务器

node dist/todo-index.js

4.身份验证

打开 https://todo-mcp.yourdomain.com 在浏览器中,输入仪表板密码,然后单击 连接Microsoft帐户OAuth完成后,令牌将保存在服务器上。

5.连接您的AI客户端

仪表板显示准备复制命令。或手动:

克劳德代码:

claude mcp add --transport http mstodo https://todo-mcp.yourdomain.com/mcp \
  --header "Authorization: Bearer your_api_key"

光标 --添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mstodo": {
      "url": "https://todo-mcp.yourdomain.com/mcp",
      "headers": { "Authorization": "Bearer your_api_key" }
    }
  }
}

克劳德桌面版 --添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "mstodo": {
      "url": "https://todo-mcp.yourdomain.com/mcp",
      "headers": { "Authorization": "Bearer your_api_key" }
    }
  }
}

______________________________________________________________________

安全

保护
/mcpMCP_API_KEY --每个MCP请求都需要
仪表板 /, /auth, /callbackDASHBOARD_USERNAME + DASHBOARD_PASSWORD --HTTP基本身份验证

始终设置 DASHBOARD_PASSWORD没有它,任何知道你的URL的人都可以访问仪表板并触发覆盖你的令牌的OAuth流。 DASHBOARD_USERNAME 默认为 admin.

______________________________________________________________________

MCP工具

任务列表

工具说明
get-task-lists列出所有任务列表(API+本地SQLite注册表)
create-task-list创建新列表
update-task-list重命名列表
delete-task-list删除列表及其所有任务

任务

工具说明
get-tasks通过过滤、排序和分页来获取任务
create-task创建任务(标题、正文、截止日期、重要性)
update-task更新任何任务属性
delete-task删除任务

检查表项目

工具说明
get-checklist-items获取任务的子任务
create-checklist-item添加子任务
update-checklist-item更新子任务文本或完成
delete-checklist-item删除子任务

其他

工具说明
auth-status检查令牌状态和到期时间
archive-completed-tasks将所有已完成的任务归档到列表中
get-task-lists-organized列表的分组/分类视图

______________________________________________________________________

许可证

麻省理工学院——见 许可证

目录标签

目录标签

自托管TypeScriptClaudeSQLite本地部署任务管理MicrosoftToDoAI集成

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP