Canvas MCP 服务器

Canvas MCP 服务器是一个用于与 Canvas LMS API 交互的模型上下文协议(MCP)服务器。它提供了管理课程、用户、内容和评估的工具,适用于教育机构和技术开发人员。

  • by defsolmcp
  • 更新于
在 GitHub 查看 defsolmcp/canvas-mcp-server

使用说明

基本能力

产品定位

Canvas MCP 服务器是一个用于与 Canvas LMS API 交互的模型上下文协议(MCP)服务器,提供了一系列工具来管理课程、用户、内容和评估。

核心功能

  • 认证:使用 Canvas API 令牌进行安全认证
  • 课程管理:获取课程信息、列出课程、更新课程设置
  • 用户管理:获取用户信息、列出课程用户、管理注册
  • 内容管理:创建和管理页面、模块和模块项
  • 评估管理:创建和管理作业、评分提交、创建公告
  • 测验管理:创建和管理测验、测验问题和评分测验提交

适用场景

  • 教育机构需要自动化管理 Canvas LMS 课程和用户
  • 开发人员需要集成 Canvas LMS API 到其他系统
  • 教师需要批量管理课程内容和评估

工具列表

课程管理

  • get_course:获取 Canvas 课程信息
  • list_courses:列出当前用户的 Canvas 课程
  • update_course:更新 Canvas 课程设置
  • get_course_modules:获取 Canvas 课程的模块
  • get_course_assignments:获取 Canvas 课程的作业

用户管理

  • get_user:获取 Canvas 用户信息
  • get_self:获取当前 Canvas 用户信息
  • list_course_users:列出 Canvas 课程的注册用户
  • enroll_user:注册用户到 Canvas 课程
  • remove_enrollment:从 Canvas 课程中移除用户注册
  • send_message:向 Canvas 用户发送消息

内容管理

  • get_course_pages:获取 Canvas 课程的页面
  • get_page_content:获取 Canvas 页面的内容
  • create_or_update_page:创建或更新 Canvas 页面
  • delete_page:删除 Canvas 页面
  • create_module:在 Canvas 课程中创建新模块
  • add_module_item:向 Canvas 课程模块添加项

评估管理

  • create_assignment:在 Canvas 课程中创建新作业
  • update_assignment:更新 Canvas 课程中的现有作业
  • grade_submission:评分学生作业提交
  • get_submissions:获取学生作业提交
  • create_announcement:在 Canvas 课程中创建新公告

测验管理

  • list_quizzes:列出 Canvas 课程中的测验
  • get_quiz:获取特定测验的详细信息
  • create_quiz:在 Canvas 课程中创建新测验
  • update_quiz:更新 Canvas 课程中的现有测验
  • delete_quiz:从 Canvas 课程中删除测验
  • get_quiz_questions:获取特定测验的问题
  • create_quiz_question:为测验创建新问题
  • update_quiz_question:更新测验中的现有问题
  • delete_quiz_question:从测验中删除问题
  • get_quiz_submissions:获取特定测验的提交
  • grade_quiz_submission:评分测验提交

使用教程

使用依赖

  • Node.js 16 或更高版本
  • Canvas LMS 实例
  • 具有适当权限的 Canvas API 令牌

安装教程

  1. 克隆仓库:

    git clone https://github.com/yourusername/canvas-mcp-server.git
    cd canvas-mcp-server
    
  2. 安装依赖:

    npm install
    
  3. 基于 .env.example 文件创建 .env 文件:

    cp .env.example .env
    
  4. 编辑 .env 文件,添加 Canvas API 令牌和 URL:

    CANVAS_API_TOKEN=your_canvas_api_token_here
    CANVAS_API_URL=https://your-institution.instructure.com/api/v1
    MCP_SERVER_NAME=canvas-mcp
    
  5. 构建项目:

    npm run build
    

调试方式

运行服务器:

npm start

开发模式下运行:

npm run dev