Canvas MCP Skill:把 Canvas LMS 完整装进 40+ 主流编码 Agent 的教育神器
把 Canvas LMS 完整装进 Claude/Cursor/Codex 等 40+ 主流编码 Agent——这是 GitHub 近期最具教学场景突破意义的 MCP + Skill 双轨项目。Canvas MCP 让你的 AI 助手直接接管 Canvas 学习管理系统的查询与运营工作:学生侧自动汇总作业截止、成绩、待办、同伴互评;教师侧一键创建/批改作业、批量评分、推送通知、扫描 WCAG 无障碍问题。工具与 Skill 分层的设计,让「工具」解决原子操作,「Skill」解决多步工作流(每周计划、早报、批量评分、同伴互评、课程质检),既能在 Claude Desktop 双击 .mcpb 安装零代码,也能给开发者保留 pip + .env 的标准路线。
功能与原则
核心能力由两层组成:103 个 MCP 工具(学生工具、教师工具、模块管理、页面/内容/文件管理、学习设计师工具、开发者批量工具)+ 8 个 Agent Skills(canvas-course-qc 学期前审查、canvas-accessibility-auditor WCAG 无障碍审查、canvas-course-builder 从规格/模板搭建课程,以及 weekly-plan / morning-check / bulk-grading / peer-review / course-QC 等多步工作流)。设计原则是「学生/教师/学习设计师三类用户分别建模」,每条工具都附带 Example Prompt,Agent 不需要学 Canvas API 字段名就能直接调用。
认可度
- GitHub Stars 截至 2026-10-03 约 266+ 星(GitHub Trending 主题页 + skills.sh 注册表双源核对)
- 列入 skills.sh 官方注册表与 GitHub Topics skillhub
- 跨 40+ Agent 平台显式支持(Claude Desktop / Claude Code / Cursor / Codex / Windsurf / Zed / Continue …)
- 发布频率活跃,最近 push 2026-09-30
- License:MIT
链接
GitHub:https://github.com/vishalsachdev/canvas-mcp
原作者
Vishal Sachdev(GitHub: vishalsachdev),长期聚焦教育技术场景,曾任 UIUC Gies 商学院教学技术负责人,把 LMS 自动化的实际教学场景拆解成可复用工具集。
介绍
Canvas MCP 是一个面向 Canvas LMS(北美高校最常用的学习管理系统,Open LMS 阵营市占率最高)的 MCP Server + Skill 合集:底层 103 个工具覆盖 Canvas API 全量读写映射(课程/作业/模块/页面/文件/讨论/成绩/分析),上层 8 个 Skill 把这些工具组合成「学期前课程审查」「WCAG 无障碍扫描」「课程从模板一键搭建」「每周学习计划」「晨间作业检查」「批量评分」「同伴互评追踪」等场景化 workflow。
学生侧场景最直观:在 Claude Code 里问「这周有什么 due?」→ Skill 自动调用 get_my_upcoming_assignments + get_my_todo_items + get_my_submission_status,30 秒拿到本周截止清单 + 缺失提交 + 还未完成的待办,不需要登录 Canvas 后台翻 5 层菜单。教师侧更有杀伤力:批量评分 10 份以上直接走 bulk_grade_submissions,30 份以上自动切到 execute_typescript 本地执行 TypeScript 脚本,避免 700 次/10 分钟的限流。学习设计师侧最有行业增量:内置 WCAG 20 项无障碍扫描(标题层级、表格、链接、对比度、Alt 文本、字幕、DesignPLUS 等),搭配学校 UFIXIT 报告解析,能在课程上线前自动输出可读问题清单。
特点
- 三层用户模型:学生/教师/学习设计师工具完全分离,避免「同一接口给所有角色」的脏读问题
- Tool + Skill 双轨:原子操作用 MCP tool,复合流程用 Skill,Claude Code 上 Skill 还可作为斜杠命令调用
- 零代码安装路径:Claude Desktop 用户直接下载
canvas-mcp.mcpb双击,输入 Canvas URL 和 token 即可,跳过 Python 环境 - 103 工具全量映射 Canvas:默认注册常用子集,可选 feature-gated 开关扩到 103 个,限流 ~700 req/10 min,配合
max_concurrent=5防封 - WCAG 内建扫描:20 项无障碍检查 + 院校 UFIXIT 报告解析,覆盖北美高校合规刚需
- 跨 40+ Agent:Claude Desktop / Claude Code / Cursor / Codex / Windsurf / Zed / Continue 等一套全通
使用方法
Claude Desktop(一键安装,推荐新手):
- 进入 Releases 下载
canvas-mcp.mcpb - 双击文件 → 输入 Canvas URL + Access Token → 重启 Claude Desktop
- 在对话里直接说「这周有什么作业」
Cursor / Windsurf / Zed / Continue / Claude Code(开发者路线):
git clone https://github.com/vishalsachdev/canvas-mcp
cd canvas-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e .
cp .env.example .env # 填 CANVAS_BASE_URL + CANVAS_ACCESS_TOKEN
canvas-mcp-server --test # 验证连接
在各客户端 mcp.json / claudedesktopconfig.json / ~/.cursor/mcp.json 里加入:
{
"mcpServers": {
"canvas": {
"command": "canvas-mcp-server",
"args": []
}
}
}
可选安装 8 个工作流 Skill:
npx skills add vishalsachdev/canvas-mcp
最小调用示例:
Claude:我下周二的 Quiz 2 还没交,帮我列一下 CS 101 所有 missing submission。
Agent 自动跑 get_my_submission_status → 列出所有课程 missing → 过滤 CS 101 → 输出可操作清单。
使用场景与人群
- 学生(K12 / 大学 / 研究生):自动汇总截止作业、缺失提交、待办、TODO 列表、同伴互评清单
- 教师 / 助教:批量评分、批量创建/更新作业、批量推送未交提醒、批量发布公告、自动整理课程结构
- 学习设计师 / 教务管理员:学期前课程审查、WCAG 无障碍扫描、UFIXIT 报告解析、课程从模板一键搭建
- 教育科技开发者:用
execute_typescript跑自定义批量逻辑,避开 MCP 限流
输入与输出案例
案例 1:学生晨间作业检查
- 输入:
/morning-check,或对话里说「我今天要做什么」 - 流程:Skill 自动并发调用
get_my_todo_items+get_my_upcoming_assignments+get_my_submission_status+get_my_peer_reviews_todo - 输出:
📅 今天要做的(按优先级)
1. [HIGH] BADM 350 — Discussion 4 due 今晚 23:59(未提交)
2. [MED] CS 101 — Quiz 2 已开放,截止 2026-10-05
3. [LOW] ENG 220 — 同伴互评 2 份待完成,截止 2026-10-06
案例 2:教师批量评分 + 无障碍扫描
- 输入:
/bulk-grading CS 101 Quiz 2给出 12 份待评分提交 - 流程:Skill 先用
bulk_grade_submissions一次性给基础分(85),再用/canvas-accessibility-auditor CS 101跑 WCAG 20 项扫描 - 输出:
“`
✅ Quiz 2 批量评分完成:12/12 已提交,平均分 81.5
⚠️ CS 101 无障碍问题:- [HIGH] Week 3 课件缺 Alt 文本(3 张图)
- [MED] 标题层级跳级(H1 → H3)
- [LOW] 链接文案「Click here」出现 5 次
“`
评论区
登录后可评论。