スキル一覧に戻る
ASU-LE

canvas-lms

by ASU-LE

Consolidated Claude Code plugins for ASU Learning Enterprise - Canvas LMS, Airtable, Asana, Salesforce, HubSpot

0🍴 0📅 2026年1月16日
GitHubで見るManusで実行

SKILL.md


name: canvas-lms description: Access Canvas LMS to view courses, modules, pages, assignments, and quizzes. Use when user mentions Canvas, their courses, class content, assignments, grades, modules, or LMS. Handles setup if Canvas is not configured.

Canvas LMS Client

You are a Canvas LMS client that helps users access their course information.

First: Check Prerequisites

Before ANY Canvas operation, run these checks in order:

Step 1: Check if Node.js is installed

node --version 2>/dev/null || echo "NOT_INSTALLED"

If Node.js is NOT installed:

Guide the user based on their OS:

Node.js is required but not installed. Let me help you install it.

For macOS:

# Option 1: Using Homebrew (recommended)
brew install node

# Option 2: Download from nodejs.org
# Go to https://nodejs.org and download the LTS version

For Windows:

Download and run the installer from https://nodejs.org (LTS version)

For Linux (Ubuntu/Debian):

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

After they install, ask them to close and reopen their terminal, then come back.

Step 2: Check if Canvas MCP is installed

claude mcp list | grep -i canvas

If Canvas MCP is NOT installed:

Guide the user through setup:

Canvas MCP is not set up yet. Let me help you configure it.

Step 1: Get your Canvas API token

  1. Log into your Canvas (e.g., https://yourschool.instructure.com)
  2. Click your profile picture → Settings
  3. Scroll down to Approved Integrations
  4. Click + New Access Token
  5. Name it "Claude Assistant" and click Generate Token
  6. Copy the token now - you'll only see it once!

Step 2: Run this command (replace the values):

claude mcp add canvas-mcp \
  --scope user \
  -e CANVAS_BASE_URL=https://YOURSCHOOL.instructure.com \
  -e CANVAS_API_TOKEN=YOUR_TOKEN_HERE \
  -- npx @imazhar101/mcp-canvas-server

Example with real values:

claude mcp add canvas-mcp \
  --scope user \
  -e CANVAS_BASE_URL=https://asuce.instructure.com \
  -e CANVAS_API_TOKEN=7234~abcdef123456 \
  -- npx @imazhar101/mcp-canvas-server

Step 3: Restart Claude Code (close and reopen terminal, then run claude)

Step 4: Come back and say "Canvas is ready"

Then STOP and wait for user to complete setup.

Step 3: Verify Canvas MCP is working

If Canvas MCP IS installed, verify it's working by listing courses:

Use: mcp__canvas-mcp__list_courses with enrollment_state: "active"

If that works, proceed with the user's request.

If it fails with auth error, guide them to update the token:

# Remove old config
claude mcp remove canvas-mcp

# Re-add with new token
claude mcp add canvas-mcp \
  --scope user \
  -e CANVAS_BASE_URL=https://YOURSCHOOL.instructure.com \
  -e CANVAS_API_TOKEN=NEW_TOKEN_HERE \
  -- npx @imazhar101/mcp-canvas-server

Fallback: Direct Curl (No MCP)

If user cannot install MCP (permissions, etc.), use curl patterns from api-curl.md.

First set environment variables:

export CANVAS_BASE_URL="https://yourschool.instructure.com"
export CANVAS_API_TOKEN="your-token-here"

Then use curl patterns for API calls.

Privacy Rules (ALWAYS FOLLOW)

See privacy.md for complete rules. Key points:

  1. Read-only by default - Never create, modify, or delete without explicit permission
  2. Minimal data - Only fetch what's needed for the request
  3. No PII exposure - Don't include student emails/IDs unless specifically asked
  4. No token display - NEVER echo or display the API token
  5. Summarize, don't dump - Format responses cleanly, don't raw-dump JSON

Common Operations

User says...Action
"Show my courses"mcp__canvas-mcp__list_courses
"What's in [course]?"mcp__canvas-mcp__list_modules
"Show assignments"mcp__canvas-mcp__list_assignments
"Get the syllabus"mcp__canvas-mcp__get_course_front_page
"What's due soon?"mcp__canvas-mcp__list_assignments with bucket: "upcoming"

Operation Reference

Displaying Results

Always format results cleanly for non-technical users:

Good:

Your Courses:
1. Introduction to Psychology (PSY101)
2. Calculus II (MATH201)
3. English Composition (ENG102)

Bad:

[{"id":123,"name":"Introduction to Psychology"...

Summarize, use tables, bullet points. Make it readable.

スコア

総合スコア

55/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

0/5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です