canvas-lms-mcp

MCPattestiert
v2.2.0Christian BruMITAktualisiert vor 2 TnpmGitHub

TypeScript MCP 1.x server for Canvas LMS — 172 tools across Canvas courses, assignments, grades, gradebook history, quizzes, New Quizzes (LTI), outcomes, discussions, admin workflows, and more.

Läuft in
ClaudeCursorCopilotGemini

Abgeleitet aus den Transporten, die dieser Eintrag deklariert (stdio). Ein Client, der hier nicht steht, ist damit nicht ausgeschlossen — Forge kann ihn nur nicht bestätigen.

Attestierter Build
Eine verifizierte Herkunfts-Attestation bindet dieses Artefakt an das gelistete Repository. Den Eintrag hat noch niemand beansprucht — das belegt, wo der Code gebaut wurde, nicht, wer dahintersteht.
4kDownloads/Wo.
9GitHub-Sterne
4Forks
vor 2 TLetzte Aktualisierung
Braucht 1 Zugangsdatum, bevor es läuft
  • CANVAS_API_TOKENAPI-Schlüsselerforderlich

    Canvas personal access token (Account → Settings → Approved Integrations → New Access Token)

Vom Autor in der offiziellen MCP-Registry angegeben. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Paket
AutorChristian Bru
LizenzMIT
Version2.2.0
Quellenpm+mcp-registry
Trust-Status
A
85/100Vertrauenswürdig
✓Im Forge-Index gelistet+10/10
✓Identität verifiziert · attestierter Build+20/20
—Ed25519-Publish-Signatur+0/5
→ Wird automatisch ergänzt, wenn der Publisher `forge publish` ausführt
—Domain-Verifizierung+0/5
→ Publisher: hinterlege /.well-known/forge.json auf der Paket-Homepage mit { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm-Maintainer-Übereinstimmung+0/5
→ Publisher: trage den verifizierten GitHub-Login als Maintainer des npm-Pakets ein (npm owner add <login>)
✓CVE-Scan · sauber+30/30
✓Statische Analyse · sauber+20/20
Füge das in Claude Code, Cursor oder einen beliebigen KI-Assistenten ein, um alle Lücken zu schließen
StatusIdentität verifiziert
PublisherNicht verifiziert
SignaturNicht signiert
Domain—
Herkunft✓ Sigstore-verifiziert · b7b3605
Abhängigkeiten✓ 60 aufgelöst+ · keine verwundbar
Tool-Oberfläche40 Tools · 2 privilegiert
Sicherheits-Scan✓ Sauberv2.3.0 · heuteWie gut funktioniert dieser Scan?
EvaluierungenKeine
Indexiert25. Juli 2026

Die Verifizierung bestätigt die Identität des Publishers (die Inhaberschaft am Repo), nicht die Sicherheit des Codes. Der Sicherheits-Scan deckt bekannte CVEs und verdächtige Installationsskripte ab.

Tools

40 Tools · 2 privilegiert
Statisch aus dem veröffentlichten Paket extrahiertv2.3.0 · 8h ago

Aus dem Quellcode gelesen, den npm tatsächlich ausliefert, zum Zeitpunkt des Scans. Das Paket wurde nie ausgeführt. Tools, die zur Laufzeit dynamisch registriert werden oder in gebündeltem beziehungsweise minifiziertem Code stecken, können übersehen werden — das hier ist also eine Untergrenze der Tool-Oberfläche, keine vollständige Erhebung.

get_accountGet details for a Canvas account by ID.

Get details for a Canvas account by ID.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_accountsList all accounts accessible to the authenticated user.

List all accounts accessible to the authenticated user.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_sub_accountsList sub-accounts under a given Canvas account.

List sub-accounts under a given Canvas account.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_account_coursesList courses under a given Canvas account.

List courses under a given Canvas account.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_account_usersList users in a Canvas account.

List users in a Canvas account.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_account_reportsList available report types for a Canvas account.

List available report types for a Canvas account.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_account_notificationsList active global institution-wide announcements for the current user (maintenance windows, term deadlines, policy notices).

List active global institution-wide announcements for the current user (maintenance windows, term deadlines, policy notices).

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

view_account_notificationsInteractive panel of active institution-wide announcements. Returns the same payload as `list_account_notifications` and additionally links to an MCP Apps UI resource that renders scannable announcement cards with type filters and search. Hosts that do not support MCP Apps fall back to the JSON pay…

Interactive panel of active institution-wide announcements. Returns the same payload as `list_account_notifications` and additionally links to an MCP Apps UI resource that renders scannable announcement cards with type filters and search. Hosts that do not support MCP Apps fall back to the JSON pay…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

upload_submission_fileprivilegiertUpload a file to the authenticated student's own submission area for one assignment, as step 1 of an online_upload submission (step 2: pass the returned file id to submit_assignment). Opt-in tool: only available when the server was started with CANVAS_ENABLE_ASSIGNMENT_SUBMISSION. Content must be b…

Upload a file to the authenticated student's own submission area for one assignment, as step 1 of an online_upload submission (step 2: pass the returned file id to submit_assignment). Opt-in tool: only available when the server was started with CANVAS_ENABLE_ASSIGNMENT_SUBMISSION. Content must be b…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

submit_assignmentKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

search_course_contentSearch for content within a course. Searches pages, assignments, discussions, and announcements by keyword.

Search for content within a course. Searches pages, assignments, discussions, and announcements by keyword.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_course_analyticsGet course-level activity analytics. Returns daily page view and participation counts.

Get course-level activity analytics. Returns daily page view and participation counts.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_student_analyticsGet per-student activity analytics for a course. Returns page views, participations, and submission timeline for a specific student.

Get per-student activity analytics for a course. Returns page views, participations, and submission timeline for a specific student.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_course_activity_streamGet a summary of recent activity in a course. Returns counts of recent events grouped by type (submissions, discussions, announcements, etc.).

Get a summary of recent activity in a course. Returns counts of recent events grouped by type (submissions, discussions, announcements, etc.).

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_assignment_analyticsGet score distribution analytics for assignments in a course. Returns statistical summary (min, max, median, first/third quartile), submission count, and tardiness breakdown (on_time, late, missing) for each assignment. Provide assignment_id to scope to one assignment; omit to return analytics for…

Get score distribution analytics for assignments in a course. Returns statistical summary (min, max, median, first/third quartile), submission count, and tardiness breakdown (on_time, late, missing) for each assignment. Provide assignment_id to scope to one assignment; omit to return analytics for…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_submission_comments_needing_attentionList submissions where the most recent comment is from the student and has not been addressed by grading or a reply — i.e. comments the instructor has likely not seen. Returns a triage list, oldest-unaddressed first. Requires instructor/TA permissions in the course.

List submissions where the most recent comment is from the student and has not been addressed by grading or a reply — i.e. comments the instructor has likely not seen. Returns a triage list, oldest-unaddressed first. Requires instructor/TA permissions in the course.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_students_needing_attentionReport students who may need instructor attention based on inactivity, missing or late submissions, and low current score. Each finding lists the exact signals that fired and the thresholds used — this is a factual report, not a prediction. Requires instructor/TA permissions in the course.

Report students who may need instructor attention based on inactivity, missing or late submissions, and low current score. Each finding lists the exact signals that fired and the thresholds used — this is a factual report, not a prediction. Requires instructor/TA permissions in the course.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_assignmentsList all assignments in a course. Use fields="slim" when enumerating assignments for selection; switch to "full" once you've identified the target. slim returns id, name, due_at, points_possible, published, and course_id only. "full" (default) includes all Canvas fields plus `include` extras (submi…

List all assignments in a course. Use fields="slim" when enumerating assignments for selection; switch to "full" once you've identified the target. slim returns id, name, due_at, points_possible, published, and course_id only. "full" (default) includes all Canvas fields plus `include` extras (submi…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_assignmentGet details for a single assignment by ID. Use `include` to request submission, overrides, all_dates, score_statistics, and other optional fields.

Get details for a single assignment by ID. Use `include` to request submission, overrides, all_dates, score_statistics, and other optional fields.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_assignment_groupsList assignment groups (categories like Homework, Exams) in a course. Use `include=assignments` to nest assignments under each group; other includes add submission, overrides, score_statistics, etc.

List assignment groups (categories like Homework, Exams) in a course. Use `include=assignments` to nest assignments under each group; other includes add submission, overrides, score_statistics, etc.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_assignmentCreate a new assignment in a course.

Create a new assignment in a course.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_assignmentUpdate an existing assignment in a course.

Update an existing assignment in a course.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

delete_assignmentprivilegiertDelete an assignment from a course. This action is permanent.

Delete an assignment from a course. This action is permanent.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_assignment_overridesList all due-date / availability overrides for a specific assignment in a course. Returns overrides targeting individual students, sections, or groups. Useful for auditing before creating a new override — Canvas returns a 422 if a student-set override already exists for the same students on the sam…

List all due-date / availability overrides for a specific assignment in a course. Returns overrides targeting individual students, sections, or groups. Useful for auditing before creating a new override — Canvas returns a 422 if a student-set override already exists for the same students on the sam…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_assignment_overrideKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

set_student_assignment_datesKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

list_calendar_eventsList calendar events for a course, unbounded by the ~1-week/20-item caps that `get_upcoming_events` and `get_my_upcoming_assignments` are stuck with. By default Canvas only returns `type="event"` items for today alone (end_date defaults to start_date) — pass both start_date and end_date to cover a…

List calendar events for a course, unbounded by the ~1-week/20-item caps that `get_upcoming_events` and `get_my_upcoming_assignments` are stuck with. By default Canvas only returns `type="event"` items for today alone (end_date defaults to start_date) — pass both start_date and end_date to cover a…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_calendar_eventCreate a new calendar event in Canvas.

Create a new calendar event in Canvas.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_calendar_eventUpdate an existing calendar event. Only provided fields are changed.

Update an existing calendar event. Only provided fields are changed.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_content_exportStart a Canvas course content export (Common Cartridge / QTI / zip). Exports are asynchronous — this tool returns immediately with an export ID and initial workflow_state ("created"). Call get_content_export to poll progress and retrieve the time-limited download link when the export finishes.

Start a Canvas course content export (Common Cartridge / QTI / zip). Exports are asynchronous — this tool returns immediately with an export ID and initial workflow_state ("created"). Call get_content_export to poll progress and retrieve the time-limited download link when the export finishes.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_content_exportGet the status of a content export. When workflow_state is "exported", attachment.url contains a time-limited download link — download it promptly, as the URL expires (re-fetch to get a fresh one). Returns attachment: null while still "created"/"exporting" or on "failed".

Get the status of a content export. When workflow_state is "exported", attachment.url contains a time-limited download link — download it promptly, as the URL expires (re-fetch to get a fresh one). Returns attachment: null while still "created"/"exporting" or on "failed".

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_content_exportsList all content exports for a course (most recent first).

List all content exports for a course (most recent first).

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_content_migrationsList all content migrations for a course (most recent first).

List all content migrations for a course (most recent first).

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_content_migrationGet the status of a single content migration. When workflow_state is "running", poll progress_url for live updates. When "completed", the migration is done.

Get the status of a single content migration. When workflow_state is "running", poll progress_url for live updates. When "completed", the migration is done.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_content_migration_typesList available migration types (migrators) for a course. Returns migrator type keys such as course_copy_importer, common_cartridge_importer, zip_file_importer, qti_converter, moodle_converter.

List available migration types (migrators) for a course. Returns migrator type keys such as course_copy_importer, common_cartridge_importer, zip_file_importer, qti_converter, moodle_converter.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_migration_selective_dataGet the selective import tree for a migration — the list of content items available to selectively import. Only meaningful for migrations in the "waiting_for_select" state.

Get the selective import tree for a migration — the list of content items available to selectively import. Only meaningful for migrations in the "waiting_for_select" state.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_migration_asset_id_mappingGet the old-to-new asset ID mapping for a completed migration. Useful for resolving references to content that existed in the source course.

Get the old-to-new asset ID mapping for a completed migration. Useful for resolving references to content that existed in the source course.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_migration_issuesList issues encountered during a content migration. Each issue has a type (todo, warning, or error) and a description.

List issues encountered during a content migration. Each issue has a type (todo, warning, or error) and a description.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_content_migrationStart a content migration (course copy, Common Cartridge import, zip import, QTI conversion, or Moodle conversion). Migrations are asynchronous — this tool returns immediately with a migration ID and progress_url. Poll get_content_migration or progress_url to track completion.

Start a content migration (course copy, Common Cartridge import, zip import, QTI conversion, or Moodle conversion). Migrations are asynchronous — this tool returns immediately with a migration ID and progress_url. Poll get_content_migration or progress_url to track completion.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_conversationsList conversations (inbox messages) for the authenticated user.

List conversations (inbox messages) for the authenticated user.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

37 von 40 Tools haben eine Beschreibung veröffentlicht.

Tool-Namen und -Beschreibungen stammen vom Publisher und werden wortgetreu als inerter Text angezeigt. Es sind die Zeichenketten, die ein MCP-Client an ein Modell übergibt, deshalb prüft Forge sie auf Prompt-Injection-Muster — jeder Befund erscheint oben beim Sicherheits-Scan. „Privilegiert“ ist ein Schlagwort-Treffer im Tool-Namen, keine Prüfung dessen, was das Tool tut: ein harmlos klingender Name kann trotzdem alles tun.

Über

TypeScript MCP 1.x server for Canvas LMS — 172 tools across Canvas courses, assignments, grades, gradebook history, quizzes, New Quizzes (LTI), outcomes, discussions, admin workflows, and more.

Schlagwörter
canvascanvas-lmslmsmcpmodel-context-protocoleducationgradingai-agentai-toolsclaude-desktopcursorvscodeinstructureeducation-technologyedtechteacherstudentgrading-automationtypescript
Alternativen
Tool-Oberflächen werden verglichen…

Abhängigkeitsbaum

Was ein Forge-Scan am 2026-10-12 aus den npm-Metadaten aufgelöst hat — beobachtete Auflösung, keine Angabe des Herausgebers.

60 Pakete aufgelöst · 4 direkt · keines mit Sicherheitshinweisen Die Auflösung endet bei Tiefe 4 und 60 Paketen.

Der Durchlauf endete an der Grenze von 60 Paketen. Der Rest des Baums wurde nie aufgelöst.

36 weitere aufgelöste Pakete werden hier nicht gezeichnet (Anzeigegrenze: 24). Jede Abhängigkeit mit einem Sicherheitshinweis wird unabhängig von der Grenze gezeichnet. Vollständiges Inventar (CycloneDX-SBOM)

Deklariert, aber nicht aufgelöst

57 deklarierte Abhängigkeiten sind nie im Baum gelandet. Sie fehlen in Forges Auflösung, nicht im Paket.

+45 weitere nicht aufgeführt. Die Zählungen nach Grund oben erfassen sie alle.

Nicht verfolgt: peerDependencies. Dieser Baum erfasst nur Laufzeitabhängigkeiten; was jene mitbringen, wurde nie aufgelöst.

Themen

Verwandtes in design tools