canvas-parent-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CANVAS_NAME | No | Optional name for Canvas instance (defaults to host portion of base URL) | |
| CANVAS_TOKEN | No | Personal access token for Canvas | |
| CANVAS_BASE_URL | Yes | The base URL of your Canvas instance (e.g., https://cms.instructure.com) | https://cms.instructure.com |
| CANVAS_PASSWORD | No | Canvas password (direct accounts only) | |
| CANVAS_USERNAME | No | Canvas username (direct accounts only) | |
| CANVAS_CLIENT_ID | No | OAuth client ID | |
| CANVAS_CLIENT_SECRET | No | OAuth client secret | |
| CANVAS_REFRESH_TOKEN | No | OAuth refresh token | |
| CANVAS_DISABLE_FETCHPROXY | No | Set to '1' to disable fetchproxy fallback | 0 |
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 |
|---|---|
| canvas_healthcheckA | Resolves the credential the way real tools do, then makes one authenticated request to canvas. Reports which source supplied the credential, whether canvas accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a canvas-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke. |
| canvas_get_profileA | Get the logged-in user's Canvas profile (id, name, primary_email, login_id, locale, time_zone). Useful first call to confirm credentials. |
| canvas_list_observeesA | List students linked to your Canvas observer account. Returns an empty array for plain student tokens. |
| canvas_list_coursesB | List active Canvas courses (with course-level grades, total scores, current grading period scores, and term). |
| canvas_get_courseB | Get a single Canvas course with its syllabus, teachers, and term. |
| canvas_list_assignmentsA | List a course's assignments — homework, quizzes and projects — with the user's (or child's) submission inline. Supports the standard Canvas |
| canvas_list_missing_submissionsA | List missing homework: past-due unsubmitted assignments for the user (or a linked observee, e.g. a child). For an observee, courseIds is required. |
| canvas_get_submissionB | Get a single submission with rubric assessment and grader comments. userId defaults to 'self'. |
| canvas_list_recent_submissionsB | List recently graded submissions in a course. Defaults to a 14-day window for the calling user. |
| canvas_list_enrollmentsB | List active student enrollments with per-course grades (current_score, final_score, current_grade, final_grade, current grading period info). |
| canvas_list_calendar_eventsB | List Canvas calendar events or assignments across selected contexts (courses/users). |
| canvas_list_upcoming_eventsA | List the calling user's upcoming events (Canvas's curated next-7-days view). |
| canvas_list_planner_itemsB | List planner items (assignments + announcements + planner notes + calendar events) for the user or a linked observee. |
| canvas_list_announcementsB | List announcements across one or more courses. |
| canvas_list_conversationsC | List Canvas inbox conversations. Optional |
| canvas_get_conversationA | Get a full Canvas conversation thread with all messages. Read-only: does not mark the conversation as read. |
| canvas_list_discussion_topicsC | List discussion topics for a course (read-only). |
| canvas_list_course_filesA | List a course's files (metadata only — use canvas_download_file with the |
| canvas_download_fileA | Download a Canvas file to disk. |
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 19 tools
Most tools have clearly distinct resource/action targets, and descriptions clarify differences (e.g., upcoming events vs. calendar events, missing submissions vs. assignments). There is some conceptual overlap between planner items and assignment/announcement/calendar listing tools, but not enough to cause frequent misselection.
All tools use a consistent canvas_ prefix followed by a snake_case verb_noun pattern such as list_assignments, get_submission, and download_file. The convention is predictable throughout the set.
At 19 tools the set is slightly heavy but reasonable for a broad Canvas parent/student surface spanning courses, assignments, grades, events, conversations, discussions, and files. Each tool mostly earns its place, though some aggregation tools overlap with narrower listing tools.
The surface covers the main read-only workflows for a Canvas parent/student: courses, enrollments/grades, assignments, submissions, missing work, calendar/planner items, announcements, conversations, discussions, and files. Minor gaps exist around detailed assignment/announcement/discussion fetching and write operations, but those are likely out of scope for this MCP.