MCP.Market

Canvas MCP server

by mcparmory.com·com.mcparmory/canvas·v1.0.3·31 stars

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

B80/100grade B
What users say
No reviews yet
Be the first
Safety scan
B80/100

full report

Adoption
Growing

31 stars152 downloads/wk

Reviews

Write one

Nobody has reviewed Canvas yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Canvas tools (100, 24 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • bulk_update_courseswrite action

    Bulk update multiple courses within an account by applying a single action (publish, conclude, delete, or recover) to all specified courses. This operation runs asynchronously; use the progress endpoint to monitor completion status.

  • check_account_permissions

    Retrieve permission information for the authenticated user within a specified account. Use 'self' as the account ID to check permissions against the domain root account.

  • copy_outcome_group

    Duplicates an outcome group's structure and outcome links into a new subgroup. Recursively imports all nested subgroups while creating new links to existing outcomes rather than copying the outcomes themselves.

  • create_coursewrite action
  • create_external_toolwrite action
  • create_grading_standardwrite action

    Create a new grading standard for an account with custom grade-to-score mappings. If no grading scheme entries are provided, a default scheme (A: 94, A-: 90, ... F: 0) will be applied.

  • create_group_categorywrite action

    Create a new group category for organizing students into groups within a course or account. Group categories define how students are allocated, who can lead groups, and enrollment limits.

  • create_loginwrite action

    Create a new login credential for an existing user within an account. The login can be associated with a specific authentication provider and optionally linked to SIS integration identifiers.

  • create_notificationwrite action

    Create and distribute a global notification to an account. The notification will be displayed to specified user roles (or all users if roles are omitted) during the specified time window.

  • create_outcome_subgroupwrite action

    Creates a new empty subgroup within an outcome group. The subgroup is initialized with the provided title and description.

  • deactivate_role

    Deactivates a custom role, hiding it from the user interface and preventing assignment to new users. Existing users with this role retain their current permissions. Built-in roles cannot be deactivated.

  • delete_grading_periodwrite action

    Delete a grading period from an account. Returns a 204 No Content response on successful deletion.

  • delete_outcome_group_accountwrite action

    Delete an outcome group and its descendant groups and links. Deletion fails if any remaining links to aligned outcomes are included in the group's descendants, as aligned outcomes cannot be deleted.

  • delete_reportwrite action

    Permanently deletes a generated report instance from the specified account. This action cannot be undone.

  • delete_webhook_subscriptionwrite action

    Delete a webhook subscription by its ID. This removes the subscription and stops delivery of webhook events to the configured endpoint.

  • disable_sis_grade_exports

    Disable all assignments currently flagged for grade export to SIS in a course, with optional filtering by grading period.

  • dismiss_notification

    Dismiss a notification for the current user so it no longer appears in their notification list. This allows users to hide notifications they no longer wish to see.

  • generate_report

    Initiates generation of a report instance for the specified account. The report type must match an available report name; use the list_available_reports operation to retrieve valid report names and their supported parameters.

  • get_assignment_lti

    Retrieve a single Canvas assignment by its Canvas ID or LTI ID. Tool providers can only access assignments associated with their tool.

  • get_authentication_provider

    Retrieve a specific authentication provider configuration for the given account. Use this to inspect the details and settings of an authentication provider.

  • get_content_migration

    Retrieve detailed information about a specific content migration by its ID within an account. Returns the current status, progress, and metadata for the migration.

  • get_course_account

    Retrieve detailed information about a single course within an account. Supports optional parameters to include permissions, observed users, course images, and recently deleted courses.

  • get_department_statistics

    Retrieves numeric statistics for a department, aggregated by term or applied filters. Provides insights into department-level performance and activity metrics.

  • get_department_statistics_current

    Retrieves numeric statistics for a department, including metrics for the current term or specified filter criteria. Provides aggregated performance and engagement data at the department level.

  • get_department_statistics_term

    Retrieve numeric statistics for a department within a specific term or filter. Returns aggregated metrics and analytics data at the department level.

  • get_enrollment

    Retrieve a specific enrollment record by its ID within an account. Returns the complete enrollment object with all associated details.

  • get_external_tool

    Retrieve details for a specific external tool configured in an account. Returns the external tool's configuration and metadata.

  • get_external_tool_sessionless_launch_url

    Generate a sessionless launch URL for an external tool, enabling direct access without requiring an active user session. Either the tool id or launch URL must be provided, unless launching an assessment or module item.

  • get_feature_flag

    Retrieve the feature flag configuration for a specific account, course, or user. The flag may be defined directly on the object or inherited from a parent account; check the context_id and context_type fields to determine the source.

  • get_grading_standard

    Retrieve a specific grading standard within an account context. Returns the grading standard details if it is visible to the authenticated user.

  • get_group_members_lti

    Retrieve all Canvas users that are members of a specific group. Tool providers can only access groups within their installed context.

  • get_lti_user

    Retrieve a single Canvas user by their Canvas ID or LTI ID. Tool providers can only access users who have been assigned an assignment associated with their tool.

  • get_migration_issue

    Retrieve detailed information about a specific migration issue within a content migration. Returns the issue data including status, error details, and resolution information.

  • get_notification

    Retrieve a specific global notification for the current user. Closed notifications are not returned.

  • get_originality_report

    Retrieve a single originality report for a specific file within an assignment. This report contains plagiarism detection and similarity analysis results.

  • get_originality_report_submission

    Retrieve a single originality report for a student submission. This report contains plagiarism detection results and analysis for the specified assignment submission.

  • get_outcome_group_account

    Retrieve details for a specific outcome group within an account. Returns the outcome group configuration and associated metadata.

  • get_outcome_import_status

    Retrieve the status of an outcome import for an account. Use 'latest' as the import ID to fetch the most recent import.

  • get_report_status

    Retrieves the current status of a specific report within an account. Use this to check whether a report is pending, processing, completed, or failed.

  • get_role

    Retrieve detailed information about a specific role within an account. Use this to fetch role configuration, permissions, and metadata.

  • get_root_outcome_group_account

    Retrieve the root outcome group for a specific account. This operation redirects to the root outcome group's URL for the given account context.

  • get_rubric

    Retrieve a specific rubric by ID, optionally including associated assessments and their details. Use the include and style parameters to control what assessment data is returned.

  • get_submission

    Retrieve a specific student submission for an LTI assignment. Use this to access submission details, content, and metadata by providing the assignment and submission identifiers.

  • get_webhook_subscription

    Retrieve details for a specific webhook subscription by its ID. Use this to view the configuration and status of an individual LTI webhook subscription.

  • import_outcomes

    Import learning outcomes into a Canvas account using CSV format. Supports both multipart form uploads and raw POST requests with CSV data.

  • initiate_content_migration
  • link_outcome

    Link an existing outcome into an outcome group, or create and link a new outcome. When linking an existing outcome, only the outcome_id is required. When creating a new outcome, provide at least a title, and optionally description, ratings, and mastery points.

  • link_outcome_existing

    Link an existing outcome to an outcome group, or create and link a new outcome. When linking an existing outcome, only the outcome_id is required; when creating a new outcome, a title is required along with optional description, ratings, and mastery points.

  • list_account_features

    Retrieve a paginated list of all features available for a specific account. Features define capabilities and functionality enabled for the account.

  • list_accounts

    Retrieve a paginated list of accounts accessible to the current user. Only account administrators can view accounts; students and teachers typically receive an empty list.

  • list_active_notifications

    Retrieves all active global notifications for the current user in the specified account. Closed or dismissed notifications are excluded from the results.

  • list_admins

    Retrieve a paginated list of administrators for the specified account. Use pagination parameters to control the number of results returned.

  • list_authentication_providers

    Retrieve a paginated list of authentication providers configured for an account. Use pagination parameters to control the number of results returned.

  • list_content_migrations

    Retrieve a paginated list of content migrations for the specified account. Use pagination parameters to control the number of results returned.

  • list_courses_by_account
  • list_department_grade_distribution

    Retrieve the distribution of current student grades across all courses in a department. Grades are binned to the nearest integer (0-100 range), with each student contributing one grade per course regardless of multiple enrollments in the same course.

  • list_department_grade_distribution_completed

    Retrieve the distribution of student grades across all courses in a department. Returns raw grade counts binned to the nearest integer (0-100 range), where each student contributes one grade per course regardless of enrollment in multiple sections.

  • list_department_grade_distributions

    Retrieve the distribution of student grades across all courses within a department for a specific term. Grade data is binned to the nearest integer (0-100 range), with each student contributing one grade per course regardless of multiple enrollments in the same course.

  • list_department_participation_by_term

    Retrieve department-level participation metrics for a specific term, aggregated across all courses and grouped by date and content category. Returns page view hits with breakdowns by announcements, assignments, collaborations, conferences, discussions, files, general, grades, groups, modules, other, pages, and quizzes.

  • list_department_participation_completed

    Retrieve department-level participation metrics for concluded courses in the default term, aggregated by date and content category. Returns page view hits across all courses in the department.

  • list_department_participation_data

    Retrieve aggregated page view participation metrics for all courses in a department, grouped by date and content category. Includes data from all available courses in the default term.

  • list_enabled_features

    Retrieve a paginated list of all features currently enabled for a specific account. Only feature names are returned.

  • list_external_tools

    Retrieve a paginated list of external tools available in the specified account. Optionally filter by name, selectability, and include tools from parent accounts.

  • list_grading_periods

    Retrieves a paginated list of grading periods for the specified account. Use pagination parameters to control the number of results returned.

  • list_grading_standards

    Retrieve a paginated list of grading standards available in the specified account context. Only standards visible to the authenticated user are returned.

  • list_group_categories

    Retrieve a paginated list of group categories within a specified account context. Use pagination parameters to control result size and navigate through large datasets.

  • list_groups_in_account

    Retrieve a paginated list of active groups available in the specified account context that are visible to the authenticated user. Optionally filter to only groups the user belongs to and include additional group configuration details.

  • list_logins

    Retrieve a paginated list of login records for a specific account. Use pagination parameters to control the number of results returned.

  • list_migration_issues

    Retrieve a paginated list of migration issues for a specific content migration within an account. Use this to monitor and track problems encountered during the content migration process.

  • list_migration_systems

    Retrieves the list of currently available migration system types for an account. Available migration types may change over time.

  • list_outcome_groups

    Retrieve all outcome groups associated with a specific account. Outcome groups organize related outcomes for tracking and reporting purposes.

  • list_outcome_links

    Retrieve all outcome links associated with a specific account, with configurable detail levels for outcomes and outcome groups.

  • list_outcomes_account

    Retrieve a paginated list of outcomes linked to a specific outcome group. Use outcome_style to control the detail level of returned outcome information.

  • list_proficiency_ratings

    Retrieve account-level proficiency ratings for learning outcomes. If ratings are not defined for the specified account, the operation returns ratings from the nearest parent super-account. Returns 404 if no proficiency ratings are found in the account hierarchy.

  • list_reports

    Retrieves a paginated list of available reports for the specified account. Use pagination parameters to control the number of results returned.

  • list_reports_by_type

    Retrieves all reports of a specific type that have been run for the given account. Use this to view the history and details of previously generated reports.

  • list_roles

    Retrieve a paginated list of roles available to an account, with optional filtering by state and inheritance from parent accounts.

  • list_rubrics

    Retrieves a paginated list of active rubrics for the specified account. Use pagination parameters to control the number of results returned.

  • list_scopes

    Retrieve a list of available scopes that can be applied to developer keys and access tokens. Optionally group scopes by resource name for better organization.

  • list_sis_export_assignments

    Retrieve published assignments enabled for grade export to SIS within an account. Results include assignment group and section information, with optional course cross-listing and student override details.

  • list_sis_export_assignments_by_course

    Retrieve published assignments enabled for grade export to SIS. Returns assignment details including group and section information, with optional student override data when the Differentiated Assignments feature is enabled.

  • list_subgroups

    Retrieve a paginated list of immediate child outcome groups within a specified outcome group. Use pagination parameters to control result size and navigate through large datasets.

  • list_submission_attempts

    Retrieve the complete history of all attempts made for a specific submission, including details about each submission attempt.

  • list_webhook_subscriptions

    Retrieve a paginated list of all webhook subscriptions for a tool proxy. Use the 'EndKey' from the response to set 'StartKey' in subsequent requests to fetch additional pages.

  • promote_account_admin

    Promote an existing user to admin status within an account. Optionally sends a confirmation email to the newly promoted admin.

  • reactivate_role

    Re-activates an inactive role, allowing it to be assigned to new users again. This operation restores a previously deactivated role to active status.

  • register_userwrite action

    Create a new user account through self-registration when enabled on the account. Returns the newly created user and associated pseudonym.

  • remove_external_toolwrite action

    Permanently delete an external tool integration from the specified account. This action cannot be undone.

  • resolve_migration_issuewrite action

    Update the workflow state of a migration issue to mark it as active or resolved. Use this to track and manage issues discovered during content migrations.

  • search_domains

    Search for account domains by name or domain value. Returns up to 5 matching results using partial string matching.

  • set_proficiency_ratingswrite action

    Create or update proficiency ratings at the account level. These ratings apply to all sub-accounts unless they define their own account-level proficiency ratings.

  • submit_originality_reportwrite action

    Submit an originality report for a student submission file, including an originality score and optional report URL or LTI launch configuration.

  • unlink_outcome

    Unlink an outcome from an outcome group. The outcome is only deleted if this is the last link to it across all groups and contexts; aligned outcomes cannot be deleted and will cause the operation to fail if this is their final link.

  • update_content_migrationwrite action

    Update an existing content migration with new settings or file upload parameters. Most settings cannot be changed after the migration process has started, but you can supply new file attachment values to retry a failed upload.

  • update_external_toolwrite action

    Update an external tool's configuration and settings. Accepts the same parameters as tool creation.

  • update_notificationwrite action

    Update a global notification for an account, including its message, subject, icon, and target recipient roles.

  • update_originality_reportwrite action

    Update an existing originality report for a submitted file in an assignment. Modify the report URL, originality score, workflow state, or LTI tool configuration.

  • update_originality_report_submissionwrite action

    Update an existing originality report for a submission, including the originality score, report URL, and workflow state. This operation allows modification of plagiarism detection results and LTI tool configuration.

  • update_outcome_groupwrite action

    Modify an existing outcome group by updating its title, description, parent group, or vendor GUID. Unspecified fields remain unchanged, and the new parent group must be in the same context without creating circular dependencies.

  • update_user_loginwrite action

    Update an existing user login in the specified account. Allows modification of login credentials, identifiers, and integration mappings based on caller permissions.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan5 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 138 days ago8/15
  • Maintainer identityregistry namespace matches repository owner7/10
Overall 80/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Canvas compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
80/100
higher than 60% of 48,255 servers
Tools
100
the typical server has 7
Tools that change things
24%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
31
more than 92% of 28,688 servers
Downloads a week
152
more than 71% of 12,191 servers with a package

What its tools let an agent do: 73 read · 10 create · 12 change · 5 delete

Install Canvas in Claude Code, Cursor or VS Code

claude mcp add canvas -- uvx mcparmory-canvas
Add to Cursor

What the publisher says

From the Canvas repository's README, as published. We do not edit it. Read it on GitHub

MCP Armory Registry

Production-ready MCP servers for popular APIs, generated by MCP Blacksmith.

Servers · Install & Usage · Features · How it works · License

MCP servers that connect AI agents to real-world APIs. Each server is a standalone Python package — generated from the upstream OpenAPI spec using MCP Blacksmith and tested against the live API before release. Hosted on MCP Armory or run independently.

<!-- SERVERS:BEGIN -->

Servers

🧠 AI & Machine Learning &ensp; ElevenLabs · Linkup · Parallel · Perplexity AI · Ragie · Replicate

📊 Analytics &ensp; Ahrefs · Datadog · Google Analytics · Google Search Console · Linkly · Mixpanel · PostHog

⛓️ Blockchain & Crypto &ensp; Alchemy NFT

💼 CRM & Sales &ensp; Apollo

💬 Communication &ensp; Atlassian Confluence · Google Gmail · MailerSend · Mailtrap · Postmark · Resend · Slack

🗄️ Data & Databases &ensp; Enigma · Pinecone

🛠️ Developer Tools &ensp; AgentQL · Apify · Bitbucket · Bright Data · Browserbase · BuiltWith · Canvas · CircleCI · Codacy · Contentful Management · ConvertAPI · E2B · Firecrawl · GitHub · GitLab · LaunchDarkly · Postman · Scrapingant · Semrush AppCenter · Sentry

📄 Documents & Printing &ensp; PDF.co

🛒 E-commerce &ensp; Shopify Admin

💰 Finance &ensp; Alpha Vantage · Polygon · Ramp

👥 HR & Recruiting &ensp; BambooHR

☁️ Infrastructure &ensp; Globalping · Grafana · PagerDuty · Rootly · Runpod

⚖️ Legal & Compliance &ensp; NetLicensing

🗺️ Maps & Location &ensp; Google Maps Platform · IP2Location.io IP Geolocation · OpenCage Geocoding

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Canvas: common questions

Is Canvas MCP server safe?
Mostly: it is graded B (80/100). Read the Canvas safety report
How do I install Canvas?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Canvas need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Canvas maintained?
The last commit was 176 days ago (2026-05-12). The latest release is v1.0.3.
How does Canvas compare with other MCP servers?
safety score 80/100 (higher than 60% of 48,255 servers); tools 100 (the typical server has 7); tools that change things 24% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

More from mcparmory.com →