此技能用于用户询问 Canvas LMS 数据时——包括自己的学生账户或任何被观察的学生。触发短语如“check Canva…”
画布- cathor- mcp.是一项面向实际任务的技能,主要用于Canvas LMS( 结构)的MCP 服务器—— 读取课程、 成绩、 任务、 公告、 计划项和对话;下载课程文件;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Canvas LMS(Instructure)的 MCP 服务 — 支持读取课程、成绩、作业、公告、日程规划项(planner items)和会话(conversations),以及下载课程文件。其功能范围与兄弟项目 infinitecampus-mcp 中的家长/观察者(parent/observer)视角保持一致。
将以下内容添加至项目根目录下的 .mcp.json 文件,或用户主目录下的 ~/.claude/mcp.json:
{
"mcpServers": {
"canvas": {
"command": "npx",
"args": ["-y", "canvas-parent-mcp"],
"env": {
"CANVAS_BASE_URL": "https://cms.instructure.com"
}
}
}
}
在已安装 fetchproxy 浏览器扩展且当前浏览器标签页中已登录 Canvas 的前提下,上述配置即已足够 —— MCP 启动时会自动读取您的会话 Cookie。如需改用其他认证方式,可在 env 区块中额外添加 CANVAS_TOKEN、CANVAS_CLIENT_*/CANVAS_REFRESH_TOKEN,或 CANVAS_USERNAME/CANVAS_PASSWORD。
git clone https://github.com/chrischall/canvas-parent-mcp cd canvas-parent-mcp npm install && npm run build
fetchproxy 回退方案(推荐,零配置)。仅需设置 CANVAS_BASE_URL。安装 fetchproxy 浏览器扩展,并在浏览器中完成一次 Canvas 实例登录。MCP 启动时将从当前标签页中读取 canvas_session 和 pseudonym_credentials Cookie;此后所有 API 请求均由 Node.js 直接发起。该方式兼容任意认证流程(包括 SSO、SAML 和 2FA)。
CANVAS_TOKEN。大多数机构已对非管理员用户禁用此方式。CANVAS_CLIENT_ID、CANVAS_CLIENT_SECRET 和 CANVAS_REFRESH_TOKEN。可通过 canvas-parent-mcp-qr-login 工具完成初始引导。CANVAS_USERNAME 与 CANVAS_PASSWORD。仅适用于直接注册的 Canvas 账户(不支持 SSO 或 2FA),稳定性较差。当多个认证方式同时配置时,优先级顺序为:CANVAS_TOKEN > 用户名/密码 > OAuth > fetchproxy。如需禁用 fetchproxy 回退机制,请设置 CANVAS_DISABLE_FETCHPROXY=1。
canvas_)canvas_get_profile — 获取您的 Canvas 个人资料canvas_list_observees — 列出与您的观察者账户关联的学生canvas_list_courses — 列出您当前参与的课程及其成绩canvas_get_course(courseId) — 获取指定课程详情(含教学大纲与任课教师信息)canvas_list_assignments(courseId) — 列出某门课程中的全部作业canvas_list_missing_submissions — 列出已逾期但尚未提交的作业canvas_get_submission(courseId, assignmentId) — 获取您针对某项作业的提交详情(含教师评语与评分细则 rubric)canvas_list_recent_submissions(courseId) — 列出某门课程中最近已批阅的提交记录(默认时间范围为过去 14 天)canvas_list_enrollments — 按课程列出成绩信息canvas_list_calendar_events — 列出日历事件与作业截止提醒canvas_list_upcoming_events — 获取服务器聚合整理的未来 7 天日程canvas_list_planner_items — 获取统一整合的待办事项流(to-do feed)canvas_list_announcements(contextCodes) — 获取指定上下文(如课程)的公告canvas_list_conversations — 获取收件箱中的全部会话canvas_get_conversation(id) — 获取指定 ID 的完整会话线程canvas_list_discussion_topics(courseId) — 获取某门课程下的全部讨论主题canvas_list_course_files(courseId) — 获取某门课程的文件元数据canvas_download_file(url, destinationPath) — 将指定 URL 的文件下载至本地磁盘路径CANVAS_BASE_URL 主机名更友好的显示名称,请设置 CANVAS_NAME。observeeId(默认值为 self),便于观察者账户查看其所关联学生的相关信息。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章