course_id, which you can obtain from list_courses or resolve_course.
get_course_overview
Returns course-level metadata along with the list of teachers. This is typically the first call when you need basic facts about a course — term, dates, student count, and instructor info.Parameters
Canvas course ID.
Response
Example
get_course_syllabus
Returns syllabus metadata and optionally the full syllabus body. The body is HTML and can be large; usebody_char_limit to truncate it when you only need a summary.
Parameters
Canvas course ID.
Response
Canvas course ID.
Full course name.
Short course code.
Enrollment term object.
The syllabus body as raw HTML, truncated to
body_char_limit if needed. null when include_body is false or no syllabus exists.true if a syllabus body exists in Canvas, regardless of include_body.Whether the syllabus is publicly accessible.
Full character length of the syllabus body before any truncation.
Direct URL to the course in Canvas.
Example
list_course_pages
Lists wiki pages in a course. Results can be filtered by search term and publication status.Parameters
Canvas course ID.
Response
Canvas course ID.
Number of pages returned.
Example
canvas_get_page
Fetches the full content of a single course wiki page by URL slug or page ID. Pass theurl slug (e.g. "week-3-notes") or a numeric page ID. This tool does not support assignment, discussion, or file URLs — use resolve_canvas_url for those.
Parameters
Canvas course ID.
The page URL slug (e.g.
"course-syllabus") or numeric page ID. Also accepts a full Canvas page URL — the slug is extracted automatically.Response
Canvas course ID.
Echo of the
url_or_id and force_as_id values that were used.Example
list_course_tabs
Lists the left-sidebar navigation tabs visible in a course. Tabs represent entries like Home, Syllabus, Assignments, People, and any external tool links.Parameters
Canvas course ID.
Response
Canvas course ID.
Number of tabs returned.
Example
get_course_tab
Fetches a single navigation tab by its tab ID and optionally resolves and fetches the tab’s destination. Use this to follow a sidebar link through to its content.Parameters
Canvas course ID.
The tab identifier, e.g.
"home", "syllabus", "assignments". Obtain tab IDs from list_course_tabs.Response
Canvas course ID.
The tab identifier that was queried.
Tab object with the same fields as
list_course_tabs entries.When
include_target is true, the resolved content at the tab’s destination URL. Shape depends on the destination resource type (same structure as resolve_canvas_url response).Example
list_course_people
Lists users enrolled in a course. Can be filtered by name, enrollment type, and whether to include email addresses.Parameters
Canvas course ID.
Response
Canvas course ID.
Number of users returned.
Example
list_modules
Lists modules in a course and optionally expands each module’s items and their content details.Parameters
Canvas course ID.
Example
get_course_grade_summary
Returns the current grade summary for a student in a course, including enrollment grade data, raw point totals, submission counts, and a per-assignment-group breakdown.Parameters
Canvas course ID.
Response
Canvas course ID.
Full course name.
The student ID that was queried.
Canvas enrollment grades object. Contains
current_score, final_score, current_grade, and final_grade when available.Per-group grade data, each with
id, name, group_weight, earned_points, possible_points, percent, and weighted_contribution_estimate.Example
resolve_canvas_url
Parses a Canvas URL into its component object identifiers and optionally fetches the identified resource. Use this when you have a Canvas URL and need to know what it points to and how to retrieve its content.canvas_get_page only handles wiki page URLs. For all other Canvas URLs — assignments, discussions, files, submissions — use resolve_canvas_url.Parameters
A full Canvas URL, e.g.
"https://school.instructure.com/courses/112233/assignments/789".Response
The original URL that was parsed.
The hostname extracted from the URL.
Extracted Canvas course ID.
Type of resource identified. Common values:
"assignment", "discussion_topic", "page", "file", "syllabus", "course_grades", "course_people", "course".Expanded Canvas resource ID.
All known ID aliases for the resource (short, tilde, and full formats).
The suggested tool name to use for this resource type.
Fetched resource content when
fetch_details is true. Shape matches the response from the recommended tool.Error message if the details fetch failed.
null on success.Example
get_course_context_snapshot
Returns an aggregated, single-call context snapshot for a course. Combines the course overview, syllabus, upcoming assignments, recent announcements, modules, and grade summary into one response. Designed to give an LLM or tool a quick orientation to a course without making multiple sequential requests.Parameters
Canvas course ID.
Response
Canvas course ID.
Result from
get_course_overview.Result from
get_course_syllabus.Result from
list_course_assignments with bucket: "upcoming".Result from
list_announcements.Result from
list_modules with items and content details.Result from
get_course_grade_summary.Array of section-level errors. Each entry has
section (the snapshot key that failed) and error (the error message). Individual section failures do not abort the entire snapshot.