Canvas MCP サーバー
ClaudeのようなAIアシスタントがCanvas LMSと連携できるようにする、モデルコンテキストプロトコル(MCP)サーバー。このサーバーは、Canvas APIを通じて、コース、お知らせ、ルーブリック、課題、学生データを管理するためのツールを提供します。
特徴
- アクティブなコースとその詳細を一覧表示する
- コースにアナウンスを投稿する
- コースのルーブリックを見る
- 学生の入学情報を取得する
- 課題の詳細と提出物にアクセスする
- 生徒の提出履歴とコメントを表示する
前提条件
- Node.js (v16 以上)
- Canvas APIトークン
- キャンバスインスタンスの URL (デフォルトは " https://fhict.instructure.com ")
インストール
- このリポジトリをクローンし、依存関係をインストールします。
- TypeScript プロジェクトをビルドします。
- 環境変数を設定します。
クロードデスクトップ統合
- Claude Desktop の設定ファイルを開きます。MacOSの場合:ウィンドウズ:
- Canvas MCP サーバー構成を追加します。
- 変更を適用するには、Claude Desktop を再起動してください。
利用可能なツール
コース一覧
認証されたユーザーのアクティブなコースをすべて一覧表示します
- 必須パラメータはありません
- コース名、ID、学期情報を返します
発表後
特定のコースにアナウンスを投稿する
- 必須パラメータ:
- コースID: 文字列
- タイトル: 文字列
- メッセージ: 文字列
リストルーブリック
特定のコースのすべてのルーブリックを一覧表示します
- 必須パラメータ:
- コースID: 文字列
- ルーブリックのタイトル、ID、説明を返します
学生リスト
コースに登録されている学生の完全なリストを取得します
- 必須パラメータ:
- コースID: 文字列
- オプションパラメータ:
- includeEmail: ブール値(デフォルト: false)
- 生徒の名前、ID、およびオプションのメールアドレスを返します
リスト割り当て
提出ステータスを持つコース内のすべての課題を取得します
- 必須パラメータ:
- コースID: 文字列
- オプションパラメータ:
- 学生ID: 文字列
- includeSubmissionHistory: ブール値(デフォルト: false)
- 課題の詳細と提出ステータスを返します
課題提出リスト
特定の課題に対するすべての生徒の提出物を取得します
- 必須パラメータ:
- コースID: 文字列
- 割り当てID: 文字列
- オプションパラメータ:
- includeComments: ブール値(デフォルト: true)
- 提出物の詳細、成績、コメントを返します
利用可能なプロンプト
分析-ルーブリック-統計
コース内の形成的課題のルーブリック統計を分析し、視覚化を作成します
- 必須パラメータ:
- courseName: 文字列(分析するコースの名前)
- 2 つの包括的な視覚化を作成します。
- すべての課題における基準ごとのスコア分布を示すグループ化された積み上げ棒グラフ
- すべての課題の基準ごとの平均スコアを示すグループ化された棒グラフ
- 課題と基準の比較分析を提供します
- 進行分析と傾向の特定を含む
トラブルシューティング
よくある問題
- Claude Desktop にサーバーが表示されない:
- 設定ファイルの構文を確認する
- ファイルパスが絶対パスであることを確認する
- Canvas APIトークンが有効であることを確認する
- Claudeデスクトップを再起動します
- 接続エラー:
- Canvas APIトークンの権限を確認する
- Canvasインスタンスにアクセスできることを確認する
- Claude の MCP ログを確認します。
デバッグログ
サーバーはエラーをstderrに記録します。これらのエラーはClaude Desktopのログで確認するか、手動で実行してリダイレクトすることができます。
セキュリティノート
- APIトークンのセキュリティ:
- Canvas APIトークンをバージョン管理にコミットしないでください
- 環境変数または安全な構成を使用する
- APIトークンを定期的にローテーションする
- 権限:
- 必要最小限の権限を持つトークンを使用する
- Canvas APIアクセスログを定期的に確認する
ライセンス
MITライセンス
著作権 (c) 2024
本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。
本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。
This server cannot be installed
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.
Claude のような AI アシスタントが Canvas API を介して Canvas LMS と対話できるようにし、コース、お知らせ、ルーブリック、課題、学生データを管理するためのツールを提供します。
Related MCP Servers
- -securityAlicense-qualityA local server that enables interaction with Canvas Learning Management System API through Claude Desktop, allowing users to manage courses, access assignments, view announcements, and retrieve course materials.Last updated -11PythonMIT License
- AsecurityFlicenseAqualityA 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 -543039JavaScript
- -securityAlicense-qualityA 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 -6PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables Claude to interact with Canvas LMS, providing tools for managing courses, announcements, assignments, students, and more through the Canvas API.Last updated -TypeScript