canvas-lms-mcp

MCPattestato
v2.2.0Christian BruMITAggiornato 2 g fanpmGitHub

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.

Funziona in
ClaudeCursorCopilotGemini

Dedotto dai trasporti dichiarati da questo annuncio (stdio). Un client che non compare qui non è escluso — semplicemente Forge non è in grado di confermarlo.

Build attestato
Un’attestation di provenienza verificata lega questo artefatto al repository indicato. Nessuno ha ancora rivendicato l’annuncio — questo dimostra dove è stato costruito il codice, non chi lo sostiene.
4kDownload/sett.
9Stelle su GitHub
4Fork
2 g faUltimo aggiornamento
Richiede 1 credenziale prima di poter funzionare
  • CANVAS_API_TOKENChiave APIobbligatoria

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

Dichiarato dall’autore nel registro MCP ufficiale. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Pacchetto
AutoreChristian Bru
LicenzaMIT
Versione2.2.0
Fontenpm+mcp-registry
Stato di fiducia
A
85/100Affidabile
✓Presente nell’indice di Forge+10/10
✓Identità verificata · build attestato+20/20
—Firma di pubblicazione Ed25519+0/5
→ Inclusa automaticamente quando il publisher esegue `forge publish`
—Verifica del dominio+0/5
→ Publisher: ospita /.well-known/forge.json sulla homepage del pacchetto con { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—Corrispondenza del maintainer npm+0/5
→ Publisher: aggiungi il login GitHub verificato ai maintainer del pacchetto npm (npm owner add <login>)
✓Analisi CVE · pulita+30/30
✓Analisi statica · pulita+20/20
Incollalo in Claude Code, Cursor o qualsiasi assistente di IA per colmare tutte le lacune
StatoIdentità verificata
PublisherNon verificato
FirmaNon firmato
Dominio—
Provenienza✓ Verificato con Sigstore · b7b3605
Dipendenze✓ 60 risolte+ · nessuna vulnerabile
Superficie di strumenti40 strumenti · 2 privilegiati
Analisi di sicurezza✓ Pulitov2.3.0 · oggiQuanto è efficace questa analisi?
ValutazioniNessuna
Indicizzato25 lug 2026

La verifica conferma l’identità del publisher (la proprietà del repo), non la sicurezza del codice. L’analisi di sicurezza copre i CVE noti e gli script di installazione sospetti.

Strumenti

40 strumenti · 2 privilegiati
Estratto staticamente dal pacchetto pubblicatov2.3.0 · 7h ago

Letto dal codice che npm distribuisce davvero, al momento dell’analisi. Il pacchetto non è mai stato eseguito. Gli strumenti registrati dinamicamente a runtime, o nascosti in codice impacchettato o minificato, possono sfuggire — quindi questo è un limite inferiore della superficie di strumenti, non un censimento completo.

get_accountGet details for a Canvas account by ID.

Get details for a Canvas account by ID.

Per questo strumento non è stato pubblicato alcuno schema di input.

list_accountsList all accounts accessible to the authenticated user.

List all accounts accessible to the authenticated user.

Per questo strumento non è stato pubblicato alcuno schema di input.

list_sub_accountsList sub-accounts under a given Canvas account.

List sub-accounts under a given Canvas account.

Per questo strumento non è stato pubblicato alcuno schema di input.

list_account_coursesList courses under a given Canvas account.

List courses under a given Canvas account.

Per questo strumento non è stato pubblicato alcuno schema di input.

list_account_usersList users in a Canvas account.

List users in a Canvas account.

Per questo strumento non è stato pubblicato alcuno schema di input.

get_account_reportsList available report types for a Canvas account.

List available report types for a Canvas account.

Per questo strumento non è stato pubblicato alcuno schema di input.

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).

Per questo strumento non è stato pubblicato alcuno schema di input.

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…

Per questo strumento non è stato pubblicato alcuno schema di input.

upload_submission_fileprivilegiatoUpload 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…

Per questo strumento non è stato pubblicato alcuno schema di input.

submit_assignmentNessuna descrizione pubblicata

Questo strumento non ha pubblicato alcuna descrizione. Forge non se la inventa.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.).

Per questo strumento non è stato pubblicato alcuno schema di input.

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…

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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…

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

create_assignmentCreate a new assignment in a course.

Create a new assignment in a course.

Per questo strumento non è stato pubblicato alcuno schema di input.

update_assignmentUpdate an existing assignment in a course.

Update an existing assignment in a course.

Per questo strumento non è stato pubblicato alcuno schema di input.

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

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

Per questo strumento non è stato pubblicato alcuno schema di input.

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…

Per questo strumento non è stato pubblicato alcuno schema di input.

create_assignment_overrideNessuna descrizione pubblicata

Questo strumento non ha pubblicato alcuna descrizione. Forge non se la inventa.

set_student_assignment_datesNessuna descrizione pubblicata

Questo strumento non ha pubblicato alcuna descrizione. Forge non se la inventa.

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…

Per questo strumento non è stato pubblicato alcuno schema di input.

create_calendar_eventCreate a new calendar event in Canvas.

Create a new calendar event in Canvas.

Per questo strumento non è stato pubblicato alcuno schema di input.

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

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

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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".

Per questo strumento non è stato pubblicato alcuno schema di input.

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

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

Per questo strumento non è stato pubblicato alcuno schema di input.

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

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

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

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.

Per questo strumento non è stato pubblicato alcuno schema di input.

list_conversationsList conversations (inbox messages) for the authenticated user.

List conversations (inbox messages) for the authenticated user.

Per questo strumento non è stato pubblicato alcuno schema di input.

37 strumenti su 40 hanno pubblicato una descrizione.

I nomi e le descrizioni degli strumenti sono scritti dal publisher e mostrati alla lettera come testo inerte. Sono le stringhe che un client MCP passa a un modello, quindi Forge vi cerca schemi di prompt injection — ogni rilievo compare insieme all’analisi di sicurezza qui sopra. «Privilegiato» è una corrispondenza di parola chiave sul nome dello strumento, non una verifica di ciò che fa: un nome innocuo può comunque fare qualsiasi cosa.

Descrizione

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.

Parole chiave
canvascanvas-lmslmsmcpmodel-context-protocoleducationgradingai-agentai-toolsclaude-desktopcursorvscodeinstructureeducation-technologyedtechteacherstudentgrading-automationtypescript
Alternative
Confronto delle superfici di strumenti…

Albero delle dipendenze

Ciò che una scansione di Forge ha risolto dai metadati npm il 2026-10-12: risoluzione osservata, non una dichiarazione dell'editore.

60 pacchetti risolti · 4 diretti · nessuno con avvisi di sicurezza La risoluzione si ferma alla profondità 4 e a 60 pacchetti.

La scansione si è fermata al limite di 60 pacchetti. Il resto dell'albero non è mai stato risolto.

Altri 36 pacchetti risolti non vengono disegnati qui (limite di visualizzazione: 24). Ogni dipendenza con un avviso di sicurezza viene disegnata comunque. Inventario completo (SBOM CycloneDX)

Dichiarate ma non risolte

57 dipendenze dichiarate non sono mai arrivate nell'albero. Mancano dalla risoluzione di Forge, non dal pacchetto.

+45 altre non elencate. I conteggi per motivo qui sopra le comprendono tutte.

Non seguite: peerDependencies. Questo albero copre solo le dipendenze di runtime, quindi ciò che queste comportano non è mai stato risolto.

Argomenti

Correlati in design tools