任务管理服务

通过AI助手与Microsoft To Do任务交互的服务,支持任务列表的创建、更新、删除等操作。

  • by jhirono
  • TypeScript
  • 本地部署
  • 23 星标
  • 更新于
在 GitHub 查看 jhirono/todoMCP

使用说明

微软做MCP

此MCP(模型上下文协议)服务允许您使用AI助手与Microsoft待办事项进行交互。

安装说明

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. 命名您的应用程序(例如,“待办事项MCP”)
  4. 对于“支持的帐户类型”,请根据您的需求选择以下选项之一:
    • 仅此组织目录中的帐户(单租户) -用于单个组织内
    • 任何组织目录中的帐户(任何Azure AD目录-多租户) -适用于多个组织
    • 任何组织目录中的帐户和个人Microsoft帐户 -适用于工作账户和个人账户
  5. 将重定向URI设置为 http://localhost:3000/callback
  6. 创建应用程序后,转到“证书和机密”并创建新的客户端机密
  7. 转到“API权限”并添加以下权限:
    • Microsoft Graph>委派权限:
      • 任务。阅读
      • 任务。读写
      • 用户。阅读
  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配置

    # Copy the mcp.json file to your global Cursor configuration directory
    cp mcp.json ~/.cursor/mcp-servers.json
    

    这使得Microsoft待办事项MCP在所有Cursor项目中都可用。

  4. 开始使用您的AI助手

    • 在Cursor中,您现在可以在任何项目中直接使用Microsoft待办事项命令
    • 尝试以下命令 auth status 或 list up todos 开始吧

Claude Desktop配置文件位于:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %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帐户。Microsoft To Do API访问受限于通过Graph API访问个人帐户。

  • 令牌获取失败:确保你的 CLIENT_ID, CLIENT_SECRET,以及 TENANT_ID 在你的 .env 文件。

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

帐户类型问题

  • 工作/学校账户:这些通常与待办事项API配合使用效果最佳。使用 TENANT_ID=organizations 或您的特定租户ID。

  • 个人账户:这些对待办事项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)