此MCP(模型上下文协议)服务允许您通过AI助手与Microsoft To Do任务进行交互。
安装此工具分为两个部分:
npm install -g @jhirono/todomcp
即使您全局安装了包,也需要克隆仓库以完成身份验证过程:
git clone https://github.com/jhirono/todoMCP.git
cd todoMCP
npm install
http://localhost:3000/callback在根目录中创建一个.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
认证获取令牌(必须从克隆的仓库执行)
npm run auth
这将打开浏览器窗口让您使用Microsoft进行认证,并创建一个tokens.json文件。
创建MCP配置文件(必须从克隆的仓库执行)
npm run create-config
这将创建一个带有您的认证令牌的mcp.json文件。
设置全局MCP配置
# 将mcp.json文件复制到您的全局Cursor配置目录
cp mcp.json ~/.cursor/mcp-servers.json
这使得Microsoft To Do MCP可以在所有Cursor项目中使用。
开始与您的AI助手一起使用
auth status或list up todos等命令来开始使用Claude Desktop配置文件位于:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonauth-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:删除检查项"MailboxNotEnabledForRESTAPI"错误:这通常意味着您正在使用个人Microsoft帐户。Microsoft To Do API访问对于个人帐户通过Graph 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)