{"name":"com.mcparmory/canvas","slug":"mcparmory-canvas","title":null,"description":"Manage courses, submissions, grades, and student data in Canvas LMS","url":"https://mcp.market/server/mcparmory-canvas","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":31,"stars":31,"forks":4,"downloads_week":152,"last_push_at":"2026-05-12T12:55:57.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/mcparmory/registry","website":null,"version":"1.0.3","remotes":[],"packages":[{"registryType":"pypi","identifier":"mcparmory-canvas","version":"1.0.3","runtimeHint":"uvx","transport":{"type":"stdio"}},{"registryType":"oci","identifier":"ghcr.io/mcparmory/canvas:1.0.3","runtimeHint":"docker","transport":{"type":"stdio"}}],"tools":[{"name":"bulk_update_courses","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"check_account_permissions","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"copy_outcome_group","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_course","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_external_tool","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_grading_standard","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_group_category","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_login","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_notification","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_outcome_subgroup","description":"Creates a new empty subgroup within an outcome group. The subgroup is initialized with the provided title and description.","write_action":true,"price_micros":0,"input_schema":null},{"name":"deactivate_role","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"delete_grading_period","description":"Delete a grading period from an account. Returns a 204 No Content response on successful deletion.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_outcome_group_account","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_report","description":"Permanently deletes a generated report instance from the specified account. This action cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_webhook_subscription","description":"Delete a webhook subscription by its ID. This removes the subscription and stops delivery of webhook events to the configured endpoint.","write_action":true,"price_micros":0,"input_schema":null},{"name":"disable_sis_grade_exports","description":"Disable all assignments currently flagged for grade export to SIS in a course, with optional filtering by grading period.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dismiss_notification","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_report","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_assignment_lti","description":"Retrieve a single Canvas assignment by its Canvas ID or LTI ID. Tool providers can only access assignments associated with their tool.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_authentication_provider","description":"Retrieve a specific authentication provider configuration for the given account. Use this to inspect the details and settings of an authentication provider.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_content_migration","description":"Retrieve detailed information about a specific content migration by its ID within an account. Returns the current status, progress, and metadata for the migration.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_course_account","description":"Retrieve detailed information about a single course within an account. Supports optional parameters to include permissions, observed users, course images, and recently deleted courses.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_department_statistics","description":"Retrieves numeric statistics for a department, aggregated by term or applied filters. Provides insights into department-level performance and activity metrics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_department_statistics_current","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_department_statistics_term","description":"Retrieve numeric statistics for a department within a specific term or filter. Returns aggregated metrics and analytics data at the department level.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_enrollment","description":"Retrieve a specific enrollment record by its ID within an account. Returns the complete enrollment object with all associated details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_external_tool","description":"Retrieve details for a specific external tool configured in an account. Returns the external tool's configuration and metadata.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_external_tool_sessionless_launch_url","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_feature_flag","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_grading_standard","description":"Retrieve a specific grading standard within an account context. Returns the grading standard details if it is visible to the authenticated user.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_group_members_lti","description":"Retrieve all Canvas users that are members of a specific group. Tool providers can only access groups within their installed context.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_lti_user","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_migration_issue","description":"Retrieve detailed information about a specific migration issue within a content migration. Returns the issue data including status, error details, and resolution information.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_notification","description":"Retrieve a specific global notification for the current user. Closed notifications are not returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_originality_report","description":"Retrieve a single originality report for a specific file within an assignment. This report contains plagiarism detection and similarity analysis results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_originality_report_submission","description":"Retrieve a single originality report for a student submission. This report contains plagiarism detection results and analysis for the specified assignment submission.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_outcome_group_account","description":"Retrieve details for a specific outcome group within an account. Returns the outcome group configuration and associated metadata.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_outcome_import_status","description":"Retrieve the status of an outcome import for an account. Use 'latest' as the import ID to fetch the most recent import.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_report_status","description":"Retrieves the current status of a specific report within an account. Use this to check whether a report is pending, processing, completed, or failed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_role","description":"Retrieve detailed information about a specific role within an account. Use this to fetch role configuration, permissions, and metadata.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_root_outcome_group_account","description":"Retrieve the root outcome group for a specific account. This operation redirects to the root outcome group's URL for the given account context.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_rubric","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_submission","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_webhook_subscription","description":"Retrieve details for a specific webhook subscription by its ID. Use this to view the configuration and status of an individual LTI webhook subscription.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_outcomes","description":"Import learning outcomes into a Canvas account using CSV format. Supports both multipart form uploads and raw POST requests with CSV data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"initiate_content_migration","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"link_outcome","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"link_outcome_existing","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_account_features","description":"Retrieve a paginated list of all features available for a specific account. Features define capabilities and functionality enabled for the account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_accounts","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_active_notifications","description":"Retrieves all active global notifications for the current user in the specified account. Closed or dismissed notifications are excluded from the results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_admins","description":"Retrieve a paginated list of administrators for the specified account. Use pagination parameters to control the number of results returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_authentication_providers","description":"Retrieve a paginated list of authentication providers configured for an account. Use pagination parameters to control the number of results returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_content_migrations","description":"Retrieve a paginated list of content migrations for the specified account. Use pagination parameters to control the number of results returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_courses_by_account","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_department_grade_distribution","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_department_grade_distribution_completed","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_department_grade_distributions","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_department_participation_by_term","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_department_participation_completed","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_department_participation_data","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_enabled_features","description":"Retrieve a paginated list of all features currently enabled for a specific account. Only feature names are returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_external_tools","description":"Retrieve a paginated list of external tools available in the specified account. Optionally filter by name, selectability, and include tools from parent accounts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_grading_periods","description":"Retrieves a paginated list of grading periods for the specified account. Use pagination parameters to control the number of results returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_grading_standards","description":"Retrieve a paginated list of grading standards available in the specified account context. Only standards visible to the authenticated user are returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_group_categories","description":"Retrieve a paginated list of group categories within a specified account context. Use pagination parameters to control result size and navigate through large datasets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_groups_in_account","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_logins","description":"Retrieve a paginated list of login records for a specific account. Use pagination parameters to control the number of results returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_migration_issues","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_migration_systems","description":"Retrieves the list of currently available migration system types for an account. Available migration types may change over time.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_outcome_groups","description":"Retrieve all outcome groups associated with a specific account. Outcome groups organize related outcomes for tracking and reporting purposes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_outcome_links","description":"Retrieve all outcome links associated with a specific account, with configurable detail levels for outcomes and outcome groups.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_outcomes_account","description":"Retrieve a paginated list of outcomes linked to a specific outcome group. Use outcome_style to control the detail level of returned outcome information.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_proficiency_ratings","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_reports","description":"Retrieves a paginated list of available reports for the specified account. Use pagination parameters to control the number of results returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_reports_by_type","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_roles","description":"Retrieve a paginated list of roles available to an account, with optional filtering by state and inheritance from parent accounts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_rubrics","description":"Retrieves a paginated list of active rubrics for the specified account. Use pagination parameters to control the number of results returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_scopes","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_sis_export_assignments","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_sis_export_assignments_by_course","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_subgroups","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_submission_attempts","description":"Retrieve the complete history of all attempts made for a specific submission, including details about each submission attempt.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_webhook_subscriptions","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"promote_account_admin","description":"Promote an existing user to admin status within an account. Optionally sends a confirmation email to the newly promoted admin.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reactivate_role","description":"Re-activates an inactive role, allowing it to be assigned to new users again. This operation restores a previously deactivated role to active status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"register_user","description":"Create a new user account through self-registration when enabled on the account. Returns the newly created user and associated pseudonym.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_external_tool","description":"Permanently delete an external tool integration from the specified account. This action cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"resolve_migration_issue","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"search_domains","description":"Search for account domains by name or domain value. Returns up to 5 matching results using partial string matching.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_proficiency_ratings","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"submit_originality_report","description":"Submit an originality report for a student submission file, including an originality score and optional report URL or LTI launch configuration.","write_action":true,"price_micros":0,"input_schema":null},{"name":"unlink_outcome","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_content_migration","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_external_tool","description":"Update an external tool's configuration and settings. Accepts the same parameters as tool creation.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_notification","description":"Update a global notification for an account, including its message, subject, icon, and target recipient roles.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_originality_report","description":"Update an existing originality report for a submitted file in an assignment. Modify the report URL, originality score, workflow state, or LTI tool configuration.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_originality_report_submission","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_outcome_group","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_user_login","description":"Update an existing user login in the specified account. Allows modification of login credentials, identifiers, and integration mappings based on caller permissions.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-27T21:30:37.270Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:30:37.268Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":8,"max":15,"notes":["last push 138 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"mcparmory-canvas","version":"1.0.3","found":true,"weeklyDownloads":152,"license":"MIT","dependencyCount":6,"publishedAt":"2026-05-11T19:38:21.410007Z","repositoryUrl":"https://github.com/mcparmory/registry"}],"repo":{"found":true,"owner":"mcparmory","repo":"registry","archived":false,"pushedAt":"2026-05-12T12:55:57Z","stars":31,"forks":4,"openIssues":1,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/261029234?v=4","ownerCreatedAt":"2026-02-11T20:13:50Z","license":"NOASSERTION"},"icon":{"url":"https://mcparmory.com/favicon-180.png","source":"site","width":180,"height":180},"presence":{"stars":31,"forks":4,"downloadsWeek":152,"license":"NOASSERTION","lastPushAt":"2026-05-12T12:55:57.000Z","score":31}}}},"grade_history":[],"reviews":[]}