mcpField
M
microsoft-todo

microsoft-todo

github.com/acedatacloud生产力17179 次安装今天更新
代码仓库

关于 microsoft-todo

通过 curl 和 jq 使用 Microsoft Graph 管理 Microsoft To Do 的命令行技能,涵盖任务列表与任务操作,并说明身份验证、权限和分页。

主要功能

  1. 01列出任务列表
  2. 02获取未完成任务
  3. 03创建任务
  4. 04设置可选截止日期和提醒
  5. 05跟进分页结果

适用场景

  1. 01查找用户的任务列表
  2. 02查看列表中的未完成任务
  3. 03添加带截止日期的任务
  4. 04跨分页获取全部任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/acedatacloud/skills --skill microsoft-todo

安装后在 Claude Code 中输入/microsoft-todo确认已加载。

详细介绍

通过 curl + jq 使用 Microsoft Graph 操作 Microsoft To Do。用户的 OAuth 持有者令牌位于 $MICROSOFT_TODO_TOKEN;每次调用都需要 Authorization: Bearer $MICROSOFT_TODO_TOKEN。基础 URL: https://graph.microsoft.com/v1.0。

失败时会返回 {"error":{"code","message"}}——原样显示 message。401 表示令牌已过期(重新安装)。写入时出现 403/ErrorAccessDenied 表示 用户只授予了 Tasks.Read → 请他们重新连接并授予读写权限。

G="https://graph.microsoft.com/v1.0"; AUTH="Authorization: Bearer $MICROSOFT_TODO_TOKEN"
# Task lists
curl -sS -H "$AUTH" "$G/me/todo/lists" | jq '.value[] | {id, displayName, wellknownListName}'

任务

LIST="LIST_ID"
# Open tasks in a list (filter notStarted/inProgress; $top caps page size)
curl -sS -H "$AUTH" \
  "$G/me/todo/lists/$LIST/tasks?\$filter=status ne 'completed'&\$top=50" \
  | jq '.value[] | {id, title, status, due: .dueDateTime.dateTime}'

# Create (confirm first). dueDateTime/reminderDateTime are optional.
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"title":"Follow up with Alex","dueDateTime":{"dateTime":"2026-06-30T17:00:00","timeZone":"UTC"}}' \
  "$G/me/todo/lists/$LIST/tasks" | jq '{id, title, status}'

# Complete: PATCH the task with {"status":"completed"}
curl -sS -X PATCH -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"status":"completed"}' "$G/me/todo/lists/$LIST/tasks/TASK_ID" | jq '{title, status}'

注意事项

  • OData 参数($filter、$top、$select)中的 $ 需要在 Shell 中转义 (\$filter),空格需要进行 URL 编码——将整个 URL 用引号括起来。
  • wellknownListName: "defaultList" 是用户的默认“任务”列表——用户未指定列表时,这是一个很好的 备用选项。
  • 通过 @odata.nextLink 进行分页;获取“所有任务”时请跟进该链接。

评论

支持 Markdown