Skip to main content
Glama
Mattlo0546
by Mattlo0546

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_TOKENNoA Canvas access token (Account → Settings → New access token), if your university allows them. It replaces the browser sign-in.
CANVAS_BASE_URLNoYour Canvas sitehttps://canvas.ox.ac.uk
CANVAS_MCP_HOMENoWhere the session and the sign-in browser profile are kept~/.canvas-mcp
CANVAS_DOWNLOAD_DIRNoWhere downloads goSlideMate's first slides folder, else ~/CanvasFiles
CANVAS_BROWSER_CHANNELNoBrowser for sign-in. "" uses Playwright's own Chromium.chrome

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
canvas_loginA

Sign in to Canvas. Opens a Chrome window on the user's computer at the university sign-in page; the user completes SSO + MFA there and the session is saved for the other tools. Tries a silent refresh first, so it often finishes without any window.

canvas_statusA

Check the Canvas session: which site, signed in as whom, and the download folder.

canvas_coursesA

List the user's Canvas courses (current ones, unless include_past).

canvas_browseA

Show a course's modules with their files, pages, links and assignments (with due dates). course can be a course id, course code, or part of the name. File items include a file_id for canvas_download.

canvas_deadlinesA

Assignments, quizzes and discussions due in the next days days (default 14), soonest first, with whether each has been submitted.

canvas_announcementsA

Announcements posted in the last days days, newest first: in one course (id, code or part of the name), or in every current course when course is empty.

canvas_downloadA

Download one Canvas file (a file_id from canvas_browse) into // (or subdir).

canvas_syncA

Download course files to /// (SlideMate's library if it's set up, else ~/CanvasFiles).

With a course (id, code or part of the name), downloads every file in it and returns the result. Without one, downloads the PDFs (lecture slides, handouts, readings) from every current course in the background and returns {"running": true}; call canvas_sync_status until it reports the result. Files already there are skipped.

canvas_sync_statusA

Progress of a sync started by canvas_sync without a course: {"running": true, "progress": …} while it runs, then the result (a summary, files per course and any errors).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have clearly distinct purposes (login, status, courses, browse, deadlines, announcements), and the bulk vs. single-file split between canvas_sync and canvas_download is clarified in the descriptions. The main risk is name-level confusion between canvas_status (session info) and canvas_sync_status (background sync progress), which share the word 'status' but differ in scope.

Naming Consistency5/5

All nine tools use a uniform canvas_ prefix with snake_case and largely verb/noun naming (canvas_login, canvas_courses, canvas_browse, canvas_download, canvas_deadlines). The only compound, canvas_sync_status, still fits the same pattern as the status companion to canvas_sync.

Tool Count5/5

Nine tools is a well-scoped set for a Canvas file/course access server. Each tool earns its place: authentication, session check, course listing, browsing, two download paths, plus deadlines and announcements.

Completeness4/5

The read/download lifecycle is well covered: auth, session status, courses, module browsing, bulk and single-file downloads, deadlines, and announcements. Gaps exist for grades, assignment submission, and messaging/discussion participation, though these may be outside the server's stated file-fetching focus.

Maintenance

ActivityMaintained
ResponsivenessNo issues