用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Dicklesworthstone/pi_agent_rust --skill canvas-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | canvas-api |
| description | Canvas API Connection Skill |
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: