Canvas MCP Server

Canvas MCP Server

site icon
2024.12.17 4
TypeScript教育管理学习管理系统交流协作
Canvas MCP Server 是一个模型上下文协议(MCP)服务器,使AI助手(如Claude)能够通过Canvas API与Canvas学习管理系统(LMS)进行交互。该服务器提供了管理课程、公告、评分标准、作业和学生数据的工具。
View on GitHub

Overview

基本能力

产品定位

Canvas MCP Server 是一个专为Canvas LMS设计的MCP服务器,旨在通过AI助手增强Canvas LMS的功能和交互体验。

核心功能

  • 列出活动课程及其详细信息
  • 向课程发布公告
  • 查看课程评分标准
  • 获取学生注册信息
  • 访问作业详情和提交内容
  • 查看学生提交历史和评论

适用场景

  • 教育机构使用Canvas LMS进行课程管理
  • 教师需要自动化管理课程内容和学生数据
  • 学生需要更智能的课程交互体验

工具列表

  1. list-courses: 列出认证用户的所有活动课程,返回课程名称、ID和学期信息。
  2. post-announcement: 向特定课程发布公告,需要课程ID、标题和消息。
  3. list-rubrics: 列出特定课程的所有评分标准,返回评分标准标题、ID和描述。
  4. list-students: 获取课程中所有注册学生的完整列表,可选包含电子邮件地址。
  5. list-assignments: 获取课程中所有作业及其提交状态,可选包含学生ID和提交历史。
  6. list-assignment-submissions: 获取特定作业的所有学生提交内容,可选包含评论。

常见问题解答

  1. 服务器未出现在Claude Desktop中: 检查配置文件语法、文件路径是否为绝对路径、Canvas API令牌是否有效,并重启Claude Desktop。
  2. 连接错误: 检查Canvas API令牌权限、Canvas实例是否可访问,并查看Claude的MCP日志。

使用教程

使用依赖

  • Node.js (v16或更高版本)
  • Canvas API令牌
  • Canvas实例URL(默认为"https://fhict.instructure.com")

安装教程

  1. 克隆仓库并安装依赖: bash git clone <repository-url> cd canvas-mcp npm install
  2. 构建TypeScript项目: bash npm run build
  3. 配置环境变量: bash # 创建.env文件 echo "CANVAS_API_TOKEN=your_token_here" > .env # 可选: 设置自定义Canvas URL echo "CANVAS_DOMAIN=https://your-canvas-instance.com" >> .env

调试方式

  1. 查看Claude的MCP日志: bash # MacOS tail -f ~/Library/Logs/Claude/mcp*.log # Windows type %AppData%\Claude\Logs\mcp*.log
  2. 手动运行并重定向错误输出: bash node build/index.js 2> debug.log

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。