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
Maintenance
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.