Canvas MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CANVAS_TOKEN | Yes | Canvas Personal Access Token | |
| ADA_SERVICE_KEY | No | Optional shared secret for multi-tenant header-based requests | |
| CANVAS_BASE_URL | Yes | Base URL for Canvas API, e.g., https://canvas.asu.edu/api/v1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Return the authenticated Canvas user (id, name, email). Useful for validating a PAT. |
| list_coursesB | List the authenticated student's courses. Defaults to active enrollments. Returns id, name, course_code, term, and dates. |
| get_courseB | Get a single course by id, including syllabus body if available. |
| list_modulesB | List modules for a course, with their items inlined. Use to see the structure of a course's content. |
| list_module_itemsC | List items in a specific module (files, pages, assignments, quizzes, links). |
| get_file_metadataC | Get Canvas file metadata (display_name, content-type, size, download URL). |
| get_file_textA | Download a Canvas file and return up to max_bytes of its body decoded as UTF-8 text. Best for plaintext/markdown/code/HTML; binary formats (PDF, DOCX) return raw bytes — extract text upstream. |
| list_pagesC | List wiki pages for a course. |
| get_pageA | Get a wiki page's full body (HTML) by its url slug. |
| list_assignmentsB | List assignments for a course ordered by due date. Returns due_at, points_possible, description, submission types. |
| get_assignmentC | Get full details for a single assignment, including HTML description. |
| list_my_submissionsB | List the current student's submissions for a course, including grade, score, late/missing flags, and the linked assignment. Use to detect grade drops and missing work. |
| list_announcementsC | List announcements across one or more courses. |
| list_upcomingA | List the current user's upcoming events (assignments + calendar items) across all courses. Use for deadline-aware planning. |
| get_syllabusB | Get the syllabus body (HTML) for a course. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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/Abhinav-ranish/Canvas-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server