Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.mcparmory/canvas

PYPI · MCPARMORY-CANVAS · 2 COMPONENTS

Manage courses, submissions, grades, and student data in Canvas LMS

+10 this week 52 Trust /100

Last scanned (12 hours ago)

Scores higher than 55% of PyPI servers

Category Education and Research

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 2 of 45 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability0
  • Schema quality not yet verified: the captured schema was too large for us to store in full, or the server stopped listing its tools part-way, so we will not judge it on a partial copy.Unverified
Stability & Change Management63
  • Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage0
  • Tool coverage not yet verified: the captured tool definitions were too large for us to store in full, or the server stopped listing its tools part-way, so we will not judge them on a partial copy.Unverified
Tool Safety0
  • Tool safety not yet verified: the captured tool definitions were too large for us to store in full (the trim removes the very descriptions this category reads), or the server stopped listing its tools part-way.Unverified
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 3 categories

Categories scored 0 because our sandbox has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you. How we score packages →

What we tested

Checks we ran (11)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Stability
  • MCP protocol

Checks we could not complete (3)

These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.

  • Schema quality in Schema Quality & AI Usability (scores 0 for this)Schema quality not yet verified: the captured schema was too large for us to store in full, or the server stopped listing its tools part-way, so we will not judge it on a partial copy.
  • Tool coverage in Tool Coverage (scores 0 for this)Tool coverage not yet verified: the captured tool definitions were too large for us to store in full, or the server stopped listing its tools part-way, so we will not judge them on a partial copy.
  • Tool safety in Tool Safety (scores 0 for this)Tool safety not yet verified: the captured tool definitions were too large for us to store in full (the trim removes the very descriptions this category reads), or the server stopped listing its tools part-way.

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +16
    • Malware scan: unverified → pass ▲ security
  • 4 Nov 26 −6
    • Stability: pass → 0.60 functional
  • 3 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 31 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 29 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Stability: 0.97 → pass security
  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 26 Oct 26 −14
    • Malware scan: pass → unverified ▼ security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/mcparmory-canvas@1.0.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Dependencies 45 packages
Packages resolved 45
Stale 1
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 696 exposed · ~93,881 tokens partial

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
link_outcome_course ~378

No description provided.

NameTypeReqDescription
calculation_intstring––
calculation_methodstring––
course_idstringyes–
descriptionstring––
display_namestring––
idstringyes–
mastery_pointsstring––
move_fromstring––
outcome_idstring––
titlestring––
vendor_guidstring––

No output schema declared.

No examples provided.

link_outcome_course_existing ~345

No description provided.

NameTypeReqDescription
calculation_intstring––
calculation_methodstring––
course_idstringyes–
descriptionstring––
display_namestring––
idstringyes–
mastery_pointsstring––
move_fromstring––
outcome_idstringyes–
titlestring––
vendor_guidstring––

No output schema declared.

No examples provided.

link_outcome_existing ~341

No description provided.

NameTypeReqDescription
account_idstringyes–
calculation_intstring––
calculation_methodstring––
descriptionstring––
display_namestring––
idstringyes–
mastery_pointsstring––
move_fromstring––
outcome_idstringyes–
titlestring––
vendor_guidstring––

No output schema declared.

No examples provided.

link_outcome_global ~374

No description provided.

NameTypeReqDescription
calculation_intstring––
calculation_methodstring––
descriptionstring––
display_namestring––
idstringyes–
mastery_pointsstring––
move_fromstring––
outcome_idstring––
titlestring––
vendor_guidstring––

No output schema declared.

No examples provided.

link_outcome_global_existing ~321

No description provided.

NameTypeReqDescription
calculation_intstring––
calculation_methodstring––
descriptionstring––
display_namestring––
idstringyes–
mastery_pointsstring––
move_fromstring––
outcome_idstringyes–
titlestring––
vendor_guidstring––

No output schema declared.

No examples provided.

list_account_features ~77

No description provided.

NameTypeReqDescription
account_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_account_users ~146

No description provided.

NameTypeReqDescription
account_idstringyes–
orderstring––
per_pageinteger––
search_termstring––
sortstring––

No output schema declared.

No examples provided.

list_accounts ~105

No description provided.

NameTypeReqDescription
includearray––
per_pageinteger––

No output schema declared.

No examples provided.

list_accounts_by_course_admin ~51

No description provided.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_active_notifications ~52

No description provided.

NameTypeReqDescription
account_idstringyes–

No output schema declared.

No examples provided.

list_activity_stream ~102

No description provided.

NameTypeReqDescription
only_active_coursesboolean––
per_pageinteger––

No output schema declared.

No examples provided.

list_activity_stream_current_user ~56

No description provided.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_admins ~77

No description provided.

NameTypeReqDescription
account_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_announcements ~179

No description provided.

NameTypeReqDescription
active_onlyboolean––
context_codesarrayyes–
includearray––
per_pageinteger––

No output schema declared.

No examples provided.

list_appointment_group_participants ~125

No description provided.

NameTypeReqDescription
idstringyes–
per_pageinteger––
registration_statusstring––

No output schema declared.

No examples provided.

list_appointment_group_participants_users ~106

No description provided.

NameTypeReqDescription
idstringyes–
per_pageinteger––
registration_statusstring––

No output schema declared.

No examples provided.

list_appointment_groups ~156

No description provided.

NameTypeReqDescription
context_codesarray––
includearray––
include_past_appointmentsboolean––
per_pageinteger––

No output schema declared.

No examples provided.

list_assessment_results ~99

No description provided.

NameTypeReqDescription
assessment_idstringyes–
course_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_assessments ~78

No description provided.

NameTypeReqDescription
course_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_assignment_analytics ~90

No description provided.

NameTypeReqDescription
asyncboolean––
course_idstringyes–

No output schema declared.

No examples provided.

list_assignment_due_dates ~112

No description provided.

NameTypeReqDescription
assignment_idsarray––
course_idstringyes–

No output schema declared.

No examples provided.

list_assignment_groups ~245

No description provided.

NameTypeReqDescription
course_idstringyes–
exclude_assignment_submission_typesarray––
grading_period_idstring––
includearray––
override_assignment_datesboolean––
per_pageinteger––
scope_assignments_to_studentboolean––

No output schema declared.

No examples provided.

list_assignment_overrides ~108

No description provided.

NameTypeReqDescription
assignment_idstringyes–
course_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_assignment_submissions ~145

No description provided.

NameTypeReqDescription
assignment_idstringyes–
course_idstringyes–
groupedboolean––
includearray––
per_pageinteger––

No output schema declared.

No examples provided.

list_assignment_submissions_section ~142

No description provided.

NameTypeReqDescription
assignment_idstringyes–
groupedboolean––
includearray––
per_pageinteger––
section_idstringyes–

No output schema declared.

No examples provided.

list_assignments ~304

No description provided.

NameTypeReqDescription
assignment_idsarray––
bucketstring––
course_idstringyes–
includearray––
needs_grading_count_by_sectionboolean––
order_bystring––
override_assignment_datesboolean––
per_pageinteger––
search_termstring––

No output schema declared.

No examples provided.

list_assignments_by_user ~260

No description provided.

NameTypeReqDescription
assignment_idsarray––
bucketstring––
course_idstringyes–
includearray––
needs_grading_count_by_sectionboolean––
order_bystring––
override_assignment_datesboolean––
per_pageinteger––
search_termstring––
user_idstringyes–

No output schema declared.

No examples provided.

list_authentication_events_by_account ~105

No description provided.

NameTypeReqDescription
account_idstringyes–
end_timestring––
start_timestring––

No output schema declared.

No examples provided.

list_authentication_events_by_login ~106

No description provided.

NameTypeReqDescription
end_timestring––
login_idstringyes–
start_timestring––

No output schema declared.

No examples provided.

list_authentication_events_by_user ~111

No description provided.

NameTypeReqDescription
end_timestring––
start_timestring––
user_idstringyes–

No output schema declared.

No examples provided.

list_authentication_providers ~81

No description provided.

NameTypeReqDescription
account_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_avatars ~80

No description provided.

NameTypeReqDescription
per_pageinteger––
user_idstringyes–

No output schema declared.

No examples provided.

list_blueprint_associated_courses ~82

No description provided.

NameTypeReqDescription
course_idstringyes–
template_idstringyes–

No output schema declared.

No examples provided.

list_blueprint_imports ~109

No description provided.

NameTypeReqDescription
course_idstringyes–
per_pageinteger––
subscription_idstringyes–

No output schema declared.

No examples provided.

list_blueprint_migration_changes ~93

No description provided.

NameTypeReqDescription
course_idstringyes–
idstringyes–
template_idstringyes–

No output schema declared.

No examples provided.

list_blueprint_migration_details ~97

No description provided.

NameTypeReqDescription
course_idstringyes–
idstringyes–
subscription_idstringyes–

No output schema declared.

No examples provided.

list_blueprint_migrations ~110

No description provided.

NameTypeReqDescription
course_idstringyes–
per_pageinteger––
template_idstringyes–

No output schema declared.

No examples provided.

list_blueprint_subscriptions ~51

No description provided.

NameTypeReqDescription
course_idstringyes–

No output schema declared.

No examples provided.

list_blueprint_unsynced_changes ~85

No description provided.

NameTypeReqDescription
course_idstringyes–
template_idstringyes–

No output schema declared.

No examples provided.

list_bookmarks ~33

No description provided.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_calendar_events ~163

No description provided.

NameTypeReqDescription
context_codesarray––
excludesarray––
per_pageinteger––
user_idstringyes–

No output schema declared.

No examples provided.

list_closed_poll_sessions ~43

No description provided.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_collaboration_members ~102

No description provided.

NameTypeReqDescription
idstringyes–
includearray––
per_pageinteger––

No output schema declared.

No examples provided.

list_collaborations ~63

No description provided.

NameTypeReqDescription
course_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_column_entries ~110

No description provided.

NameTypeReqDescription
course_idstringyes–
idstringyes–
include_hiddenboolean––

No output schema declared.

No examples provided.

list_communication_channels ~87

No description provided.

NameTypeReqDescription
per_pageinteger––
user_idstringyes–

No output schema declared.

No examples provided.

list_conferences ~85

No description provided.

NameTypeReqDescription
course_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_conferences_group ~86

No description provided.

NameTypeReqDescription
group_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_content_exports ~79

No description provided.

NameTypeReqDescription
course_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

list_content_exports_group ~70

No description provided.

NameTypeReqDescription
group_idstringyes–
per_pageinteger––

No output schema declared.

No examples provided.

Install

How do I install the com.mcparmory/canvas MCP server?

com.mcparmory/canvas runs locally as a PyPI package, launched with uvx mcparmory-canvas. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcparmory-canvas

# add to Claude Code
claude mcp add com-mcparmory-canvas -- uvx mcparmory-canvas
Common questions

What is the com.mcparmory/canvas MCP server?

com.mcparmory/canvas is an MCP server listed in the public MCP registry as com.mcparmory/canvas. Manage courses, submissions, grades, and student data in Canvas LMS. This page covers its PyPI package (mcparmory-canvas).

Is the com.mcparmory/canvas MCP server safe to use?

com.mcparmory/canvas scores 52 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

Is the com.mcparmory/canvas MCP server still maintained?

com.mcparmory/canvas is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the com.mcparmory/canvas MCP server under?

com.mcparmory/canvas declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the com.mcparmory/canvas MCP server?

VerifyMCP ran 11 checks on com.mcparmory/canvas, covering Malware scan, Known CVEs, Install scripts, Dependency health and 7 more. 3 items could not be completed, a gap on our side rather than a finding about com.mcparmory/canvas: Schema quality, Tool coverage and Tool safety. 3 categories score 0 for that reason, because we only credit what we can confirm. Endpoint Security and Transport & Reachability do not apply to a PyPI package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.