Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_coursesA

List all courses the authenticated user is enrolled in or teaches.

get_course_detailsB

Get details for one course (code, name, dates, time zone, role).

get_syllabusA

Get the course's Syllabus body (Settings > Course Details > Syllabus).

get_front_pageA

Get the course's front page (homepage) title and body.

list_usersA

List users in a course by enrollment type (student, teacher, ta, observer, designer).

list_sectionsC

List sections in a course with student counts.

list_modulesA

List modules in a course with publish status and item counts.

get_course_structureC

Get the full module/item tree for a course in one call.

list_pagesB

List wiki pages in a course with publish status and last-updated time.

get_page_contentB

Get the full body of a specific wiki page by its URL slug.

list_assignmentsB

List assignments in a course with due dates and points.

get_assignment_detailsC

Get full details for one assignment, including description.

list_submissionsC

List submissions for an assignment with grade/submission status.

get_submission_contentA

Pull what a student actually submitted for an assignment — extracts readable text from uploaded files (PDF/DOCX/text), or returns the typed text / URL for other submission types. Also includes the submission comment thread (students often paste links there). Use this before grade_submission or grade_with_rubric so you're grading the real content.

list_ungraded_submissionsA

The grading queue: every submitted-but-ungraded submission in a course, grouped by assignment. Start here for 'what do I need to grade?'

list_missing_submissionsA

List students with missing (past-due, not submitted) work across all assignments in a course, grouped by assignment. Use for 'who hasn't turned in X?'

list_announcementsA

List announcements in a course, correctly distinguishing posted vs delay-scheduled.

list_discussion_topicsB

List discussion topics (excluding announcements) in a course.

get_discussion_topic_detailsB

Get full details and message body for one discussion topic.

list_discussion_entriesA

List top-level entries (posts) in a discussion topic, with reply counts.

list_course_filesC

List files uploaded to a course.

read_course_fileA

Fetch a course file's content and return extracted text. Supports PDF, DOCX, and plain text. Find file_id via list_course_files.

list_quizzesA

List classic quizzes in a course with due dates and points. Does not include New Quizzes.

get_quiz_detailsB

Get details for one classic quiz, including question count and time limit.

list_quiz_submissionsC

List student submissions for a classic quiz with scores and completion status.

list_rubricsC

List rubrics available in a course.

get_rubricA

Get a rubric's criteria, point values, and rating levels — needed to build a grade_with_rubric call.

list_conversationsA

List your Canvas Inbox conversations. scope: inbox, unread, starred, sent, archived.

get_conversation_detailsB

Get the full message thread for one conversation.

list_peer_reviewsB

List peer review assignments (who's reviewing whom) for an assignment.

get_assignment_analyticsA

Get score distribution and on-time/late/missing rates for every assignment in a course.

get_student_analyticsB

Get per-student engagement summary (page views, participations, on-time/late/missing) for a course.

create_announcementA

Create an announcement. Pass delayed_post_at (ISO-8601) to schedule it instead of posting now.

update_announcementB

Update an existing announcement's title, message, and/or scheduled post date.

create_discussion_topicC

Create a new (non-announcement) discussion topic.

post_discussion_entryB

Post a new top-level entry in a discussion topic.

reply_to_discussion_entryC

Reply to a specific entry in a discussion topic.

create_pageB

Create a new wiki page. Defaults to unpublished (draft) unless published=True.

edit_page_contentB

Replace a page's title and/or body. Only fields you pass are changed.

update_page_settingsC

Publish or unpublish a page.

create_moduleC

Create a new module (starts unpublished).

update_moduleC

Rename, publish/unpublish, or reposition a module.

add_module_itemA

Add an item to a module. item_type: File, Page, Discussion, Assignment, Quiz, SubHeader, ExternalUrl, ExternalTool. Page items need page_url; most others need content_id; ExternalUrl needs external_url.

update_module_itemB

Rename, publish/unpublish, reposition, or re-indent a module item.

create_assignmentB

Create an assignment. due_at is ISO-8601 (e.g. 2026-10-09T23:59:59-04:00). Defaults to unpublished. submission_types is a comma-separated string, e.g. "online_upload,online_text_entry" or "on_paper".

update_assignmentA

Update an assignment's name, description, points, due date, published state, and/or peer review settings. peer_reviews=True must be set before assign_peer_review will work on this assignment.

grade_submissionA

Post a grade and/or comment for one student's submission on one assignment. Use score for points-based assignments. Use grade for other grading types: 'complete'/'incomplete' (pass_fail), a letter like 'A-' (letter_grade), or '85%' (percent). Set excuse=True to mark the assignment excused for this student instead of scoring it.

bulk_grade_submissionsA

Post grades for many students at once on one assignment. grades: {user_id: score, ...}. Same optional comment applied to every submission. This is a single high-blast-radius call — double check the grades dict before calling.

grade_with_rubricB

Grade a submission using a rubric already associated with the assignment. criterion_scores: {criterion_id: points, ...} — get criterion_ids from get_rubric. criterion_comments: optional {criterion_id: comment text, ...}.

create_rubricA

Create a rubric. criteria_json is a JSON array string, each item: {"description": str, "points": number, "ratings": [{"description": str, "points": number}, ...]} Example: '[{"description": "Content", "points": 30, "ratings": [{"description": "Excellent", "points": 30}, {"description": "Weak", "points": 10}]}]' Pass associate_with_assignment_id to attach it to an assignment for grading immediately.

post_gradesA

Release hidden ("muted") grades on an assignment so students can see them. graded_only=True (default) posts only submissions that have been graded. Students are notified when grades post — use deliberately, not as a test.

hide_gradesB

Hide an assignment's grades from students (the inverse of post_grades).

send_messageA

Send a Canvas Inbox message to one or more users. recipient_user_ids is a comma-separated list of Canvas user IDs (get IDs from list_users). Set group_conversation=True to send one message all recipients can see/reply to together; otherwise each recipient gets a separate 1:1 conversation.

assign_peer_reviewA

Assign reviewer_user_id to peer-review reviewee_user_id's submission on this assignment. The assignment must have peer_reviews=True set first (see update_assignment).

upload_course_fileB

Upload a local file (from this machine) into a course's Files. folder_path is the destination folder within the course (e.g. "Week 1"), defaults to the course's root.

delete_pageB

Permanently delete a wiki page. This cannot be undone.

delete_moduleA

Permanently delete a module and all its items (the items themselves, e.g. pages, are not deleted). This cannot be undone.

delete_assignmentA

Permanently delete an assignment and its submissions/grades. This cannot be undone.

delete_announcementC

Permanently delete an announcement. This cannot be undone.

bulk_delete_announcementsA

Delete multiple announcements at once. announcement_ids is a comma-separated list of IDs (get them from list_announcements first). This cannot be undone.

delete_discussion_topicA

Permanently delete a discussion topic (or announcement — they share the same endpoint). This cannot be undone.

delete_rubricA

Permanently delete a rubric. This cannot be undone.

delete_course_fileA

Permanently delete a course file. This cannot be undone.

delete_peer_reviewC

Remove a previously assigned peer review.

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/vkumar04/canvas-mcp-lite'

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