The reads cover what a student checks each morning — what is due, what it was graded — and the writes cover what an instructor does about it, from creating the assignment to returning the grade with a comment. Account-level tools sit in the same server, so enrolling a user, creating one, or generating an institutional report does not need a second integration. canvas_health_check is there to answer whether the token and domain are reaching Canvas at all before you debug anything else.
A Canvas LMS client of 54 tools spanning the roles Canvas itself separates — the student's reads, the instructor's writes, and account administration.
- Courses listed, opened, created and updated, down to syllabus body, enrolment date restrictions and assignment-group weighting
- Assignments created with points possible, due date, submission types and allowed extensions, then updated and published
- Submissions fetched per student, work submitted, and a grade posted with a comment attached
- The student-side view in its own tools: upcoming due dates, course grades, all grades for the current user, dashboard and dashboard cards
- Modules, the items inside them, and marking an item complete
- Discussion topics and announcements read, and a message posted into a topic
- Quizzes listed and created with a quiz type and time limit, attempts started, and rubrics read for a course
- Conversations started with named recipients, notifications listed, and the user profile read and updated
- Account administration: sub-accounts, account users, user creation, enrolment, available reports and report generation
A Canvas account with an API token in CANVAS_API_TOKEN and your institution's Canvas host in CANVAS_DOMAIN, plus npx on your PATH. Grading and account tools act as whatever role that token already holds in Canvas.
One command plus a key — npm install -g canvas-mcp-server, then supply credentials
