Canvas Assignment Assistant MCP Server について
Canvas Assignment Assistant MCP Serverは、学生などのCanvasユーザーがMCP対応のLLMクライアントからコースや課題を確認できるサーバーです。コース一覧と課題検索に加え、複数形式で課題の詳細を取得できます。
主な機能
- 01コース状態によるコース一覧
- 02条件を指定した課題検索
- 03課題の詳細取得
- 04HTML、プレーンテキスト、Markdownでの出力
- 05課題内容をリソースとして提供
活用シーン
- 01締め切りが近い課題の確認
- 02複数コースをまたいだ課題検索
- 03特定の課題の説明確認
MCP 対応
Canvasのコース・課題ツールを提供し、課題内容をMCPリソースとして公開します。APIトークンと所属機関のドメインを使ってCanvasアカウントに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Canvas Assignment Assistant MCP Server
概要
この Model Context Protocol(MCP)サーバーを使用すると、LLM(Claude Desktop など)を離れることなく、Canvas/Instructure のコースや課題を操作できます。
コースや課題の情報をプログラムから取得、検索、要約できます。たとえば、今後の課題の期限を確認できます。

機能
ツール
-
コースの一覧表示
- コースの一覧を取得します
- コースの状態(有効、完了、すべて)で絞り込みます
-
課題の検索
- 複数のコースから課題を検索します
- 次の条件で絞り込みます:
- 検索クエリ
- 期限の範囲
- 特定のコース
- 完了したコースを含める/除外する
-
課題の詳細取得
- 特定の課題に関する詳細情報を取得します
- 複数の出力形式(完全な HTML、プレーンテキスト、Markdown)に対応します
リソース
- 課題の内容:標準化された URI 形式を使用して、課題の詳細全体を取得します
前提条件
- MCP 対応クライアント(Claude Desktop、Cursor など)
- Canvas LMS アカウント
- Canvas API トークン
- Canvas ドメイン
設定
MCP バンドルをインストールすると、次の項目を設定するよう求められます。
- Canvas API トークン:Canvas API アクセストークン(下記の手順を参照)
- Canvas ドメイン:Canvas の所属機関のドメイン(例:
canvas.youruniversity.edu)
これらの値は MCP クライアントによって安全に保存され、設定ファイルには公開されません。
セキュリティに関する注意
Canvas API トークンは秘密にしてください。このバンドルではトークンが機密情報として扱われるため、MCP クライアントによって安全に保存されます。
インストール
この MCP サーバーは、簡単にインストールできる MCP バンドル(.mcpb ファイル)として配布されています。
オプション 1:バンドルファイルからインストール(推奨)
-
バンドルをダウンロードする
リリースページから
canvas-mcp.mcpbファイルをダウンロードするか、自分でビルドしてください(オプション 2 を参照)。 -
MCP クライアントにインストールする
Claude Desktop の場合:
- Claude Desktop の設定を開きます
- MCP サーバーのセクションに移動します
- 「Add Server」または「Install from Bundle」をクリックします
canvas-mcp.mcpbファイルを選択します- 求められたら、Canvas API トークンとドメインを入力します
Cursor の場合:
- Cursor の設定を開きます
- MCP の設定に移動します
- バンドルファイルをインストールします
- 求められたら、Canvas API トークンとドメインを設定します
-
認証情報を設定する
バンドルを初めてインストールすると、次の情報を入力するよう求められます。
- Canvas API トークン:Canvas API アクセストークン(下記の手順を参照)
- Canvas ドメイン:Canvas の所属機関のドメイン(例:
canvas.youruniversity.edu)
オプション 2:ソースからビルドする
バンドルを自分でビルドする場合:
-
リポジトリをクローンして依存関係をインストールする
git clone https://github.com/mbcrosiersamuel/canvas-mcp.git cd canvas-mcp npm install -
バンドルをビルドする
npm run packageこれにより
canvas-mcp.mcpbファイルが作成されます。このファイルはオプション 1 の手順でインストールできます。
Canvas API トークンの取得方法
- Canvas にログインします
- [アカウント]>[設定]に移動します
- [承認済みの統合]セクションまでスクロールします
- [新しいアクセストークン]をクリックします
- 生成されたトークンをコピーします
詳しくは、Canvas のこちらの手順を参照してください。
MCP ツール
list_courses:デフォルトでは、すべての有効なコースを表示します。フラグを使って、完了したコースまたはすべてのコースを表示しますsearch_assignments:課題のタイトルと説明を検索しますget_assignment:課題の詳細全体を取得します
トラブルシューティング
よくある問題
-
無効なトークン:
- Canvas API トークンを再生成します
- トークンに適切な権限があることを確認します
-
ドメインが正しくない:
- Canvas の所属機関のドメインを再確認します
- 入力ミスがないことを確認します
免責事項
これは非公式の Canvas MCP であり、Canvas または Instructure とは提携していません。また、私はプロのソフトウェアエンジニアではなく、このプロジェクトは Claude を使ってバイブコーディングしたものです。ご自身の責任でご利用ください :)
謝辞
- インスピレーションと、この Readme の一部の文章を提供してくださった Luke Harries に感謝します。
- LLM を使って MCP を作成する方法について、すばらしい手順を公開してくださった Anthropic チームに感謝します!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。