Claude Canvas MCP

Claude Canvas MCP

一个用于控制Canvas LMS REST API的Claude桌面MCP服务器。

概述

Claude Canvas MCP 是一个模型上下文协议服务器,让 Claude 能够直接与 Canvas LMS 交互,提供课程管理、作业处理和学生评估等功能。

前提条件

  • Node.js v16+
  • Canvas API 令牌
  • Canvas 实例 URL
  • Claude Desktop 应用

安装步骤

  1. 克隆仓库并安装依赖

    git clone https://github.com/johnnyrobot/claude-canvas-mcp.git
    cd claude-canvas-mcp
    npm install
    
  2. 构建项目

    npm run build
    
  3. 配置环境变量

    cp .env.example .env
    # 编辑 .env 文件,填入你的 Canvas 信息
    

与 Claude Desktop 集成

  1. 打开 Claude Desktop 配置文件

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %AppData%\Claude\claude_desktop_config.json
  2. 添加 Canvas MCP 服务器配置

    {
      "mcpServers": {
        "canvas": {
          "command": "node",
          "args": [
            "/path/to/claude-canvas-mcp/build/index.js"
          ],
          "env": {
            "CANVAS_API_TOKEN": "your_token_here",
            "CANVAS_DOMAIN": "http://canvas.docker/"
          }
        }
      }
    }
    
  3. 重启 Claude Desktop

核心功能

课程管理

  • list-courses - 列出所有活跃课程
  • get-course - 获取课程详情 (需要 courseId)
  • list-modules - 列出课程模块 (需要 courseId)

作业与评分

  • list-assignments - 获取课程作业 (需要 courseId)
  • get-assignment - 获取作业详情 (需要 courseId, assignmentId)
  • list-submissions - 查看作业提交 (需要 courseId, assignmentId)
  • post-submission-comment - 发表评论 (需要 courseId, assignmentId, studentId, comment)

学生管理

  • list-students - 获取课程学生列表 (需要 courseId)
  • get-submission - 获取学生提交 (需要 courseId, assignmentId, studentId)

内容与文件

  • post-announcement - 发布公告 (需要 courseId, title, message)
  • list-files - 列出课程文件 (需要 courseId)
  • upload-file - 上传文件 (需要 courseId, fileName, fileContent)

示例使用

在 Claude Desktop 中,你可以使用以下格式调用工具:

请帮我列出我的所有课程

Claude 将使用 list-courses 工具并显示结果。

许可证

MIT 许可证