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_assignmentsB

List a course's assignments (with the user's submission inline). Supports the standard Canvas bucket filter.

canvas_list_missing_submissionsA

List past-due unsubmitted assignments for the user (or a linked observee). 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_itemsC

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

B3.4/5.0

Scored across 19 tools

Disambiguation4/5

Most tools target distinct resources or views (courses, assignments, submissions, events, conversations, files), and descriptions clarify differences. Some overlap exists between canvas_list_calendar_events, canvas_list_upcoming_events, and canvas_list_planner_items, which could cause mild misselection, but each has a distinguishable scope.

Naming Consistency5/5

Every tool follows a consistent canvas_verb_noun pattern (canvas_list_courses, canvas_get_course, canvas_download_file, etc.). The convention is predictable and readable throughout.

Tool Count4/5

19 tools for a Canvas LMS integration is reasonable given the breadth of read-oriented operations and one health check. It is on the higher side but still well-scoped for the domain.

Completeness3/5

The surface is heavily read-only: it covers listing, getting, and downloading, but lacks write operations like creating submissions, posting discussions, sending conversations, or managing assignments. For a student/observer Canvas server this may be intentional, but it leaves notable gaps for workflow completion.

Maintenance

ActivityActive
ResponsivenessResponsive