mcpField
N
Neuro-CanvasLMS

Neuro-CanvasLMS

远程服务
github.com科研与教育03 天前更新

关于 Neuro-CanvasLMS

Neuro-CanvasLMS 是只读 MCP 服务,可将 Canvas LMS 接入 AI 客户端,供学生查询课程资料和学习活动。它部署在用户自己的 Cloudflare 账户中,可读取课程记录、文件及其链接和压缩包内容。

主要功能

  1. 01提供 65 种只读 Canvas 工具
  2. 02读取课程文件和压缩包
  3. 03查找课程中的链接及隐藏文件
  4. 04下载作业起始代码
  5. 05部署在用户自己的 Cloudflare 账户

适用场景

  1. 01查看即将到期的作业和成绩
  2. 02总结课程讲义
  3. 03查找作业反馈
  4. 04准备作业起始文件

MCP 相关

它向 Claude、ChatGPT 等 MCP 客户端提供只读 Canvas 数据和文件读取能力。服务部署在用户自己的 Cloudflare 账户中。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://{connector_host}/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Neuro-CanvasLMS

English · 简体中文 · Español · 日本語 · हिन्दी

npm tests license: MIT

Neuro-CanvasLMS 在 Claude 中回答“这周有哪些截止事项?”

将 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,让你创建令牌。然后:

  1. 创建 Canvas 令牌(如果还没有):Canvas → 账户 → 设置 → + 新建访问令牌。学校可能会限制令牌的有效期(UMass Amherst 为 30 天)。请立即复制;Canvas 只会显示一次。
  2. Claude: 设置 → 连接器 → 添加自定义连接器 → 粘贴安装程序输出的 URL(已自动复制)→ 连接 → 粘贴 Canvas 令牌 → 授权。之后,你可以在所有使用 Claude 的地方使用它,包括移动应用和 Claude Code。
  3. ChatGPT: 使用相同的 URL 添加自定义连接器(开发者模式)。
  4. 开始新聊天并提问:“我这周有哪些作业?”

让 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 编码助手的帮助下构建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。