关于 Neuro-CanvasLMS
Neuro-CanvasLMS 是只读 MCP 服务,可将 Canvas LMS 接入 AI 客户端,供学生查询课程资料和学习活动。它部署在用户自己的 Cloudflare 账户中,可读取课程记录、文件及其链接和压缩包内容。
主要功能
- 01提供 65 种只读 Canvas 工具
- 02读取课程文件和压缩包
- 03查找课程中的链接及隐藏文件
- 04下载作业起始代码
- 05部署在用户自己的 Cloudflare 账户
适用场景
- 01查看即将到期的作业和成绩
- 02总结课程讲义
- 03查找作业反馈
- 04准备作业起始文件
MCP 相关
它向 Claude、ChatGPT 等 MCP 客户端提供只读 Canvas 数据和文件读取能力。服务部署在用户自己的 Cloudflare 账户中。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://{connector_host}/mcpclaude mcp add --transport http bloodyreginaa-neuro-canvas-lms https://{connector_host}/mcp{"mcpServers":{"bloodyreginaa-neuro-canvas-lms":{"type":"http","url":"https://{connector_host}/mcp"}}}在 Cursor 中打开{"servers":{"bloodyreginaa-neuro-canvas-lms":{"type":"http","url":"https://{connector_host}/mcp"}}}在 VS Code 中打开{"mcpServers":{"bloodyreginaa-neuro-canvas-lms":{"type":"http","url":"https://{connector_host}/mcp"}}}{"mcpServers":{"bloodyreginaa-neuro-canvas-lms":{"serverUrl":"https://{connector_host}/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Neuro-CanvasLMS
English · 简体中文 · Español · 日本語 · हिन्दी

将 Canvas LMS 直接接入 Claude 和 ChatGPT。 你的课程、截止日期、成绩和讲义文件都会成为 AI 所知内容的一部分,可在任何聊天和任何设备上使用。这是一个只读远程 MCP 服务,只需一条命令即可部署到你自己的免费 Cloudflare 账户。适用于任何允许学生创建访问令牌的 Canvas 学校(30 秒即可检查)。
“这周有哪些截止事项?” · “总结一下 MATH 132 的第 5 讲。” · “我在 HW 3 上得到了什么反馈?” · “第 12 讲的代码 ZIP 里有什么?” · “在这个文件夹中配置 PA2 入门代码。”
为什么选择 Neuro-CanvasLMS
| ☁️ 无需在电脑上运行任何程序 | 它运行在 Cloudflare Workers 云端。无需保持应用开启,也无需本地服务端。 |
| 🔌 无需让任何设备一直开机 | 合上笔记本电脑,把手机放进口袋。你的 AI 仍可全天候访问 Canvas,无论是通过 claude.ai、桌面和移动应用、Claude Code 还是 ChatGPT。 |
| 💸 免费 | 它运行在 Cloudflare 免费套餐上,提供的资源远超单个学生所需。 |
| 🧠 你的文件会保留在对话中 | AI 读取的讲义和 PDF 会随聊天保存在 AI 提供商的服务器上。无需下载。 |
本地 Canvas 工具只有在你自己的电脑运行时才能使用。托管服务会将你的 Canvas 令牌或课程副本保存在它们的服务器上。Neuro-CanvasLMS 运行在你自己的 Cloudflare 账户中:始终在线,可在手机和 ChatGPT 中使用,而且你的令牌只会发送到你自己的 Worker 和学校的 Canvas。
你将获得
- 65 个只读工具: 课程、模块、页面、文件、作业、提交内容、成绩和反馈、评分标准、公告、讨论、收件箱、日历、待办事项、群组、测验历史记录和个人资料设置。
- 真实文件读取: 提取 PDF、Word、PowerPoint 和 Excel 中的文本,读取约 90 种代码和文本文件,以及 Jupyter 笔记本(单元格和输出);在服务端解压 ZIP 压缩包(列出文件并读取其中每个代码/文本文件);识别扫描版或手写 PDF,并将原始页面交给 AI 查看。
- 也能读取链接文件: 课程文件中由模块、大纲、页面、作业或公告链接到的 Google Docs/Slides/Sheets、Google Drive、Dropbox(文件和文件夹)及 GitHub(文件和仓库),只要这些内容公开分享(“知道链接的任何人”即可查看)。
- 找到课程隐藏的文件: 许多课程会对学生隐藏“文件”列表。连接器会搜索课程首页、大纲、模块、作业、公告及其链接页面,因此 AI 仍然可以按名称找到“第 12 讲的幻灯片”。
- 将入门代码放到你的电脑上: 在 Claude Code、Codex 和其他编码 Agent 中,询问“从 Canvas 配置 PA2”。Agent 会获得一个几分钟后过期的一次性下载链接,将作业的入门文件保存到你的文件夹并解压。
- 从设计上只读: 只发送固定的
GET请求。它绝不会提交作业、发送消息、启动测验或更改 Canvas 中的任何内容。 - 只属于你: 部署在你自己的 Cloudflare 账户中,并限制为只能访问你自己的 Canvas 账户。包括作者在内的任何人都不会看到你的 Canvas 令牌。
可以使用吗?
30 秒内检查:在 Canvas 中打开 账户 → 设置,然后滚动到 已批准的集成。如果看到 + 新建访问令牌按钮,就可以使用了。如果没有该按钮,或创建令牌时遭到拒绝,说明学校不允许学生创建个人令牌,因此此连接器暂时无法在该校使用。
安装(约 5 分钟)
你需要 Node.js 22+、一个免费的 Cloudflare 账户(并验证其电子邮件地址),以及 Canvas 登录信息。在终端中运行:
npx -y neuro-canvas-lms
安装程序会让你登录 Cloudflare(浏览器页面会打开;点击 授权),询问学校的 Canvas 地址,为新账户设置免费的 workers.dev 地址,将连接器部署到你自己的账户,并检查其是否正常运行。新地址可能需要几分钟才能启用;在此期间,安装程序会打开 Canvas,让你创建令牌。然后:
- 创建 Canvas 令牌(如果还没有):Canvas → 账户 → 设置 → + 新建访问令牌。学校可能会限制令牌的有效期(UMass Amherst 为 30 天)。请立即复制;Canvas 只会显示一次。
- Claude: 设置 → 连接器 → 添加自定义连接器 → 粘贴安装程序输出的 URL(已自动复制)→ 连接 → 粘贴 Canvas 令牌 → 授权。之后,你可以在所有使用 Claude 的地方使用它,包括移动应用和 Claude Code。
- ChatGPT: 使用相同的 URL 添加自定义连接器(开发者模式)。
- 开始新聊天并提问:“我这周有哪些作业?”
让 AI 为你安装: 将此仓库的链接提供给任何能运行终端命令的 AI 助手(例如 Claude Code、Codex),并告诉它“安装 Canvas 连接器”。无需克隆仓库。AI Agent:请遵循 SKILL.md:只需一条带标志的 npx 命令,而且你无需接触 Canvas 令牌。
Canvas 令牌过期时: 创建一个新令牌,然后在 AI 应用中断开连接器,再重新连接并粘贴新令牌。无需重新安装任何内容。
更新与卸载
- 更新: 再次运行相同的
npx命令。程序会询问一次是否更新(输入 y),然后沿用现有设置,部署当前代码并保留存储和连接,因此无需重新连接。发布新版本后,AI 会通知你。更新后,ChatGPT 需要在设置中刷新连接器才能看到新功能;Claude 会在新聊天中加载这些功能。 - 卸载: 运行
npx -y neuro-canvas-lms uninstall,然后删除 Canvas 令牌和 AI 应用中的连接器。
工作原理
Claude / ChatGPT ──OAuth──▶ Neuro-CanvasLMS on your Cloudflare ──read-only API──▶ your school's Canvas
(any device) (always on; stores your Canvas token encrypted)
隐私与安全
- 你的令牌只会发送到你的 Worker 和学校的 Canvas,并以加密形式存储在你自己的 Cloudflare KV 授权记录中。
- 连接器会在你连接时锁定到你的 Canvas 账户,并拒绝所有其他账户。
- 只有 Claude、ChatGPT 和本地客户端可以完成 OAuth 授权。
- 课程内容会被视为不可信数据,绝不会作为指令处理。
- 文件下载大小上限为 15 MiB,仅允许通过 HTTPS 下载,并会阻止其访问私有网络。
- Canvas 仍会执行你自己的权限限制:你只能读取自己本来就能看到的内容。
- 连接器每天会从发布它的 npm 读取最新版本号,以便 AI 告知你有可用更新。不会发送任何与你有关的信息。
- AI 读取的文件会作为对话的一部分保留在你的 AI 提供商处,并遵循该提供商自己的隐私条款。删除聊天即可移除这些文件。
使用前,请查看学校关于个人访问令牌和第三方工具的政策。
限制
- 通过连接器无法读取超过 15 MiB 的文件(Cloudflare Worker 内存限制)。请下载文件,并在本地用 Claude Code 打开。
- Gradescope、WebAssign、外部网站、受限内容以及 New Quizzes 的内部内容均无法访问。
- 有些课程会隐藏其 Files 或 Quizzes 页面(403/404)。课程中任何位置链接的文件仍会被找到(见上文);测验则会保持隐藏。
- 已在 UMass Amherst 的 Canvas(由 Instructure 托管)上测试。其他学校应该也能使用;自行托管 Canvas 的学校可能会从此连接器目前不允许的服务器提供文件。
项目状态
这是一个社区项目,采用 MIT 许可证,并且按现状提供:不保证维护、更新或支持。欢迎提交问题和拉取请求,也欢迎创建分支。如果它在你的学校无法正常工作,代码就在这里,你可以自行修复。你也可以提交问题,作者会安排修复。
开发
npm test · npm run check(试运行构建)· npm run setup(克隆仓库后运行安装程序)。界面文本位于 i18n.mjs(English、简体中文、Español、日本語、हिन्दी)。代码结构请参阅 AGENTS.md。本项目在 AI 编码助手的帮助下构建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。