关于 Canvas Assignment Assistant MCP Server
Canvas Assignment Assistant MCP Server 让学生及其他 Canvas 用户通过兼容 MCP 的大模型客户端查看课程和作业信息。它结合课程列表、作业搜索与多种格式的作业详情。
主要功能
- 01按课程状态列出课程
- 02使用筛选条件搜索作业
- 03获取完整作业详情
- 04返回 HTML、纯文本或 Markdown
- 05将作业内容提供为资源
适用场景
- 01查看即将到期的作业
- 02跨课程查找作业
- 03查看特定作业的说明
MCP 相关
提供 Canvas 课程和作业工具,并将作业内容作为 MCP 资源提供。它通过 API 令牌和院校域名连接 Canvas 账户。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Canvas 作业助手 MCP 服务
概述
此模型上下文协议(MCP)服务让你无需离开 LLM(例如 Claude Desktop),即可与 Canvas/Instructure 课程和作业交互。
它可通过编程方式检索、搜索和总结课程及作业信息,例如查看即将到期的作业截止日期:

功能
工具
-
列出课程
- 检索课程列表
- 按课程状态筛选(进行中、已完成或全部)
-
搜索作业
- 跨课程搜索作业
- 按以下条件筛选:
- 搜索查询
- 截止日期范围
- 指定课程
- 包含或排除已完成的课程
-
获取作业详情
- 获取特定作业的详细信息
- 支持多种输出格式(完整 HTML、纯文本、Markdown)
资源
- 作业内容:使用标准化的 URI 格式获取完整作业详情
前提条件
- 兼容 MCP 的客户端(Claude Desktop、Cursor 等)
- Canvas LMS 账户
- Canvas API 令牌
- Canvas 域名
配置
安装 MCP bundle 时,系统会提示你配置:
- Canvas API 令牌:你的 Canvas API 访问令牌(见下方说明)
- Canvas 域名:你的 Canvas 院校域名(例如
canvas.youruniversity.edu)
这些值由 MCP 客户端安全存储,不会暴露在配置文件中。
安全提示
请对 Canvas API 令牌保密。此 bundle 会将令牌标记为敏感信息,因此 MCP 客户端会安全存储该令牌。
安装
此 MCP 服务以 MCP bundle(.mcpb 文件)的形式分发,便于安装。
选项 1:从 Bundle 文件安装(推荐)
-
下载 bundle
从 发布页面下载
canvas-mcp.mcpb文件,或自行构建(见选项 2)。 -
在 MCP 客户端中安装
对于 Claude Desktop:
- 打开 Claude Desktop 设置
- 前往 MCP 服务部分
- 点击“Add Server”或“Install from Bundle”
- 选择
canvas-mcp.mcpb文件 - 系统提示时,输入你的 Canvas API 令牌和域名
对于 Cursor:
- 打开 Cursor 设置
- 前往 MCP 配置
- 安装 bundle 文件
- 根据提示配置你的 Canvas API 令牌和域名
-
配置凭据
首次安装 bundle 时,系统会提示你输入:
- Canvas API 令牌:你的 Canvas API 访问令牌(见下方说明)
- Canvas 域名:你的 Canvas 院校域名(例如
canvas.youruniversity.edu)
选项 2:从源代码构建
如果你想自行构建 bundle:
-
克隆代码库并安装依赖项
git clone https://github.com/mbcrosiersamuel/canvas-mcp.git cd canvas-mcp npm install -
构建 bundle
npm run package这将创建一个
canvas-mcp.mcpb文件,然后你可以使用选项 1 安装该文件。
如何获取 Canvas API 令牌
- 登录 Canvas
- 前往 Account > Settings
- 向下滚动至“Approved Integrations”部分
- 点击“New Access Token”
- 复制生成的令牌
更多详情,请参阅 Canvas 提供的这些说明。
MCP 工具
list_courses:默认显示所有进行中的课程。使用标志可显示已完成的课程或所有课程search_assignments:搜索作业标题和描述get_assignment:获取完整的作业详情
故障排除
常见问题
-
令牌无效:
- 重新生成 Canvas API 令牌
- 确保令牌具有适当的权限
-
域名不正确:
- 仔细检查 Canvas 院校域名
- 确认没有拼写错误
免责声明
这是一个非官方的 Canvas MCP,与 Canvas 或 Instructure 无关。我也不是专业软件工程师,这个项目是使用 Claude 氛围编程完成的,因此请自行承担使用风险 :)
致谢!
- 感谢 Luke Harries 提供灵感,并贡献了本 Readme 的部分文本。
- 感谢 Anthropic 团队提供关于如何使用大模型创建 MCP 的精彩指南!
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。