微软待办MCP
为克劳德提供的一项模型上下文协议服务,能够与微软待办事项任务进行自然语言交互,包括查看任务列表、创建任务和管理清单项目。
服务介绍
Microsoft To Do MCP
此MCP(模型上下文协议)服务允许您通过AI助手与Microsoft To Do任务进行交互。
设置说明
1. 先决条件
- Node.js 16或更高版本
- npm
- 一个Microsoft账户
- Azure应用注册(请参阅以下设置)
2. 安装
安装此工具分为两部分:
- 安装软件包
- 设置身份验证(需要克隆仓库)
步骤1:安装软件包
npm install -g @jhirono/todomcp
步骤2:设置身份验证
即使您全局安装了该软件包,也需要克隆仓库以完成身份验证过程:
git clone https://github.com/jhirono/todoMCP.git
cd todoMCP
npm install
3. Azure 应用注册
- 前往 Azure门户
- 导航到“应用注册”并创建一个新的注册
- 为您的应用程序命名(例如,“To Do MCP”)
- 对于“支持的帐户类型”,根据您的需求选择以下之一:
- 仅此组织目录中的帐户(单租户) - 用于单个组织内
- 任何组织目录中的帐户(任何Azure AD目录 - 多租户) - 用于跨多个组织
- 任何组织目录和个人Microsoft帐户 - 既可用于工作帐户也可用于个人帐户
- 将重定向URI设置为
http://localhost:3000/callback - 创建应用后,转到“证书和密钥”并创建一个新的客户端密钥
- 转到“API权限”并添加以下权限:
- Microsoft Graph > 委派权限:
- Tasks.Read
- Tasks.ReadWrite
- User.Read
- Microsoft Graph > 委派权限:
- 为这些权限点击“授予管理员同意”
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
使用
完整工作流程
-
认证以获取令牌(必须从克隆的仓库中执行)
npm run auth这将打开浏览器窗口供您使用Microsoft进行认证,并创建一个
tokens.json文件。 -
创建MCP配置文件(必须从克隆的仓库中执行)
npm run create-config这将使用您的认证令牌创建一个
mcp.json文件。 -
设置全局MCP配置
# 将mcp.json文件复制到您的全局Cursor配置目录 cp mcp.json ~/.cursor/mcp-servers.json这样就可以在所有Cursor项目中使用Microsoft To Do MCP。
-
开始与您的AI助手一起使用
- 在Cursor中,您现在可以在任何项目中直接使用Microsoft To Do命令
- 尝试使用
auth status或list 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)