canvas

Fetch Canvas LMS courses and assignments via paginated REST API calls.

Updated Apr 9, 2026
One-click install
npx skills add https://github.com/MarbleSodas/Mavis --skill canvas-marblesodas
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: canvas
Source: https://github.com/MarbleSodas/Mavis/tree/main/optional-skills/productivity/canvas
Command: npx skills add https://github.com/MarbleSodas/Mavis --skill canvas-marblesodas

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) components.

What problem does it solve?

Canvas LMS users often need a fast way to see what courses and assignments are currently available without manually browsing each page.

Core Features & Use Cases

  • Course discovery: List Canvas courses for a given enrollment state or all states.
  • Assignment discovery: List assignments for a specific course, with optional sorting by due date.
  • Use case: Before the week starts, quickly retrieve all active courses and their upcoming assignments so you can plan study or work.

Quick Start

Run the canvas skill to list your active Canvas courses by calling the command list_courses with the enrollment-state flag set to active.

Frequently Asked Questions about canvas

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fetch Canvas LMS courses and assignments programmatically?

To fetch Canvas LMS courses and assignments programmatically, you can use an API integration that performs authenticated REST API calls. This allows you to retrieve course catalogs and assignment due dates in JSON format for planning workflows.

How do I retrieve upcoming Canvas assignments sorted by due date?

You can retrieve upcoming Canvas assignments sorted by due date by executing an API call for a specific course. This returns a JSON list of assignments, allowing you to plan your study schedule before the week starts.

Do I need an API token to list active courses from Canvas LMS?

Yes, you need an API token to list active courses from Canvas LMS. The system requires CANVAS_API_TOKEN and CANVAS_BASE_URL environment variables to perform authenticated, read-only REST API calls and return course data.

Can I list Canvas courses based on my enrollment state?

Yes, you can list Canvas courses based on your enrollment state. By calling the list_courses function with the enrollment-state flag set to active, the API filters and returns only your currently active courses.

Does this Canvas API integration support pagination for large course catalogs?

Yes, this Canvas API integration supports pagination to handle large course catalogs. It performs paginated REST API calls to ensure all relevant courses and assignments are fetched and returned as JSON results.

Can I modify or submit assignments through this Canvas LMS integration?

No, you cannot modify or submit assignments through this Canvas LMS integration. It is designed for read-only access to fetch course catalogs and assignment due dates, meaning it cannot write data back to the LMS.