Skip to main content
Glama
Ait0u5hi

canvas-scholar-mcp

by Ait0u5hi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_DOMAINYesYour school's Canvas domain, e.g., school.instructure.com
CANVAS_API_TOKENYesYour Canvas API token (used to authenticate with the Canvas LMS)

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
canvas_list_coursesA

List the courses you are enrolled in — with your current/final grade, module progress, and teaching staff in one call.

canvas_list_assignmentsA

List assignments in a course, with your submission status and — when Canvas allows it — class score statistics (min/max/mean/quartiles) so you can see how you compare. Note: New Quizzes appear here as assignments.

canvas_get_assignmentA

Get one assignment (with your submission) by id.

canvas_get_submission_feedbackA

Your submission for one assignment WITH the professor's comments, rubric assessment, and attempt history. Use to answer 'what did my professor say / how was I graded?'.

canvas_get_gradesA

Your current grade in every active course.

canvas_get_course_gradeA

Your grade in a single course (only your own enrollment).

canvas_get_late_policyA

A course's late-submission penalty tiers (deduction % per interval). If the course restricts this to instructors, returns a note so you can fall back to the syllabus.

canvas_get_assignment_groupsA

Assignment groups with their weights and your submissions — shows the weighted breakdown behind a course grade. Drop rules are reported but not pre-applied.

canvas_get_missing_submissionsB

Assignments you have not submitted that are due/overdue.

canvas_get_planner_itemsA

Planner items (assignments, quizzes, events) in a date window. Defaults to yesterday..+14 days. Canvas's unified 'what's due/new' feed.

canvas_get_activity_streamA

Your recent Canvas activity (announcements, messages, submissions). The social/notification feed; for action items prefer planner or todo.

canvas_get_todoA

Your Canvas to-do list — items needing action right now. Overlaps with planner (dated window) and activity stream (feed); prefer this for 'what needs action'.

canvas_list_calendar_eventsA

Calendar events and assignment dates across your courses in a date window (defaults to yesterday..+14 days). Course contexts are derived automatically. Use planner for the unified due feed; use this for raw calendar events like office hours. NOTE: live web conferences (BigBlueButton class sessions) do NOT appear here — use canvas_list_conferences for those.

canvas_list_conferencesA

Live/scheduled web conferences (BigBlueButton class sessions, etc.) with their join links — across all your courses, or one course. These are NOT in the calendar, so use this to catch live class sessions.

canvas_get_calendar_eventA

Get one calendar event or assignment-date by id.

canvas_list_discussionsA

List discussion topics in a course (metadata only).

canvas_get_discussion_viewA

Full threaded view of a discussion topic, including reply bodies.

canvas_list_announcementsA

Recent announcements for a course.

canvas_list_conversationsC

List your inbox conversation threads.

canvas_get_conversationA

Read one inbox conversation thread. Does not mark it as read (stays read-only).

canvas_get_unread_message_countB

How many unread inbox messages you have.

canvas_list_my_groupsA

All groups you belong to (course project groups + community).

canvas_get_groupA

Details for one group you belong to.

canvas_list_group_membersB

The members of a group you belong to.

canvas_list_course_filesA

List files in a course. Locked/hidden folders are excluded automatically.

canvas_get_fileA

File metadata by id. The returned url is a ready-to-use download link.

canvas_list_course_foldersA

List a course's folders (for navigating the file tree).

canvas_list_modulesA

List modules in a course, with their items.

canvas_list_course_pagesA

List a course's wiki/content pages.

canvas_get_course_pageA

Get one wiki page's content (HTML stripped to text).

canvas_get_syllabusB

A course's syllabus text (HTML stripped, truncated).

canvas_list_course_rubricsB

List a course's rubrics (grading criteria).

canvas_get_rubricA

Get one rubric with its criteria and assessments.

canvas_list_quizzesA

List classic quizzes in a course. New Quizzes do NOT appear here — they surface via canvas_list_assignments.

canvas_get_quizA

Get one classic quiz by id.

canvas_list_new_quizzesA

List a course's New Quizzes (the modern Quizzes.Next engine). These don't appear in canvas_list_quizzes; this finds them via their assignment shells. For due dates/points/status — reading a New Quiz's questions needs an instructor-gated API.

canvas_get_my_quiz_submissionA

Your own attempt/submission for a classic quiz.

canvas_list_peer_reviewsA

Peer reviews for an assignment. By default returns only the ones assigned to YOU (you as the reviewer); pass mineOnly=false for all.

canvas_smart_searchA

Semantic search over a course's pages, assignments, announcements and discussions — ranked by meaning, not keywords. Good for 'where did we cover X?'. Beta; returns a note if not enabled for the course.

canvas_get_grading_standardsA

A course's letter-grade cutoff scheme (A ≥ 93, etc.), for 'what do I need for an A?'. Returns a note if restricted to instructors.

canvas_get_my_profileA

Your Canvas profile (name, avatar, primary email).

canvas_api_usageA

How much Canvas API budget you've used this session — request count and Canvas's remaining rate-limit budget. Canvas throttles heavy bursts; this lets you check before running something big.

canvas_list_course_peopleA

The student roster for a course. If the course hides the roster, returns a note instead of an error.

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/Ait0u5hi/canvas-scholar-mcp'

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