Canvas学生MCP服务器

一个提供Claude直接访问Canvas LMS账户功能的MCP服务器,专为学生设计,支持课程、作业、成绩和文件管理。

  • by colehollander10-netizen
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 colehollander10-netizen/canvas-student-mcp-server

使用说明

Canvas学生MCP服务器

A. 模型上下文协议(MCP) 服务器,让克劳德直接访问您的Canvas LMS帐户——为学生而建。

官方Canvas MCP从未公开学生实际需要的工具。这个确实如此。

工具

工具 它做什么
canvas_list_courses 列出已注册的课程及其可选成绩数据
canvas_get_my_grades 所有活动课程的当前成绩和分数
canvas_list_assignments 按课程分配作业,按桶过滤(即将完成、逾期等)
canvas_get_assignment_grade 特定提交的分数、等级和讲师反馈
canvas_get_course_submissions 所有提交的课程成绩
canvas_list_course_files 浏览课程中的文件
canvas_get_file_url 获取任何课程文件的直接下载URL
canvas_get_announcements 教授在一门或多门课程中的公告
canvas_get_todo_items Canvas内置学生待办事项列表
canvas_get_upcoming_events 即将到来的日历事件和任务截止日期

设置

1.获取Canvas API令牌

在画布中: 账户→ 设置→ 新访问令牌

2.安装和构建

git clone https://github.com/colehollander10-netizen/canvas-student-mcp-server
cd canvas-student-mcp-server
npm install
npm run build

3.添加到克劳德桌面

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "canvas-student": {
      "command": "node",
      "args": ["/absolute/path/to/canvas-student-mcp-server/dist/index.js"],
      "env": {
        "CANVAS_API_TOKEN": "your-token-here",
        "CANVAS_BASE_URL": "https://YOUR_SCHOOL.instructure.com"
      }
    }
  }
}

替换 YOUR_SCHOOL 使用您所在机构的Canvas子域名(例如。 boisestatecanvas, canvas.stanford等等)。

重新启动Claude Desktop——工具将自动显示。

示例提示

  • “我目前的成绩是多少?”
  • “ACCT 201本周有什么作业要交?”
  • “我的教授今天发布公告了吗?”
  • “我的Canvas待办事项列表上有什么?”
  • “向我展示我的金融课程中的文件,并为我获取教学大纲下载链接。”
  • “我在上一篇论文中得到了什么,教授有没有留下任何反馈?”

需求

  • Node.js 18+
  • Canvas LMS帐户,可访问API令牌
  • Claude Desktop(或任何兼容MCP的客户端)

发展

npm run dev   # watch mode with tsx
npm run build # compile to dist/