Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOWNLOAD_PATHNoPath where downloaded files will be saved
CANVAS_API_KEYYesCanvas API key for authentication
CANVAS_API_URLYesBase URL for the Canvas API
GRADESCOPE_EMAILYesEmail for Gradescope login
GRADESCOPE_PASSWORDYesPassword for Gradescope login

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
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_school_accountsA

List the configured school accounts (e.g. columbia, mit) and show which one is active.

switch_school_accountB

Switch the active school account. Persists across restarts.

Args: account: Account name, e.g. "columbia" or "mit"

get_deadlinesC

Get upcoming deadlines from Canvas and Gradescope.

Args: days_ahead: Number of days to look ahead for assignments (default: 14) account: School account to use (defaults to the active account)

add_to_remindersB

Add upcoming deadlines to macOS Reminders.

Args: days_ahead: Number of days to look ahead for assignments (default: 14) account: School account to use (defaults to the active account)

list_coursesC

List available courses from Canvas.

Args: account: School account to use (defaults to the active account)

list_course_filesA

List every file download_course_files would fetch for a course, without downloading: modules, assignments (attachments + description links), Files tab, Pages, announcements, deduped by file id.

Args: course: Course id, code (e.g. "20.201") or name fragment since: Only files created/updated since this date (YYYY-MM-DD) or N days ago ("7d") compare_dir: Local folder to check against; each file gets local.status have / changed / missing (matched by name+size, then content hash; any layout) account: School account to use (defaults to the active account)

download_course_filesA

Download files from a Canvas course (all of them, or a selection).

Args: course_id: Canvas course ID download_path: Root to download into for this call (default: the saved download path; never changes it) file_ids: Only these file ids (from list_course_files) since: Only files created/updated since YYYY-MM-DD or N days ago ("7d") flat: Put files directly in the root instead of // folders account: School account to use (defaults to the active account)

get_course_pageA

Read a Canvas Page, such as a lecture page with its readings. Without page, list the course's pages (module pages first; many courses hide the Pages list from students).

Args: course: Course id, code (e.g. "7.36") or name fragment page: Piece of the page title (e.g. "L15") or its url slug account: School account to use (defaults to the active account)

Returns the page text plus its file links, each with section (the label it sits under on the page, e.g. "Main Papers" or "Additional reading") and hidden (true when the link has no visible text).

set_download_pathC

Set the default download path for Canvas files.

Args: path: Path to save downloaded files to

get_download_path_infoA

Get the current default download path for Canvas files.

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 10 tools

Disambiguation5/5

Each tool targets a distinct resource+action: account listing/switching, deadline aggregation, reminders export, course listing, file preview vs. download, page reading, and download-path get/set. The only potentially overlapping pair (list_course_files vs. download_course_files) is explicitly framed as dry-run preview versus actual fetch, and get/set_download_path are a clean complementary pair.

Naming Consistency5/5

All ten names follow a strict verb_noun snake_case pattern (list_, switch_, get_, add_, download_, set_) with no camelCase or bare-noun outliers. Pluralization and object naming (course_files, school_account, download_path) are used consistently across related tools.

Tool Count5/5

Ten tools is well within the sweet spot and every one earns its place: account management (2), deadlines/reminders (2), courses and files (3), pages (1), path config (2). Nothing looks like filler, and no obvious operation is split into redundant variants.

Completeness4/5

The surface covers the core student workflow end-to-end: pick an account, list courses, preview and download files, read pages, pull deadlines, and push them to Reminders. Minor gaps remain — no way to add/remove a school account, no per-assignment detail or grades view, and no way to clear/reset the download path — but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues