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.

캔버스 MCP 서버

Canvas LMS API와 상호 작용하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 Canvas에서 강좌, 사용자, 콘텐츠 및 평가를 관리하는 도구를 제공합니다.

특징

  • 인증 : Canvas API 토큰을 통한 보안 인증
  • 과정 관리 : 과정 정보 가져오기, 과정 목록 만들기, 과정 설정 업데이트
  • 사용자 관리 : 사용자 정보 가져오기, 코스 사용자 목록 작성, 등록 관리
  • 콘텐츠 관리 : 페이지, 모듈 및 모듈 항목을 만들고 관리합니다.
  • 평가 관리 : 과제 생성 및 관리, 제출물 채점, 공지사항 생성
  • 퀴즈 관리 : 퀴즈, 퀴즈 질문을 만들고 관리하고 퀴즈 제출물을 채점합니다.

필수 조건

  • Node.js 16 이상
  • Canvas LMS 인스턴스
  • 적절한 권한이 있는 Canvas API 토큰

설치

  1. 저장소를 복제합니다.지엑스피1
  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를 사용하여 데스크톱 구성

Claude for Desktop과 함께 이 MCP 서버를 사용하려면 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

특허

MIT

감사의 말

-
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를 사용하여 데스크톱 구성
          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