Provides tools for interacting with Canvas LMS, enabling management of courses, announcements, assignments, modules, student enrollments, submissions, grades, files, and rubrics through the Canvas API.
Claude Canvas MCP
A Model Context Protocol (MCP) server that enables Claude to interact with Canvas LMS. This server provides tools for managing courses, announcements, assignments, students, and more through the Canvas API.
Features
List active courses and their details
Retrieve course modules, pages, and content
View assignments, quizzes, and discussions
Access student enrollment information
Post announcements and comments
View submission details and grades
Upload and download files
Manage rubrics and grades
Prerequisites
Node.js (v16 or higher)
A Canvas API token
Canvas instance URL (defaults to "http://canvas.docker/")
Claude Desktop application
Installation
Clone this repository and install dependencies:
Build the TypeScript project:
Configure your environment variables:
Claude Desktop Integration
Open Claude Desktop's configuration file:
MacOS:
Windows:
Add the Canvas MCP server configuration:
Restart Claude Desktop to apply changes
Available Tools
list-courses
Lists all active courses for the authenticated user
No required parameters
Returns course names, IDs, and term information
get-course
Gets detailed information about a specific course
Required parameters:
courseId: string
list-modules
Lists all modules in a course
Required parameters:
courseId: string
list-module-items
Lists all items in a module
Required parameters:
courseId: string
moduleId: string
list-assignments
Gets all assignments in a course
Required parameters:
courseId: string
Optional parameters:
includeContent: boolean (default: false)
get-assignment
Gets detailed information about an assignment
Required parameters:
courseId: string
assignmentId: string
list-students
Gets a complete list of students enrolled in a course
Required parameters:
courseId: string
Optional parameters:
includeEmail: boolean (default: false)
post-announcement
Posts an announcement to a specific course
Required parameters:
courseId: string
title: string
message: string
list-submissions
Gets all student submissions for an assignment
Required parameters:
courseId: string
assignmentId: string
get-submission
Gets a specific student's submission for an assignment
Required parameters:
courseId: string
assignmentId: string
studentId: string
post-submission-comment
Posts a comment on a student's submission
Required parameters:
courseId: string
assignmentId: string
studentId: string
comment: string
list-files
Lists files in a course
Required parameters:
courseId: string
Optional parameters:
folderId: string
upload-file
Uploads a file to a course
Required parameters:
courseId: string
fileName: string
fileContent: string
Optional parameters:
folderId: string
License
MIT License
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Model Context Protocol server that enables Claude to interact with Canvas LMS, providing tools for managing courses, announcements, assignments, students, and more through the Canvas API.
Related MCP Servers
- -securityAlicense-qualityA local server that enables interaction with Canvas Learning Management System API through Claude Desktop, allowing users to manage courses, access assignments, view announcements, and retrieve course materials.Last updated -17MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.Last updated -542350JavaScript
- -securityAlicense-qualityA Model Context Protocol server that enables creating, modifying, and validating infinite canvas data structures according to the JSON Canvas 1.0 specification.Last updated -7MIT License
- -securityFlicense-qualityA Model Context Protocol server that helps students manage academic workflows by integrating with Canvas and Gradescope to fetch deadlines, download course materials, and sync with macOS Calendar or Reminders.Last updated -4