Skip to main content
Glama

Canvas MCP サーバー

ClaudeのようなAIアシスタントがCanvas LMSと連携できるようにする、モデルコンテキストプロトコル(MCP)サーバー。このサーバーは、Canvas APIを通じて、コース、お知らせ、ルーブリック、課題、学生データを管理するためのツールを提供します。

特徴

  • アクティブなコースとその詳細を一覧表示する

  • コースにアナウンスを投稿する

  • コースのルーブリックを見る

  • 学生の入学情報を取得する

  • 課題の詳細と提出物にアクセスする

  • 生徒の提出履歴とコメントを表示する

Related MCP server: Canvas MCP Server V2.0

前提条件

インストール

  1. このリポジトリをクローンし、依存関係をインストールします。

    git clone <repository-url> cd canvas-mcp npm install
  2. TypeScript プロジェクトをビルドします。

    npm run build
  3. 環境変数を設定します。

    # Create a .env file echo "CANVAS_API_TOKEN=your_token_here" > .env # Optional: Set custom Canvas URL echo "CANVAS_DOMAIN=https://your-canvas-instance.com" >> .env

クロードデスクトップ統合

  1. Claude Desktop の設定ファイルを開きます。

    MacOSの場合:

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

    ウィンドウズ:

    code %AppData%\Claude\claude_desktop_config.json
  2. Canvas MCP サーバー構成を追加します。

    { "mcpServers": { "canvas": { "command": "node", "args": [ "/path/to/canvas-mcp/build/index.js" ], "env": { "CANVAS_API_TOKEN": "your_token_here", "CANVAS_DOMAIN": "https://your-canvas-instance.com" } } } }
  3. 変更を適用するには、Claude Desktop を再起動してください。

利用可能なツール

コース一覧

認証されたユーザーのアクティブなコースをすべて一覧表示します

  • 必須パラメータはありません

  • コース名、ID、学期情報を返します

発表後

特定のコースにアナウンスを投稿する

  • 必須パラメータ:

    • コースID: 文字列

    • タイトル: 文字列

    • メッセージ: 文字列

リストルーブリック

特定のコースのすべてのルーブリックを一覧表示します

  • 必須パラメータ:

    • コースID: 文字列

  • ルーブリックのタイトル、ID、説明を返します

学生リスト

コースに登録されている学生の完全なリストを取得します

  • 必須パラメータ:

    • コースID: 文字列

  • オプションパラメータ:

    • includeEmail: ブール値(デフォルト: false)

  • 生徒の名前、ID、およびオプションのメールアドレスを返します

リスト割り当て

提出ステータスを持つコース内のすべての課題を取得します

  • 必須パラメータ:

    • コースID: 文字列

  • オプションパラメータ:

    • 学生ID: 文字列

    • includeSubmissionHistory: ブール値(デフォルト: false)

  • 課題の詳細と提出ステータスを返します

課題提出リスト

特定の課題に対するすべての生徒の提出物を取得します

  • 必須パラメータ:

    • コースID: 文字列

    • 割り当てID: 文字列

  • オプションパラメータ:

    • includeComments: ブール値(デフォルト: true)

  • 提出物の詳細、成績、コメントを返します

利用可能なプロンプト

分析-ルーブリック-統計

コース内の形成的課題のルーブリック統計を分析し、視覚化を作成します

  • 必須パラメータ:

    • courseName: 文字列(分析するコースの名前)

  • 2 つの包括的な視覚化を作成します。

    1. すべての課題における基準ごとのスコア分布を示すグループ化された積み上げ棒グラフ

    2. すべての課題の基準ごとの平均スコアを示すグループ化された棒グラフ

  • 課題と基準の比較分析を提供します

  • 進行分析と傾向の特定を含む

トラブルシューティング

よくある問題

  1. Claude Desktop にサーバーが表示されない:

    • 設定ファイルの構文を確認する

    • ファイルパスが絶対パスであることを確認する

    • Canvas APIトークンが有効であることを確認する

    • Claudeデスクトップを再起動します

  2. 接続エラー:

    • Canvas APIトークンの権限を確認する

    • Canvasインスタンスにアクセスできることを確認する

    • Claude の MCP ログを確認します。

      # MacOS tail -f ~/Library/Logs/Claude/mcp*.log # Windows type %AppData%\Claude\Logs\mcp*.log

デバッグログ

サーバーはエラーをstderrに記録します。これらのエラーはClaude Desktopのログで確認するか、手動で実行してリダイレクトすることができます。

node build/index.js 2> debug.log

セキュリティノート

  1. APIトークンのセキュリティ:

    • Canvas APIトークンをバージョン管理にコミットしないでください

    • 環境変数または安全な構成を使用する

    • APIトークンを定期的にローテーションする

  2. 権限:

    • 必要最小限の権限を持つトークンを使用する

    • Canvas APIアクセスログを定期的に確認する

ライセンス

MITライセンス

著作権 (c) 2024

本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。

上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。

本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ranver/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server