Complete guide to connecting and using Canvas LMS API for Whitecliffe courses.
/plugin marketplace add a-ariff/Ariff-code-config/plugin install a-ariff-canvas-api-claude-plugin-plugins-canvas-api@a-ariff/Ariff-code-configThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Complete guide to connecting and using Canvas LMS API for Whitecliffe courses.
| Item | Value |
|---|---|
| User ID | 2396 |
| User Name | Mohamed Abdul Latiff (Ariff) |
| Canvas URL | https://learn.mywhitecliffe.com |
| MCP Server | canvas-mcp-sse.ariff.dev |
| Course | ID | Code |
|---|---|---|
| Applied Project | 2366 | IT8107 |
| Cybersecurity Architecture | 2368 | IT8109 |
The Canvas MCP server is already configured and provides 12 tools:
Course Tools:
get_courses - List all enrolled coursesget_modules - Get course modulesAssignment Tools:
get_assignments - List assignments for a courseget_upcoming_assignments - Next 7 days deadlinesGrade Tools:
get_grades - Current grades for a courseget_submissions - Submission detailsDiscussion Tools:
get_discussion_topics - List discussionsget_announcements - Course announcementsQuiz Tools:
get_quizzes - List quizzes# 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()
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:
| Endpoint | Description |
|---|---|
/courses | List courses |
/courses/:id/assignments | Course assignments |
/courses/:id/grades | Course grades |
/courses/:id/modules | Course modules |
/users/self/upcoming_events | Upcoming events |
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')
Already configured in mcp-config.json:
{
"mcpServers": {
"canvas-mcp": {
"type": "sse",
"url": "https://canvas-mcp-sse.ariff.dev/sse"
}
}
}
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)"
⚠️ 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
"Unauthorized" errors:
MCP not responding:
Missing courses:
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.