Canvas MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CANVAS_TOKEN | Yes | Your personal Canvas access token | |
| CANVAS_ORIGIN | Yes | Your Canvas school origin, e.g. https://yourschool.instructure.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_study_overviewA | Start here for a new schoolwork conversation: get active classes, syllabus excerpts, upcoming and overdue assignment previews together. No course IDs needed. Follow nextPage for remaining classes, then use focused tools for full syllabi, rubrics and all assignments. This is an overview, not an exhaustive deadline check. |
| list_coursesA | List your active Canvas courses. Results are paginated; use nextPage until null. |
| list_assignmentsB | Read assignment deadlines, availability and your submission state for a course. Follow nextPage to see all work. |
| get_course_work_statusA | Check missing work and assignment scores, including graded zeros that an overview may omit. Use for missing-assignment or grade concerns. Returns explicit missing flags, zero scores, excused state and pagination. Follow every page. Does not calculate a course average. |
| get_assignment_contextA | Read one assignment, rubric, current submission status and syllabus together. Use this before helping prepare an assignment or checking whether it is submitted. |
| get_syllabusB | Read the teacher’s syllabus and course timezone. |
| list_modulesC | Read course modules, prerequisites and availability. |
| list_module_itemsB | Read items inside a module, including page slugs and source links. |
| read_pageB | Read a Canvas course page using a page slug from module items. |
| list_announcementsC | Read course announcements. Dates and instructions remain teacher-authored source material. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Tools mostly target distinct resources or actions: overview, course list, assignment list, status check, single-assignment context, syllabus, modules, module items, page read, announcements. The study overview intentionally overlaps with assignment and status tools as a broad entry point, but its description explicitly clarifies it is non-exhaustive, limiting confusion.
All tool names follow a predictable snake_case verb_noun pattern using get_, list_, or read_ consistently. Multi-word nouns are handled uniformly (e.g., list_module_items, get_course_work_status), with no camelCase or style mixing.
Ten tools is well-scoped for a Canvas student assistant covering courses, assignments, modules, pages, syllabus, and announcements. No tool appears redundant or out of place, and the count stays within a manageable range.
The read-only surface covers core student workflows: course listing, assignment deadlines, submission state, missing work, syllabus, modules, module items, pages via module slugs, and announcements. Minor gaps remain, such as listing pages independent of modules, retrieving an overall course average, and accessing quizzes, discussions, or files.