j

johnnyrobot

@johnnyrobot/claude-canvas-mcp
0 Stars 321 次浏览 johnnyrobot 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Claude Canvas MCP

一个模型上下文协议(MCP)服务器,使Claude能够与Canvas LMS进行交互。该服务器通过Canvas API提供了管理课程、公告、作业、学生等功能的工具。

功能

  • 列出活跃课程及其详细信息
  • 检索课程模块、页面和内容
  • 查看作业、测验和讨论
  • 访问学生注册信息
  • 发布公告和评论
  • 查看提交详情和成绩
  • 上传和下载文件
  • 管理评分标准和成绩

前提条件

  • Node.js (v16 或更高版本)
  • 一个Canvas API令牌
  • Canvas实例URL(默认为"http://canvas.docker/")
  • Claude桌面应用程序

安装

  1. 克隆此仓库并安装依赖项:

bash
git clone https://github.com/johnnyrobot/claude-canvas-mcp.git
cd claude-canvas-mcp
npm install

  1. 构建TypeScript项目:

bash
npm run build

  1. 配置环境变量:

bash

复制示例环境文件

cp .env.example .env

使用您的Canvas信息编辑.env文件

nano .env

Claude桌面集成

  1. 打开Claude桌面配置文件:

MacOS:

bash
code ~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

bash
code %AppData%Claudeclaude_desktop_config.json

  1. 添加Canvas MCP服务器配置:

json
{
"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/"
}
}
}
}

  1. 重启Claude桌面以应用更改

可用工具

list-courses

列出经过身份验证用户的所有活跃课程

  • 不需要参数
  • 返回课程名称、ID和学期信息

get-course

获取特定课程的详细信息

  • 必需参数:
    • courseId: string

list-modules

列出课程中的所有模块

  • 必需参数:
    • courseId: string

list-module-items

列出模块中的所有项目

  • 必需参数:
    • courseId: string
    • moduleId: string

list-assignments

获取课程中的所有作业

  • 必需参数:
    • courseId: string
  • 可选参数:
    • includeContent: boolean (默认: false)

get-assignment

获取关于作业的详细信息

  • 必需参数:
    • courseId: string
    • assignmentId: string

list-students

获取课程中注册学生的完整列表

  • 必需参数:
    • courseId: string
  • 可选参数:
    • includeEmail: boolean (默认: false)

post-announcement

向特定课程发布公告

  • 必需参数:
    • courseId: string
    • title: string
    • message: string

list-submissions

获取作业的所有学生提交

  • 必需参数:
    • courseId: string
    • assignmentId: string

get-submission

获取特定学生对作业的提交

  • 必需参数:
    • courseId: string
    • assignmentId: string
    • studentId: string

post-submission-comment

在学生的提交上发表评论

  • 必需参数:
    • courseId: string
    • assignmentId: string
    • studentId: string
    • comment: string

list-files

列出课程中的文件

  • 必需参数:
    • courseId: string
  • 可选参数:
    • folderId: string

upload-file

将文件上传到课程

  • 必需参数:
    • courseId: string
    • fileName: string
    • fileContent: string
  • 可选参数:
    • folderId: string

许可证

MIT许可证

相关 MCP 服务