Canvas MCP Server

by defsolmcp

Integrations

  • Used for environment variable management to store configuration settings like API tokens and URLs.

  • Provides tools for interacting with the Canvas LMS API, enabling course and user management, content creation, assessments, and quiz administration within a Canvas learning management system.

  • Used for cloning the repository during the installation process.

Canvas MCP 服务器

用于与 Canvas LMS API 交互的模型上下文协议 (MCP) 服务器。此服务器提供用于管理 Canvas 中的课程、用户、内容和评估的工具。

特征

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

先决条件

  • 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. 使用您的 Canvas API 令牌和 URL 编辑.env文件:
    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

使用 Claude for Desktop 进行配置

要将此 MCP 服务器与 Claude for Desktop 一起使用,请将以下内容添加到您的 Claude for Desktop 配置文件中:

{ "mcpServers": { "canvas-mcp": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/canvas-mcp-server/dist/index.js" ] } } }

/ABSOLUTE/PATH/TO/替换为 canvas-mcp-server 目录的实际路径。

使用任何 LLM 进行配置

要将此 MCP 服务器与 Anything LLM 一起使用,请将以下内容添加到您的 Anything LLM MCP 配置中:

  1. 在 Anything LLM 界面中导航至“设置”>“MCP”
  2. 添加一个新的 MCP 服务器,配置如下:
{ "name": "canvas-mcp", "command": "node", "args": [ "/ABSOLUTE/PATH/TO/canvas-mcp-server/dist/index.js" ] }

/ABSOLUTE/PATH/TO/替换为 canvas-mcp-server 目录的实际路径。

有关更多信息,请参阅Anything LLM MCP 文档

可用工具

课程管理
  • 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 :对测验提交进行评分

发展

项目结构

canvas-mcp-server/ ├── src/ │ ├── index.ts # Main entry point │ ├── auth/ # Authentication handling │ ├── api/ # Canvas API client │ │ └── client.ts # API client with pagination and rate limiting │ ├── tools/ # MCP tool implementations │ │ ├── courses.ts # Course-related tools │ │ ├── users.ts # User-related tools │ │ ├── content.ts # Content-related tools │ │ ├── assessments.ts # Assessment-related tools │ │ └── quizzes.ts # Quiz-related tools │ └── utils/ │ ├── logging.ts # Logging utilities │ └── error.ts # Error handling utilities ├── dist/ # Compiled JavaScript files ├── .env # Environment variables └── package.json # Project dependencies

以开发模式运行

npm run dev

执照

麻省理工学院

致谢

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

模型上下文协议服务器使 AI 助手能够通过其 API 与 Canvas LMS 进行交互,提供用于管理课程、用户、内容、评估和测验的工具。

  1. 特征
    1. 先决条件
      1. 安装
        1. 用法
          1. 运行服务器
          2. 使用 Claude for Desktop 进行配置
          3. 使用任何 LLM 进行配置
          4. 可用工具
        2. 发展
          1. 项目结构
          2. 以开发模式运行
        3. 执照
          1. 致谢

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.
              Last updated -
              31
              5
              JavaScript
            • -
              security
              A
              license
              -
              quality
              A set of tools enabling AI agents to interact with Canvas LMS, allowing users to find relevant resources, get course information, and navigate modules through natural language queries.
              Last updated -
              6
              Python
              MIT License
            • -
              security
              A
              license
              -
              quality
              Enables AI assistants like Claude to interact with Canvas LMS through the Canvas API, providing tools for managing courses, announcements, rubrics, assignments, and student data.
              Last updated -
              TypeScript
              MIT License
              • Apple
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.
              Last updated -
              1
              TypeScript

            View all related MCP servers

            ID: yjguhhl6e2