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 ディレクトリへの実際のパスに置き換えます。

Anything 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 : キャンバスページを作成または更新する
  • delete_page : キャンバスページを削除する
  • 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. Anything 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