list_enrollments
List Enrollments
List all enrollments in a course. Includes enrollment type, state, user info, and optionally grades. Can filter by role type and enrollment state.
Ask your agent in plain language. Each of these maps to a real tool on the server.
list_enrollments
List all enrollments in a course. Includes enrollment type, state, user info, and optionally grades. Can filter by role type and enrollment state.
manage_course
Create, update, or delete a course. For creating, provide an accountId and course details. For updating, provide a courseId and the fields to change. For deleting/concluding, specify the action.
download_file
Prepare an authenticated Canvas file download. Returns complete original file metadata, including the provider download URL.
list_module_items
List every item in a course module, including linked content IDs, page slugs, URLs, positions, and completion requirements.
list_course_users
List users enrolled in a course. Filter by enrollment type and search by name or ID. Returns user details including name, email, and enrollment information.
list_discussions
List discussion topics or announcements in a course, including topic IDs, bodies, publication state, and grading metadata.
grade_submission
Grade a student's submission or add a comment. Set a grade, excuse the assignment, and/or leave feedback. Use posted_grade format like "95%", "A-", "pass", or a raw point value.
get_assignment
Read complete assignment details, optionally including the current user submission and assignment date overrides.
list_assignment_groups
List assignment groups with their IDs, names, grading weights, positions, and rules. Use a group ID when creating or moving an assignment.
manage_assignment
Create, update, or delete an assignment in a course. Configure submission types, due dates, points, grading type, and more. Supports online upload, text entry, URL, media recording, and external tool submission types.
get_conversation
Read a conversation including message bodies and participants, while leaving its read state unchanged.
list_courses
Retrieve courses accessible to the authenticated user. Can filter by enrollment type, enrollment state, and search term. Returns course details including name, code, term, and workflow state.
get_course
Retrieve detailed information about a single course by its ID. Includes course settings, syllabus body, term info, and total students when requested.
get_discussion
Read the complete metadata and body of a discussion topic or announcement. Topic IDs are available from list_discussions.
list_submissions
List all submissions for an assignment in a course. Returns submission details including grade, score, workflow state, and submission timestamp. Optionally include user details and comments.
get_quiz
Get complete classic Canvas quiz details, including settings, dates, question count, and attempt limits. Does not retrieve New Quizzes.
manage_module
Create, update, or delete a course module. Modules organize course content into sequential learning paths. Can also add items (assignments, pages, files, URLs, etc.) to existing modules.
manage_enrollment
Enroll a user in a course or remove an enrollment. Supports various roles (student, teacher, TA, observer, designer) and enrollment states. Can also conclude, deactivate, or delete existing enrollments.
list_course_creation_accounts
List accounts in which the authenticated user can create courses. Use the returned account ID with manage_course. Canvas can return an empty list when course creation is unavailable.
list_modules
List all modules in a course. Modules organize content into sequential learning paths. Optionally include module items (assignments, pages, files, etc.) within each module.
list_assignments
List assignments in a course. Filter by search term, bucket (past, overdue, upcoming, etc.), and sort order. Returns assignment details including due dates, points, submission types, and workflow state.
get_page
Read a course wiki page, including its HTML body, publication state, URL, and editing metadata.
list_pages
List course wiki pages and their URL slugs. Use a slug with get_page to read its content or manage_page to update it.
who_am_i
Get the authenticated Canvas user profile, including the real user ID, name, and available contact information.
list_files
List files in a course. Search by name, filter by content type, and sort by various fields. Returns file metadata including name, size, content type, and download URL.
manage_discussion
Create, update, or delete a discussion topic in a course. Supports threaded discussions, graded discussions, and announcements. Configure pinning, locking, and publish state.
get_course_analytics
Retrieve course-level analytics data. Choose between activity data (page views and participation over time), assignment statistics (min/max/median scores), or student summaries (per-student page views and participation).
list_quizzes
List quizzes in a course. Returns quiz details including title, type, time limit, question count, and point totals. Supports classic Canvas quizzes.
list_calendar_events
List calendar events across courses, groups, and users. Filter by date range, context codes, and event type. Returns events and optionally assignments with due dates.
manage_page
Create, update, or delete a wiki page in a course. Pages support HTML content and can be set as the course front page. Pages are identified by their URL slug (not a numeric ID).
manage_calendar_event
Create, update, or delete a calendar event. Events can be associated with courses, groups, or individual users via context codes (e.g., "course_123", "user_456").
list_conversations
List conversations (messages) for the authenticated user. Filter by scope (inbox, unread, archived, starred, sent). Returns conversation metadata and the most recent message.
send_message
Send a Canvas message (conversation) to one or more recipients. Messages can be scoped to a course context. Supports group conversations and bulk messaging.
Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.
{"mcpServers": {"metorial": {"url": "<your-magic-mcp-url>"}}}
claude mcp add --transport http metorial <your-magic-mcp-url>
codex mcp add metorial --url <your-magic-mcp-url>codex mcp login metorial
One governed layer for every app your agents reach, not a separate connector per tool.
Manage courses, assignments, enrollments, and grading in Canvas LMS. Create and organize course content including modules, pages, files, quizzes, and discussions. Enroll users with specific roles, submit and grade assignments, manage rubrics, and track learning outcomes. Send messages between users, schedule calendar events, and configure appointment groups. Upload and organize files, manage groups, and handle SIS data imports. Access course and account-level analytics including participation data and student performance. Configure external tool integrations (LTI), perform content migrations, and administer account settings, roles, and permissions.
Common questions about connecting Canvas to AI agents with Metorial.