ClaudeMap

canvas-mcp

一个只读 MCP 服务器:让 Claude 与 ChatGPT 用大白话问答你的 Canvas LMS 课程事务。

MCP 服务器mcpeducationcanvasread-only

部署一次、加为自定义连接器,就能用自然语言问:这周要交什么、漏了什么、TA 留了什么言、期末要考多少才能保住 A。全部 26 个工具只发 GET 请求,服务器无法代你提交或发言;长随机密钥把守访问,Canvas token 不出服务器,每次请求无状态运行,不缓存不存储。

它做什么

  • 26 个只读工具覆盖五类事务——课程(大纲、模块、Wiki 页面、教师与助教、小组)、作业(待交、待办、漏交、含评分标准与反馈的作业详情、经典测验、日历)、成绩及完整构成(作业分组、权重、去分规则、每项得分)、文件、沟通(公告、讨论、收件箱、近期动态)
  • 密钥入站式连接安全——MCP 端点藏在长随机密钥之后,常量时间比较,错误密钥与未知路径同样返回 404;Canvas token 只发往你的 Canvas 实例,指向其他主机的分页链接一律忽略
  • 无状态设计——每次请求都跑全新实例,不缓存不存储、只记错误日志;仅三个运行时依赖,无构建步骤、无数据库;任何能跑 HTTPS 的 Node.js 20+ 环境皆可部署,Railway 最快,Render、Fly.io、VPS 与本地部署均有文档
  • 文档完备——每个工具的参数与输出字段都在 docs/tools.md 里逐条写明,README 有英文与简体中文双版本,node:test 测试套件无需联网即可运行,MCP Inspector 可连上做交互式调试

什么时候用

不用逐层点开 Canvas 就能处理课务——README 自带的示例提问各自对应明确的工具,而非笼统搜索:「这周有什么要交,哪些我已经交了?」「期末要考多少分才能保住 CS 225 的 A?」「总结最近两周的公告」「TA 在我上次实验里留评了吗?」

如何上手

先在 Canvas 建访问令牌(Account → Settings → Approved Integrations → + New Access Token),生成随机密钥(node -e "console.log(require('crypto').randomBytes(24).toString('hex'))"),在任意 Node.js 20+ 主机上配好 CANVAS_BASE_URL、CANVAS_API_TOKEN 与 MCP_SECRET 后部署,然后连接:

Claude Code:
claude mcp add --transport http canvas https://<your-domain>/<MCP_SECRET>/mcp

Claude.ai/桌面端/移动端:Settings → Connectors → Add custom connector,粘贴同一 URL,OAuth 字段留空。ChatGPT:开启 developer mode,新建连接器并选择 No authentication。

注意事项

一份部署只服务一个用户——服务器以令牌所有者身份行事,每人需单独部署实例;连接器 URL 要当密码对待(泄露就更换 MCP_SECRET 并重新部署)。PDF、幻灯片与 Office 文件不会被解析,get_file 对它们只返回临时下载链接。New Quizzes 出现在 list_assignments 而非 list_quizzes,且 Canvas API 从不向学生暴露测验题目。列表每次调用上限 500 条、长文本上限 20,000 字符;不带 course_id 的 get_calendar_events 最多覆盖 10 门课程。部分院校限制个人访问令牌——部署前先查学校的可接受使用政策。

代码仓库

boyuchengz/canvas-mcp

收录日期

地图上的相关资源

  • Blitz Strike

    MCP 服务器

    把渗透测试方法论装进一个 MCP server:BLITZ 摸清攻击面,EAGLE-EYE 追 source-to-sink,STRIKE 对每条发现先实测再上报。

    • mcp-server
    • security
    • pentest
    • methodology
  • Ripwire

    MCP 服务器

    Red Hat 出品的「AI 上下文版 ripgrep」——C++23 零依赖 CLI,同时讲 MCP。

    • mcp
    • code-context
    • cli
    • red-hat
  • Deja Vu

    MCP 服务器

    让 25+ 个编码 agent 共享同一份会话记忆——Claude Code、Codex、Cursor 终于记得同一个项目。

    • mcp
    • memory
    • cross-agent
    • context