← Back to search

io.github.chrischall/canvas-parent-mcp

chrischall Scanned 13d ago

Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files

B
77.7 / 100

Versions

1.2.2latest
Jul 30, 2026
1.2.0
Jul 13, 2026
1.1.8
Jul 7, 2026
1.1.7
Jul 5, 2026
1.1.6
Jun 13, 2026
+ show 13 moreshow less
1.1.5
Jun 4, 2026
1.1.4
May 29, 2026
1.1.3
May 26, 2026
1.1.2
May 26, 2026
1.0.3
May 21, 2026
1.0.2
May 4, 2026
1.0.1
May 3, 2026
1.0.0
May 3, 2026
0.1.4
May 3, 2026
0.1.3
May 3, 2026
0.1.2
May 3, 2026
0.1.1
May 3, 2026
0.1.0
May 3, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 18

canvas_list_assignments
annotations: verified low

List a course's assignments (with the user's submission inline). Supports the standard Canvas `bucket` filter.

readOnlyHint true
canvas_list_missing_submissions
annotations: verified low

List past-due unsubmitted assignments for the user (or a linked observee). For an observee, courseIds is required.

readOnlyHint true
canvas_list_conversations
annotations: verified low

List Canvas inbox conversations. Optional `scope` (unread/starred/archived/sent) and `filter` (array of context codes).

readOnlyHint true
canvas_get_conversation
annotations: verified low

Get a full Canvas conversation thread with all messages.

readOnlyHint true
canvas_list_course_files
annotations: verified low

List a course's files (metadata only — use canvas_download_file with the `url` field).

readOnlyHint true destructiveHint true
canvas_download_file
annotations: verified low

Download a Canvas file to disk. `url` is the absolute URL from canvas_list_course_files; `destinationPath` is required.

destructiveHint true
canvas_list_observees
annotations: verified low

List students linked to your Canvas observer account. Returns an empty array for plain student tokens.

readOnlyHint true
canvas_list_discussion_topics
annotations: verified low

List discussion topics for a course (read-only).

readOnlyHint true
canvas_list_announcements
annotations: verified low

List announcements across one or more courses. `contextCodes` is required (e.g. [\"course_123\"]). Defaults to active-only.

readOnlyHint true
canvas_list_planner_items
annotations: verified low

List planner items (assignments + announcements + planner notes + calendar events) for the user or a linked observee.

readOnlyHint true
canvas_list_calendar_events
annotations: verified low

List Canvas calendar events or assignments across selected contexts (courses/users).

readOnlyHint true
canvas_list_upcoming_events
annotations: verified low

List the calling user's upcoming events (Canvas's curated next-7-days view).

readOnlyHint true
canvas_list_courses
annotations: verified low

List active Canvas courses (with course-level grades, total scores, current grading period scores, and term).

readOnlyHint true
canvas_get_course
annotations: verified low

Get a single Canvas course with its syllabus, teachers, and term.

readOnlyHint true
canvas_get_submission
annotations: verified low

Get a single submission with rubric assessment and grader comments. userId defaults to 'self'.

readOnlyHint true
canvas_list_recent_submissions
annotations: verified low

List recently graded submissions in a course. Defaults to a 14-day window for the calling user.

readOnlyHint true
canvas_list_enrollments
annotations: verified low

List active student enrollments with per-course grades (current_score, final_score, current_grade, final_grade, current grading period info).

readOnlyHint true
canvas_get_profile
annotations: verified low

Get the logged-in user's Canvas profile (id, name, primary_email, login_id, locale, time_zone). Useful first call to confirm credentials.

readOnlyHint true

Permissions 2

network medium
Server uses network capabilities via: fetch()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 48

info
Tool 'canvas_list_discussion_topics' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_announcements' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_planner_items' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_calendar_events' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_assignments' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_missing_submissions' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_conversations' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_get_conversation' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_course_files' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_download_file' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_observees' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_upcoming_events' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_courses' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_get_course' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_get_submission' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_recent_submissions' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_list_enrollments' annotations are consistent annotation_checker · 80%
info
Tool 'canvas_get_profile' annotations are consistent annotation_checker · 80%
high
Hardcoded OAuth client secret in chrischall-canvas-parent-mcp-39d2aaf/tests/qr-login.test.ts auth_checker · 95%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: esbuild@0.28.0 (GHSA-g7r4-m6w7-qqqr) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: canvas_list_assignments manifest_parser · 85%
info
Tool: canvas_list_missing_submissions manifest_parser · 85%
info
Tool: canvas_list_conversations manifest_parser · 85%
info
Tool: canvas_get_conversation manifest_parser · 85%
info
Tool: canvas_list_course_files manifest_parser · 85%
info
Tool: canvas_download_file manifest_parser · 85%
info
Tool: canvas_list_observees manifest_parser · 85%
info
Tool: canvas_list_discussion_topics manifest_parser · 85%
info
Tool: canvas_list_announcements manifest_parser · 85%
info
Tool: canvas_list_planner_items manifest_parser · 85%
info
Tool: canvas_list_calendar_events manifest_parser · 85%
info
Tool: canvas_list_upcoming_events manifest_parser · 85%
info
Tool: canvas_list_courses manifest_parser · 85%
info
Tool: canvas_get_course manifest_parser · 85%
info
Tool: canvas_get_submission manifest_parser · 85%
info
Tool: canvas_list_recent_submissions manifest_parser · 85%
info
Tool: canvas_list_enrollments manifest_parser · 85%
info
Tool: canvas_get_profile manifest_parser · 85%
info
Required env vars (11) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'canvas_get_profile': Cross-tool prerequisite: 'first call/use' poisoning · 85%
info
SBOM generated: 236 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%