Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_TOKENYesYour Canvas Access Token (required for authentication).
CANVAS_BASE_URLNoBase URL of the Canvas instance.https://oc.sjtu.edu.cn
CANVAS_DATA_DIRNoDirectory for storing downloaded course data and indexes.data
SJTU_VIDEO_TOKENNoOptional debug token for SJTU video API. Normally auto-obtained via Canvas LTI.
SJTU_VIDEO_COURSE_IDNoOptional debug course ID for SJTU video system.

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": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_current_userA

Validate the Canvas token and return the current user profile.

list_coursesA

List Canvas courses visible to the configured token.

get_courseC

Return one Canvas course by ID.

list_course_filesC

List files in one Canvas course.

list_course_foldersA

List folders in one Canvas course.

list_course_modulesC

List modules and optionally module items in one Canvas course.

list_course_assignmentsB

List assignments in one Canvas course. This is read-only and never submits work.

list_my_submissionsA

List my submissions for one Canvas course. This is read-only and returns redacted URLs.

get_my_submissionA

Read my submission for one assignment. This is read-only and returns redacted URLs.

get_course_bundleA

Fetch course, folders, files, modules, and assignments in one call.

plan_course_downloadA

Preview download size, statuses, and local paths without downloading files.

generate_course_indexB

Generate local JSON/Markdown course indexes without downloading missing files.

download_course_filesB

Download course files locally and generate indexes. Existing same-size files are skipped unless force is true.

download_my_submission_filesA

Download my submitted assignment attachments locally. This never submits or modifies work.

video_statusB

Return the implemented SJTU video/subtitle/PPT integration flow.

resolve_video_authA

Resolve SJTU video auth for one Canvas course and return only redacted auth metadata.

list_course_videosB

List SJTU classroom videos for one Canvas course.

get_video_infoA

Read playback metadata for one SJTU video. Returned payload is token-redacted.

get_video_subtitleB

Read subtitle rows for one SJTU video and return generated SRT text.

get_video_ppt_slicesA

Read PPT replay slice metadata for one SJTU video. This does not download images.

download_video_pptB

Download PPT replay images for one SJTU video and optionally assemble a local PDF.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 21 tools

Disambiguation5/5

Each tool targets a distinct resource and action: course listings, file operations, submission reads, and video metadata vs downloads are clearly separated. Even similar tools like list_course_files vs download_course_files differ in side effects, and composite tools like get_course_bundle are explicitly defined.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, using standard verbs like list, get, download, plan, and resolve. The style is uniform, making it easy to predict functionality from names.

Tool Count4/5

21 tools is on the higher end but appropriate for a server that covers both Canvas course management and SJTU video/PPT integration. The count reflects the breadth of features without redundancy, though it could be slightly trimmed.

Completeness5/5

The surface covers the full read-only lifecycle for courses: listing, fetching details, downloading files and submissions, plus complete video/PPT access (list, info, subtitles, slides, download). No obvious gaps for the stated purpose of browsing and downloading SJTU Canvas content.

Maintenance

ActivityInactive
ResponsivenessNo issues