微软待办MCP

@jhirono/todoMCP
0 Stars 461 次浏览 jhirono 更新于 2026-08-23

为克劳德提供的一项模型上下文协议服务,能够与微软待办事项任务进行自然语言交互,包括查看任务列表、创建任务和管理清单项目。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Microsoft To Do MCP

此MCP(模型上下文协议)服务允许您通过AI助手与Microsoft To Do任务进行交互。

设置说明

1. 先决条件

  • Node.js 16或更高版本
  • npm
  • 一个Microsoft账户
  • Azure应用注册(请参阅以下设置)

2. 安装

安装此工具分为两部分:

  1. 安装软件包
  2. 设置身份验证(需要克隆仓库)

步骤1:安装软件包

npm install -g @jhirono/todomcp

步骤2:设置身份验证

即使您全局安装了该软件包,也需要克隆仓库以完成身份验证过程:

git clone https://github.com/jhirono/todoMCP.git
cd todoMCP
npm install

3. Azure 应用注册

  1. 前往 Azure门户
  2. 导航到“应用注册”并创建一个新的注册
  3. 为您的应用程序命名(例如,“To Do MCP”)
  4. 对于“支持的帐户类型”,根据您的需求选择以下之一:
    • 仅此组织目录中的帐户(单租户) - 用于单个组织内
    • 任何组织目录中的帐户(任何Azure AD目录 - 多租户) - 用于跨多个组织
    • 任何组织目录和个人Microsoft帐户 - 既可用于工作帐户也可用于个人帐户
  5. 将重定向URI设置为 http://localhost:3000/callback
  6. 创建应用后,转到“证书和密钥”并创建一个新的客户端密钥
  7. 转到“API权限”并添加以下权限:
    • Microsoft Graph > 委派权限:
      • Tasks.Read
      • Tasks.ReadWrite
      • User.Read
  8. 为这些权限点击“授予管理员同意”

4. 配置

在根目录下创建一个.env文件,并包含以下信息:

CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret
TENANT_ID=your_tenant_setting
REDIRECT_URI=http://localhost:3000/callback

TENANT_ID选项:

  • organizations - 用于多租户组织帐户(未指定时默认值)
  • consumers - 仅用于个人Microsoft帐户
  • common - 用于组织和个人帐户
  • your-specific-tenant-id - 用于单租户配置

示例:

# For multi-tenant organizational accounts (default)
TENANT_ID=organizations

# For personal Microsoft accounts
TENANT_ID=consumers

# For both organizational and personal accounts
TENANT_ID=common

# For a specific organization tenant
TENANT_ID=00000000-0000-0000-0000-000000000000

使用

完整工作流程

  1. 认证以获取令牌(必须从克隆的仓库中执行)

    npm run auth
    

    这将打开浏览器窗口供您使用Microsoft进行认证,并创建一个tokens.json文件。

  2. 创建MCP配置文件(必须从克隆的仓库中执行)

    npm run create-config
    

    这将使用您的认证令牌创建一个mcp.json文件。

  3. 设置全局MCP配置

    # 将mcp.json文件复制到您的全局Cursor配置目录
    cp mcp.json ~/.cursor/mcp-servers.json
    

    这样就可以在所有Cursor项目中使用Microsoft To Do MCP。

  4. 开始与您的AI助手一起使用

    • 在Cursor中,您现在可以在任何项目中直接使用Microsoft To Do命令
    • 尝试使用auth statuslist up todos等命令开始使用

Claude 桌面配置文件位于:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

可用工具

  • auth-status: 检查您的认证状态
  • get-task-lists: 获取所有待办事项列表
  • 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: 删除一个检查项

限制

  • API 需要适当的认证和权限
  • 根据 Microsoft 的政策,可能会有速率限制

故障排除

认证问题

  • "MailboxNotEnabledForRESTAPI" 错误: 这通常意味着您正在使用个人 Microsoft 账户。通过 Graph API 对于个人账户访问 Microsoft To Do API 是有限制的。

  • 令牌获取失败: 确保您的 .env 文件中的 CLIENT_ID, CLIENT_SECRET, 和 TENANT_ID 是正确的。

  • 权限问题: 确保您已在 Azure 应用注册中为所需权限授予了管理员同意。

账户类型问题

  • 工作/学校账户: 这些账户通常与 To Do API 最兼容。使用 TENANT_ID=organizations 或者您的特定租户 ID。

  • 个人账户: 这些账户对 To Do API 的访问是有限制的。如果您必须使用个人账户,请尝试 TENANT_ID=consumers 或者 TENANT_ID=common

检查认证状态

您可以使用 auth-status 工具或通过检查令牌中的过期时间来查看您的认证状态:

cat tokens.json | grep expiresAt

将时间戳转换为可读日期:

date -r $(echo "$(cat tokens.json | grep expiresAt | cut -d ":" -f2 | cut -d "," -f1) / 1000" | bc)

相关 MCP 服务