返回市场
待办事项MCP

待办事项MCP

作者:jhirono19 星标更新:2025-04-01

项目介绍

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 - 用于单租户配置

示例:

# 用于多租户组织帐户(默认)
TENANT_ID=organizations

# 用于个人Microsoft帐户
TENANT_ID=consumers

# 用于组织和个人帐户
TENANT_ID=common

# 用于特定组织租户
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
    

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

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

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

Claude Desktop配置文件位于:

  • 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:获取所有To Do任务列表
  • 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帐户。Microsoft To Do API访问对于个人帐户通过Graph API是有限制的。

  • 令牌获取失败:确保您的.env文件中的CLIENT_IDCLIENT_SECRETTENANT_ID正确无误。

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

帐户类型问题

  • 工作/学校帐户:这些通常与To Do API配合得最好。使用TENANT_ID=organizations或您的特定租户ID。

  • 个人帐户:这些对To Do API的访问受限。如果您必须使用个人帐户,请尝试TENANT_ID=consumersTENANT_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)