Skip to content
InfratoApp
InfratoApp / Resources / MCP servers / mcp-canvas-lms

mcp-canvas-lms

mcp-canvas-lms is an MCP server. It reaches canvas. It needs CANVAS_API_TOKEN to authenticate. Its repository has 104 GitHub stars; we last read it on 2026-10-22.

This server interacts with the Canvas LMS API to manage courses, assignments, enrollments, and grades, and supports 54 tools.

Install

MCP servers are packaged differently from each other -- some run via npx, some as a Docker image, some as a plain script you clone and run. mcp-canvas-lms’s own README did not state one plainly enough for this page to quote it rather than guess, so it will not guess. The repository below states it.

What it reaches, and what it needs

Reaches
canvas
Credential
CANVAS_API_TOKEN

Maintenance

Stars
104
State
listed
Licence
—
From the repository

Version 2.2 - 54 tools available - an MCP server for interacting with the Canvas LMS API. This server allows you to manage courses, assignments, enrollments, and grades within Canvas.

What mcp-canvas-lms can do

40 tools documented in its README. An AI client calls these by name.

canvas_health_check
Check API connectivity
canvas_list_courses
List all your courses
canvas_get_course
Get detailed course info
canvas_list_assignments
List course assignments
canvas_get_assignment
Get assignment details
canvas_submit_assignment
Submit assignment work
canvas_get_submission
Check submission status
canvas_list_modules
List course modules
canvas_get_module
Get module details
canvas_list_module_items
List items in a module
canvas_mark_module_item_complete
Mark items complete
canvas_list_discussion_topics
List discussion topics
canvas_get_discussion_topic
Get discussion details
canvas_post_to_discussion
Post to discussions
canvas_list_announcements
List course announcements
canvas_get_user_grades
Get your grades
canvas_get_course_grades
Get course-specific grades
canvas_get_dashboard
Get dashboard info
canvas_get_dashboard_cards
Get course cards
canvas_get_upcoming_assignments
Get due dates
canvas_list_calendar_events
List calendar events
canvas_list_files
List course files
canvas_get_file
Get file details
canvas_list_folders
List course folders
canvas_list_pages
List course pages
canvas_get_page
Get page content
canvas_list_conversations
List messages
canvas_get_conversation
Get conversation details
canvas_create_conversation
Send messages
canvas_list_notifications
List notifications
canvas_get_syllabus
Get course syllabus
canvas_get_user_profile
Get user profile
canvas_update_user_profile
Update profile
canvas_create_course
Create new courses *(FIXED: now requires account_id)*
canvas_update_course
Update course settings
canvas_create_assignment
Create assignments
canvas_update_assignment
Update assignments
canvas_list_assignment_groups
List assignment groups
canvas_submit_grade
Grade submissions
canvas_enroll_user
Enroll students

Read from the README; names are kept only if the README contains them.

Common questions about mcp-canvas-lms

What does mcp-canvas-lms do?
This server interacts with the Canvas LMS API to manage courses, assignments, enrollments, and grades, and supports 54 tools.
How do I install mcp-canvas-lms?
Its README did not state an install command plainly enough for us to quote one, so we do not guess. The repository has the instructions: https://github.com/DMontgomery40/mcp-canvas-lms
What does mcp-canvas-lms connect to, and what does it need?
It reaches canvas. The credentials we found in its source are CANVAS_API_TOKEN.
Is mcp-canvas-lms official and is it maintained?
We found nothing naming it as a vendor’s official server. Its repository has 104 GitHub stars and its state in our directory is listed. Its last commit we recorded was on 2026-05-31.
What licence does mcp-canvas-lms use?
The repository metadata we read does not state a licence, so check the repository before you rely on it.

Learn this on Infrato