Back to list
a-ariff

canvas-api

by a-ariff

🔌 Production-ready Claude Code plugin marketplace with 41 components: 21 autonomous agents, 15 power skills, 2 smart hooks, 2 custom commands. Transform Claude Code into an autonomous development powerhouse. One-line install, cross-device sync, comprehensive documentation.

1🍴 0📅 Jan 24, 2026

SKILL.md


name: canvas-api description: Canvas API Connection Skill

Canvas API Connection Skill

Complete guide to connecting and using Canvas LMS API for Whitecliffe courses.

Quick Reference

ItemValue
User ID2396
User NameMohamed Abdul Latiff (Ariff)
Canvas URLhttps://learn.mywhitecliffe.com
MCP Servercanvas-mcp-sse.ariff.dev

Current Courses (2025)

CourseIDCode
Applied Project2366IT8107
Cybersecurity Architecture2368IT8109

Connection Methods

The Canvas MCP server is already configured and provides 12 tools:

Course Tools:

  • get_courses - List all enrolled courses
  • get_modules - Get course modules

Assignment Tools:

  • get_assignments - List assignments for a course
  • get_upcoming_assignments - Next 7 days deadlines

Grade Tools:

  • get_grades - Current grades for a course
  • get_submissions - Submission details

Discussion Tools:

  • get_discussion_topics - List discussions
  • get_announcements - Course announcements

Quiz Tools:

  • get_quizzes - List quizzes

Example Usage

# Get all courses
mcp__canvas-mcp__get_courses()

# Get assignments for IT8107
mcp__canvas-mcp__get_assignments(course_id=2366)

# Check grades
mcp__canvas-mcp__get_grades(course_id=2366)

# Get upcoming deadlines
mcp__canvas-mcp__get_upcoming_assignments()

Method 2: Direct API

For custom integrations or when MCP is unavailable:

Base URL: https://learn.mywhitecliffe.com/api/v1

Authentication:

# Store token securely (never commit!)
export CANVAS_TOKEN="your-token-here"

# API request
curl -H "Authorization: Bearer $CANVAS_TOKEN" \
     "https://learn.mywhitecliffe.com/api/v1/courses"

Common Endpoints:

EndpointDescription
/coursesList courses
/courses/:id/assignmentsCourse assignments
/courses/:id/gradesCourse grades
/courses/:id/modulesCourse modules
/users/self/upcoming_eventsUpcoming events

Method 3: Python SDK

from canvasapi import Canvas

API_URL = "https://learn.mywhitecliffe.com"
API_KEY = os.environ.get("CANVAS_TOKEN")

canvas = Canvas(API_URL, API_KEY)
user = canvas.get_current_user()
courses = user.get_courses(enrollment_state='active')

Setup Instructions

Adding Canvas MCP to Claude

Already configured in mcp-config.json:

{
  "mcpServers": {
    "canvas-mcp": {
      "type": "sse",
      "url": "https://canvas-mcp-sse.ariff.dev/sse"
    }
  }
}

Getting API Token

  1. Log in to https://learn.mywhitecliffe.com
  2. Go to Account → Settings
  3. Scroll to "Approved Integrations"
  4. Click "+ New Access Token"
  5. Set expiry (recommended: end of semester)
  6. Copy token immediately (shown only once)

Storing Token Securely

macOS Keychain:

security add-generic-password -a "$USER" -s "canvas-api" -w "YOUR_TOKEN"

Environment variable:

# Add to ~/.zshrc
export CANVAS_TOKEN="$(security find-generic-password -a "$USER" -s "canvas-api" -w)"

Important Notes

⚠️ Always verify with MCP tools - Don't assume course/assignment details

⚠️ Token security - Never commit tokens to git

⚠️ Rate limits - Canvas has API rate limits, batch requests when possible

⚠️ Course IDs change - Each semester has new course IDs

Troubleshooting

"Unauthorized" errors:

  • Token expired - generate new one
  • Token revoked - check Canvas settings

MCP not responding:

Missing courses:

  • Check enrollment status
  • Some courses may be unpublished

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

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

+20
LICENSE

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

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

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

0/5
Issue管理

オープンIssueが50未満

+5
言語

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

+5
タグ

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

+5

Reviews

💬

Reviews coming soon