Canvas MCP サーバー
Canvas APIと連携するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーを使用すると、Canvas内でコース、課題、登録、成績を管理できます。
前提条件
Node.js : バージョン18以上
Canvas APIトークン: Canvasアカウントから取得
Canvas ドメイン: 通常は、
canvas.instructure.com
Related MCP server: School MCP
設定
リポジトリのクローンを作成する
git clone https://github.com/yourusername/canvas-mcp-server.git cd canvas-mcp-server依存関係をインストールする
npm install環境変数を設定する
サンプル環境ファイルをコピーします。
.env を編集し、プレースホルダーの値を実際の Canvas API トークンとドメインに置き換えます。
プロジェクトを構築する
サーバーを実行する
npm startサーバーが起動し、stdio 経由で MCP 要求をリッスンします。
Claudeデスクトップに接続しています
クロードの設定を更新する
MCP サーバー構成を claude_desktop_config.json に追加します。
Claudeデスクトップを再起動します
Claude Desktopを完全に終了してください。Claude Desktopを再起動してください。🔌メニューに移動して、Canvas MCPサーバーを見つけて接続してください。
利用可能なツール(学生向けのツールも近日中に追加予定)
canvas_create_course: Canvas に新しいコースを作成します。canvas_update_course: Canvas 内の既存のコースを更新します。canvas_create_assignment: Canvas コースに新しい課題を作成します。canvas_update_assignment: 既存の課題を更新します。canvas_submit_grade: 生徒の課題の成績を送信します。canvas_enroll_user: ユーザーをコースに登録します。
エラー処理
ツールは、問題が発生した場合にisError: trueというエラーメッセージを返します。実行時エラーを回避するために、必要な環境変数がすべて設定されていることを確認してください。
トラブルシューティング
ビルド エラー:
TypeScript のバージョンを確認します: npx tsc --version クリーンしてリビルドします: rm -rf build/ && npm run build
ランタイムエラー:
詳細なエラーメッセージについてはログを確認してください。環境変数が正しく設定されていることを確認してください。
型エラー:
TypeScriptの型チェックを使用して型を検証する: npx tsc --noEmit
貢献
貢献を歓迎します!改善やバグ修正については、問題を報告したり、プルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。
追加情報
型安全性:
types.tsファイルは、Canvas API とのすべてのやり取りが型安全であることを保証し、実行時エラーを削減し、コードの保守性を向上させます。エラー処理: サーバーは、
isErrorフラグを使用して意味のあるメッセージを返すことでエラーを適切に処理し、クライアント (Claude Desktop など) がエラーを理解して適切に対応できるようにします。環境変数: API トークンなどの機密情報は環境変数を通じて管理され、さまざまな環境にわたるセキュリティと柔軟性が向上します。
モジュール性: 関心事を異なるファイル (
types.ts、client.ts、index.ts) に分割すると、コードベースのナビゲートと保守が容易になります。
プロジェクトの具体的なニーズに合わせて、ファイルパスや設定を自由に調整してください。さらにサポートが必要な場合はお知らせください。