canvas-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CANVAS_TOKEN | Yes | Your Canvas personal access token | |
| CANVAS_BASE_URL | Yes | Your Canvas institution root URL, without /api/v1 (e.g., https://canvas.example.edu) |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_coursesC | List enrolled courses. Returns id, name, course_code, term. |
| list_assignmentsB | List assignments in a course. Includes due_at, points, submission status. |
| upcoming_eventsA | Upcoming planner items (assignments, calendar events) across all courses. Canvas returns roughly the next two weeks. |
| planner_itemsD | Planner items for the user. ISO dates (YYYY-MM-DD). |
| list_announcementsD | Course announcements. |
| list_modulesC | Course modules with items. |
| get_file_infoC | Get file metadata including download url. |
| get_gradesB | Current grades. Per-course if course_id provided, otherwise all enrollments. |
| get_pageB | Fetch a course wiki page by its url slug. |
| todoA | User's TODO list (ungraded assignments to look at). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Tools target distinct Canvas resources (courses, assignments, modules, etc.), but planner_items and upcoming_events have overlapping purposes, and todo may overlap with assignments. Descriptions help clarify but some ambiguity remains.
Naming mixes consistent get_ and list_ prefixes for most tools, but planner_items, todo, and upcoming_events lack any prefix, breaking the pattern. Within their groups, conventions are followed.
10 tools is well-scoped for a Canvas LMS integration, covering all common read-only resources without being too few or too many. Each tool serves a clear purpose.
The tool set is read-only, missing any create, update, or delete operations. For a full Canvas integration, this is a notable gap, but within a read-only scope it covers courses, assignments, modules, announcements, files, grades, pages, and planner items.