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件取得


🚀 セットアップ

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


F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/adityas0604/MCP-Canvas'

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