mcpField
C
canvas-morning-check

canvas-morning-check

github.com/vishalsachdev生产力308222 次安装1 天前更新
代码仓库

关于 canvas-morning-check

canvas-morning-check 面向教育工作者,用于在教学日或教学周开始时检查 Canvas 课程状况。它汇总近期提交、需要支持的学生和即将到期的任务,并可通过 Canvas 联系学生。

主要功能

  1. 01汇总近期作业提交率
  2. 02显示分数统计和迟交情况
  3. 03标记需要关注的学生
  4. 04列出未来 7 天的截止日期
  5. 05支持向学生发送后续消息

适用场景

  1. 01在每周开始时检查课程状况
  2. 02查找缺交作业和需要支持的学生
  3. 03查看即将到期的作业
  4. 04就缺交或截止日期联系学生

MCP 相关

需要连接 Canvas MCP 服务。该技能使用 Canvas 工具获取课程、作业、提交和分析数据,并向学生发送消息。

安装

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

$npx skills add https://github.com/vishalsachdev/canvas-mcp --skill canvas-morning-check

安装后在 Claude Code 中输入/canvas-morning-check确认已加载。

详细介绍

Canvas 晨间检查

为使用 Canvas LMS 的教育工作者提供全面的课程健康检查。在教学日或教学周开始时运行,找出提交缺漏、需要支持的学生和即将到来的截止日期,然后直接根据结果采取行动。

前提条件

  • Canvas MCP server 必须正在运行,并已连接到 Agent 的 MCP 客户端。
  • 经过身份验证的用户必须在目标 Canvas 课程中具有教育工作者或教师角色。
  • 注意 FERPA 相关数据处理:在 Canvas MCP server 环境中设置 ENABLE_DATA_ANONYMIZATION=true,以匿名化输出中受支持的学生身份字段。启用后,姓名会显示为 Student_xxxxxxxx 哈希值。此设置本身并不能确保合规。

步骤

1. 确定目标课程

询问用户要检查哪些课程。接受课程代码、Canvas ID,或接受“全部”以遍历所有正在进行的课程。

如果用户未指定,请提示:

您想检查哪门课程?(或者回复“全部”以检查所有正在进行的课程。)

如需查询可用课程,请使用 list_courses MCP 工具。

2. 收集近期提交数据

针对每门目标课程:

  1. 调用 list_assignments,查找过去 7 天内截止的作业。
  2. 对每项近期作业,调用 get_assignment_analytics 收集:
    • 提交率(已提交人数 / 注册人数)
    • 平均分、最高分和最低分
    • 迟交数量
3. 找出学习困难的学生

调用 list_submissions 获取学生提交记录,然后根据以下阈值标记学生:

紧急程度标准
严重过去 2 周缺交 3 项或更多作业,或平均成绩低于 60%
需要关注缺交 2 项作业,或平均成绩为 60--70%,或迟交 3 次或更多
进度正常所有作业均已按时提交,成绩高于 70%

用户提出请求时,可使用 get_student_analytics 深入分析单个学生的情况。

4. 检查即将到来的截止日期

调用 list_assignments,并筛选未来 7 天内截止的作业。针对每项即将到期的作业,列出:

  • 作业名称
  • 截止日期和时间
  • 分值
  • 当前提交人数(如果已开始提交)
5. 生成状态报告

按以下结构呈现结果:

## Course Status: [Course Name]

### Submission Overview
| Assignment | Due Date | Submitted | Rate | Avg Score |
|------------|----------|-----------|------|-----------|
| Quiz 3     | Feb 24   | 28/32     | 88%  | 85.2      |
| Essay 2    | Feb 26   | 25/32     | 78%  | --        |

### Students Needing Support
**Critical (3+ missing):**
- Student_a8f7e23 (missing: Quiz 3, Essay 2, HW 5)

**Needs Attention (2 missing):**
- Student_c9b21f8 (missing: Essay 2, HW 5)
- Student_d3e45f1 (missing: Quiz 3, Essay 2)

### Upcoming This Week
- **Mar 3:** Final Project (100 pts) - 5 submitted so far
- **Mar 5:** Discussion 8 (20 pts)

### Suggested Actions
1. Send reminder to 3 students with critical status
2. Review Essay 2 submissions (78% rate, below average)
3. Post announcement about Final Project deadline
6. 提供后续操作

呈现报告后,提供可执行的后续步骤:

您想让我:

  1. 起草并向学习困难的学生发送消息(使用 send_conversation)
  2. 发送即将到期作业的提醒(使用 send_conversation;向多位收件人发送时,需先预览并确认)
  3. 获取某项作业的详细分析数据(使用 get_assignment_analytics)
  4. 检查其他课程

如果用户选择选项 1,请使用 send_conversation MCP 工具,通过 Canvas 直接向已识别的学生发送消息。

使用的 MCP 工具

工具用途
list_courses查找正在进行的课程
list_assignments查找近期和即将到期的作业
get_assignment_analytics提交率和分数统计数据
list_submissions单个学生的提交记录
get_student_analytics单个学生的详细表现数据
send_conversation通过 Canvas 收件箱向学生发送消息

示例

用户:“检查一下 CS 101 的晨间情况”

**Agent:**运行上述工作流并输出状态报告。

用户:“提醒缺交 Quiz 3 的学生”

**Agent:**调用 send_conversation,向已识别的学生发送提醒。

备注

  • 启用匿名化后,应保留匿名 ID 的本地映射,以确保后续操作(发送消息、评分)仍能针对正确的学生。
  • 此技能最适合作为每周例行流程——周一早上是理想时间。
  • 可与 canvas-week-plan 技能配合使用,为学生制定计划。

评论

支持 Markdown