Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_NAMENoOptional name for Canvas instance (defaults to host portion of base URL)
CANVAS_TOKENNoPersonal access token for Canvas
CANVAS_BASE_URLYesThe base URL of your Canvas instance (e.g., https://cms.instructure.com)https://cms.instructure.com
CANVAS_PASSWORDNoCanvas password (direct accounts only)
CANVAS_USERNAMENoCanvas username (direct accounts only)
CANVAS_CLIENT_IDNoOAuth client ID
CANVAS_CLIENT_SECRETNoOAuth client secret
CANVAS_REFRESH_TOKENNoOAuth refresh token
CANVAS_DISABLE_FETCHPROXYNoSet to '1' to disable fetchproxy fallback0

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 bucket filter.

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. contextCodes is required (e.g. ["course_123"]). Defaults to active-only.

canvas_list_conversationsC

List Canvas inbox conversations. Optional scope (unread/starred/archived/sent) and filter (array of context codes).

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 url field).

canvas_download_fileA

Download a Canvas file to disk. url is the absolute URL from canvas_list_course_files (only file URLs on the configured Canvas host are accepted); destinationPath is required and must be inside the download directory (CANVAS_OUTPUT_DIR, default ~/Downloads).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityActive
ResponsivenessUsually handled