Skip to main content
Glama

🎓 Canvas LMS MCPサーバー

Claude AIをCanvas LMSアカウントに接続し、自然言語を使ってコースワークとやり取りできるようにする堅牢なModel Context Protocol (MCP) サーバーです。

Python · Canvas REST API · MCP SDK で構築


✨ 機能 (4つのモジュールで14のツール)

📚 課題とコース

ツール

説明

canvas_get_course_list

登録中のアクティブなコースをすべてリストアップ

canvas_get_assignments

すべての課題を取得(全コースまたはフィルタリング)

canvas_get_upcoming_deadlines

今後N日間の締め切りを緊急度別に色分けして表示

canvas_get_assignment_details

特定の課題の詳細情報を取得

canvas_get_submission_status

全コースの提出状況と未提出状況を確認

📊 成績

ツール

説明

canvas_get_course_grades

現在の成績を視覚的なプログレスバーで表示

canvas_get_grade_breakdown

課題ごとの内訳と現在の合計点を表示

canvas_get_missing_assignments

未提出の課題をすべて取得

📢 お知らせとモジュール

ツール

説明

canvas_get_announcements

各コースの最近のお知らせを取得

canvas_get_course_modules

ロック/完了ステータスを含むモジュールを取得

canvas_get_module_items

完了チェックボックス付きのモジュール内アイテムを取得

📅 カレンダー

ツール

説明

canvas_get_calendar_events

今後N日間のすべてのイベントを取得

canvas_get_weekly_schedule

週ごとのスケジュールを一覧表示

canvas_get_upcoming_events

全コースの今後のイベントをN件取得


Related MCP server: Canvas LMS MCP Server

🚀 セットアップ

1. リポジトリをクローン

git clone https://github.com/yourusername/canvas-mcp.git
cd canvas-mcp

2. 依存関係をインストール

pip install -r requirements.txt

3. Canvasの認証情報を設定

cp .env.example .env

.env を編集します:

CANVAS_BASE_URL=https://yourschool.instructure.com
CANVAS_API_TOKEN=your_token_here

Canvas APIトークンの取得方法:

  1. Canvasにログイン

  2. アカウント → 設定 に移動

  3. 承認済み統合 までスクロール

  4. 新しいアクセストークン をクリック

  5. トークンをコピーして .env に貼り付け

4. Claude Desktopを設定

claude_desktop_config.json に以下を追加します:

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "canvas": {
      "command": "python",
      "args": ["/absolute/path/to/canvas-mcp/server.py"],
      "env": {
        "CANVAS_BASE_URL": "canvas_base_url"
        "CANVAS_API_TOKEN": "your_token_here"
      }
    }
  }
}

5. Claude Desktopを再起動

これでCanvasツールがClaudeのサイドバーに表示されます!


💬 プロンプト例

接続後、Claudeに以下のように尋ねてみてください:

  • "今週締め切りの課題は何ですか?"

  • "現在のGPAの推定値は?"

  • "未提出の課題はありますか?"

  • "教授から最近投稿されたお知らせはありますか?"

  • "コース 12345 の成績の内訳を見せて"

  • "今週の予定はどうなっていますか?"


🗂️ プロジェクト構造

canvas-mcp/
├── server.py           # MCP server entry point (14 tools)
├── canvas_client.py    # Canvas REST API wrapper with pagination
├── tools/
│   ├── assignments.py  # Assignment & course tools
│   ├── grades.py       # Grade tools
│   ├── announcements.py# Announcement & module tools
│   └── calendar.py     # Calendar tools
├── .env.example        # Environment config template
├── requirements.txt
└── README.md

🔒 プライバシーとセキュリティ

  • 読み取り専用 — このサーバーはCanvasのデータを書き込み、送信、変更することはありません


🛠️ 技術スタック

  • Python 3.10+

  • MCP SDK — Model Context Protocol

  • httpx — 非同期対応HTTPクライアント

  • python-dotenv — 環境設定

  • Canvas LMS REST API


Related MCP Connectors

Related MCP Servers