Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_BASE_URLYesYour Canvas instance URL (e.g., https://your-school.instructure.com)
CANVAS_API_TOKENYesCanvas API token (generate at Canvas > Account > Settings > New Access Token)
CANVAS_COOKIES_FILENoOptional. Path to cookies file (only needed if file downloads return 403 errors). Export browser cookies using extensions like 'Get cookies.txt'

Tools

Functions exposed to the LLM to take actions

NameDescription
canvas_course_list

List all courses for the current user. Returns active courses by default.

Use this to:

  • Get an overview of enrolled courses

  • Find course IDs for other operations

  • Check enrollment status

canvas_course_get

Get detailed information about a specific course.

Returns:

  • Course name, code, term

  • Start/end dates

  • Syllabus (if requested)

  • Total students count

canvas_assignment_list

List assignments in a course with optional filtering.

Bucket filters:

  • past: Already due

  • overdue: Past due, not submitted

  • undated: No due date

  • unsubmitted: Not yet submitted

  • upcoming: Due soon

  • future: Due later

Use this to:

  • See upcoming deadlines

  • Find overdue assignments

  • Get assignment IDs for detailed views

canvas_assignment_get

Get detailed information about a specific assignment.

Returns:

  • Full description and instructions

  • Due date, points possible

  • Submission types allowed

  • Rubric criteria (if available)

  • Your submission status

canvas_get_my_submission

Get your submission for a specific assignment.

Returns:

  • Submission status (submitted, graded, etc.)

  • Score and grade

  • Submission comments

  • Rubric assessment (if graded with rubric)

  • Submitted files or text

canvas_module_list

List all modules in a course with their items and completion status.

Modules organize course content into logical sections. Each module can contain:

  • Assignments

  • Pages

  • Files

  • Quizzes

  • Discussions

  • External links

Use this to:

  • See course structure and organization

  • Track module completion progress

  • Find specific content within modules

canvas_module_get

Get detailed information about a specific module.

Returns:

  • Module name and position

  • Prerequisites required

  • Completion requirements

  • All items in the module

canvas_module_items

List all items within a specific module.

Returns detailed information about each item:

  • Type (Assignment, Page, File, Quiz, etc.)

  • Title and URL

  • Completion requirements

  • Whether completed

canvas_module_progress

Get your progress through course modules.

Returns:

  • Which modules are completed

  • Which are in progress

  • Which are locked

  • Requirements remaining

canvas_file_list

List all files in a course.

Returns:

  • File name and size

  • Content type

  • Download URL

  • Creation/update dates

Use this to:

  • Browse course materials

  • Find documents to download

  • Get file IDs for other operations

canvas_file_get

Get detailed information about a specific file.

Returns:

  • Full filename and display name

  • File size and content type

  • Download URL

  • Thumbnail URL (if image)

canvas_file_search

Search for files in a course by name.

Returns files matching the search term. Useful for finding specific documents.

canvas_folder_list

List all folders in a course.

Returns folder hierarchy:

  • Folder names and paths

  • Number of files in each folder

  • Number of subfolders

Use this to navigate the file structure.

canvas_file_download

Download a file from Canvas.

NOTE: Requires browser cookies to be configured. Canvas blocks file downloads with API tokens only.

Returns:

  • Success/failure status

  • File data (if successful)

  • Error message (if failed)

canvas_discussion_list

List all discussion topics in a course.

Returns:

  • Discussion titles and messages

  • Post counts and unread counts

  • Whether pinned or locked

Use this to:

  • Find discussions to participate in

  • See what's being discussed

  • Check for unread posts

canvas_discussion_get

Get a specific discussion with all replies.

Returns:

  • Full discussion topic

  • All replies (threaded)

  • Author information

Use this to read and understand a discussion.

canvas_announcement_list

List announcements across courses.

Returns:

  • Announcement titles and content

  • Post dates

  • Course context

Use this to stay updated on course announcements.

canvas_planner_items

Get planner items - your upcoming assignments, quizzes, discussions, and events.

Returns:

  • Due dates and times

  • Course context

  • Submission status

  • Completion status

This is the best tool for:

  • Seeing what's due soon

  • Planning your week

  • Finding overdue items

canvas_todo_list

Get your TODO list items that need attention.

Returns items needing action:

  • Assignments to submit

  • Items to grade (if instructor)

  • Unread discussions

Use this for a quick view of what needs immediate attention.

canvas_upcoming_events

Get upcoming calendar events.

Returns:

  • Assignment due dates

  • Calendar events

  • Quizzes

  • Other scheduled items

Different from planner in that it shows calendar-based view.

canvas_missing_submissions

Get all missing submissions across courses.

Returns:

  • Assignments you haven't submitted

  • Due dates (past)

  • Course context

  • Points possible

Critical for finding overdue work!

canvas_rubric_list

List all rubrics in a course.

Rubrics define grading criteria for assignments. Returns:

  • Rubric titles and descriptions

  • Points possible

  • Number of criteria

Use this to:

  • See grading standards for a course

  • Find rubric IDs for detailed views

canvas_rubric_get

Get detailed rubric with all criteria and ratings.

Returns:

  • All criteria descriptions

  • Point values for each criterion

  • Rating descriptions and points

  • Any free-form comment settings

Essential for understanding how work will be graded.

canvas_rubric_for_assignment

Get the rubric attached to a specific assignment.

Directly retrieves the grading criteria for an assignment. More convenient than finding rubric ID separately.

canvas_quiz_list

List all quizzes in a course.

Returns:

  • Quiz titles and descriptions

  • Due dates and time limits

  • Number of questions

  • Points possible

  • Allowed attempts

Use this to:

  • See upcoming quizzes

  • Find quiz IDs for details

  • Check quiz settings

canvas_quiz_get

Get detailed information about a specific quiz.

Returns:

  • Full description

  • Time limit and attempts

  • Due date, lock dates

  • Question count

  • Quiz type (practice, graded, survey)

Note: Cannot retrieve actual quiz questions via API.

canvas_quiz_submission

Get your submission/attempt for a quiz.

Returns:

  • Attempt number

  • Score and kept score

  • Started/finished times

  • Workflow state

Use to check your quiz results.

canvas_group_list

List all groups you are a member of.

Returns:

  • Group names and descriptions

  • Member counts

  • Associated courses

Groups are used for:

  • Group projects

  • Study groups

  • Peer review assignments

canvas_group_members

List members of a specific group.

Returns:

  • Member names

  • Profile information

  • Contact details (if shared)

Use to see who is in your group for collaboration.

canvas_bookmark_list

List all your Canvas bookmarks.

Bookmarks provide quick access to frequently used pages.

Returns:

  • Bookmark names

  • Target URLs

  • Position/order

canvas_bookmark_create

Create a new bookmark.

Add a quick-access link to any Canvas page.

Requires:

  • Name for the bookmark

  • URL to bookmark

canvas_bookmark_delete

Delete a bookmark.

Remove a bookmark from your list.

canvas_inbox_list

List your Canvas inbox conversations.

Returns:

  • Conversation subjects

  • Last message preview

  • Participants

  • Read/unread status

Use to check messages from instructors and classmates.

canvas_inbox_get

Get a specific conversation with all messages.

Returns:

  • Full conversation thread

  • All messages with timestamps

  • Attachments information

  • Participant details

canvas_inbox_unread_count

Get count of unread messages.

Quick check for new messages without loading full inbox.

canvas_notification_list

List account notifications/announcements.

Returns system-wide announcements from your institution:

  • Important notices

  • System maintenance alerts

  • Policy updates

canvas_dashboard

Get a comprehensive dashboard view of your Canvas activity.

Aggregates:

  • Upcoming assignments (next 7 days)

  • Missing submissions

  • Unread messages

  • Recent announcements

  • Course favorites

This is the best starting point for a study session.

canvas_profile

Get your Canvas user profile.

Returns:

  • Your name and email

  • Profile settings

  • Avatar URL

canvas_grades_overview

Get an overview of your grades across all courses.

Returns:

  • Current grade in each course

  • Final grade if available

  • GPA calculation help

canvas_cache_status

Get cache status and statistics.

Shows:

  • Number of cached items

  • Cache keys

  • Useful for debugging

notebooklm_auth_check

Check NotebookLM authentication status.

Returns whether a valid Google authentication session exists. If not authenticated, you'll need to run notebooklm_auth_setup.

notebooklm_auth_setup

Setup NotebookLM authentication.

IMPORTANT: This requires manual interaction!

  • Opens a browser window for Google login

  • User must log in to their Google account

  • After logging in and seeing NotebookLM, press Enter in the terminal

  • Session is saved for future automated use

This only needs to be done once (session persists).

notebooklm_list_notebooks

List all notebooks in NotebookLM.

Requires authentication (run notebooklm_auth_setup first if needed).

Returns a list of notebook titles.

notebooklm_upload_sources

Upload sources to a NotebookLM notebook.

Uploads website URLs or files to a specified notebook. Creates the notebook if it doesn't exist.

Source types:

  • website: Provide a URL

  • file: Provide an absolute file path (PDF, TXT, etc.)

Example sources: [ {"type": "website", "value": "https://example.com/article"}, {"type": "file", "value": "/path/to/document.pdf"} ]

Limits: ~500KB per source, 50-300 sources per notebook.

notebooklm_prepare_content

Prepare content for NotebookLM upload.

Converts and splits content to meet NotebookLM requirements:

  • Converts markdown to plain text if needed

  • Splits large files into ~400KB chunks (under 500KB limit)

  • Creates numbered part files

Returns paths to prepared files ready for upload.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Shigakuresama/canvas-mcp-developer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server