Skip to main content
Glama
ahnopologetic

Canvas LMS MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_BASE_URLNoThe base URL of your Canvas institution (e.g., https://your-institution.instructure.com)https://canvas.instructure.com
CANVAS_API_TOKENYesYour Canvas API token (can be obtained from your Canvas account settings)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_assignmentB

Get a single assignment by ID.

Args: course_id: Course ID assignment_id: Assignment ID

Returns: Assignment object

get_course_modulesC

Get modules for a course.

Args: course_id: Course ID include: Optional list of additional data to include per_page: Number of items per page Returns: List of Module objects

get_course_syllabusC

Get a course's syllabus.

Args: course_id: Course ID

Returns: Course syllabus as string

get_courseB

Get a single course by ID.

Args: course_id: Course ID include: Optional list of additional data to include

Returns: Course object

get_quizC

Get a single quiz by ID.

Args: course_id: Course ID quiz_id: Quiz ID

Returns: Quiz object

list_assignmentsB

List assignments for a course.

Args: course_id: Course ID bucket: Bucket to filter assignments by (past, overdue, undated, ungraded, unsubmitted, upcoming, future) order_by: Field to order assignments by (due_at, position, name) include: Optional list of additional data to include (e.g., ["submission"] to see grade status) page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse containing assignments

list_coursesB

List courses that the user is actively enrolled in.

Args: page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse containing courses

list_filesC

List files for a course or folder.

Args: course_id: Optional Course ID folder_id: Optional Folder ID include: Optional list of additional data to include page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse[File]

list_planner_itemsB

List planner items for the authenticated user.

Args: start_date: start date in ISO 8601 format end_date: end date in ISO 8601 format context_codes: list of context codes (e.g., ["course_123"]) page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse[PlannerItem]

list_quizzesB

List quizzes for a course.

Args: course_id: Course ID include: Optional list of additional data to include page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse containing quizzes

get_module_itemsC

Get items for a module.

Args: course_id: Course ID module_id: Module ID

get_fileC

Get a file by ID.

Args: course_id: Course ID file_id: File ID

Returns: File object

get_pageB

Get a single page by its URL slug.

Args: course_id: Course ID page_slug: Page URL slug (e.g., "kurshandbok", "examination")

Returns: Page object with title, body (HTML), and metadata

list_submissionsB

List the current user's submissions for a course, including grades and feedback.

Args: course_id: Course ID include: Optional list of additional data (e.g., ["assignment", "submission_comments"]) page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse containing submissions with grades and comments

list_announcementsC

List announcements for one or more courses.

Args: course_ids: List of course IDs to fetch announcements for page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse containing announcements

list_discussionsB

List discussion topics for a course.

Args: course_id: Course ID page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse containing discussion topics

get_discussion_viewC

Get the full view of a discussion topic including all replies.

Args: course_id: Course ID discussion_id: Discussion topic ID

Returns: Full discussion view with participants and all entries

list_calendar_eventsB

List calendar events for courses.

Args: context_codes: List of context codes (e.g., ["course_4538"]) start_date: Optional start date in ISO 8601 format end_date: Optional end date in ISO 8601 format page: Page number (1-indexed) items_per_page: Number of items per page

Returns: PaginatedResponse containing calendar events

get_enrollmentsB

Get the current user's enrollments including grades.

Returns: Dict with enrollment items including course IDs and grade data

list_assignment_groupsC

List assignment groups for a course (shows grade weighting/categories).

Args: course_id: Course ID

Returns: Dict with assignment group items

get_tabsC

Get available tabs/navigation items for a course.

Args: course_id: Course ID

Returns: Dict with tab items showing available course sections

list_favoritesB

List the current user's favorite courses.

Returns: Dict with favorite course items

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/ahnopologetic/canvas-lms-mcp'

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