🎓 Canvas LMS MCP Server 🎓
@MisterCommand
MCP server for accessing the Canvas LMS for students
Overview
What is 🎓 Canvas LMS MCP Server 🎓?
An MCP (Model Context Protocol) server that integrates with the Canvas LMS API to let students access their Canvas resources—courses, announcements, and assignments—directly through an MCP‑compatible client.
How to use 🎓 Canvas LMS MCP Server 🎓?
Configure the server in your MCP client’s settings using npx -y mcp-canvas-lms and set the environment variables CANVAS_ACCESS_TOKEN (your Canvas API token) and CANVAS_BASE_URL (e.g., https://canvas.ust.hk). Once connected, invoke the provided tools (get_courses, get_announcements, get_assignments) to retrieve Canvas data.
Key features of 🎓 Canvas LMS MCP Server 🎓
get_courses– retrieves all courses for the current user.get_announcements– fetches announcements from a course after a given date.get_assignments– gets assignments from a course due before a specific date.- Uses stdio transport for easy integration with MCP clients.
- Requires only a Canvas API token and base URL to connect.
Use cases of 🎓 Canvas LMS MCP Server 🎓
- A student lists all their active Canvas courses.
- A student checks recent announcements from a course.
- A student retrieves upcoming assignments due before a deadline.
- A developer builds an AI assistant that can fetch Canvas data on demand.
FAQ from 🎓 Canvas LMS MCP Server 🎓
What environment variables are required?
CANVAS_ACCESS_TOKEN (your Canvas API token) and CANVAS_BASE_URL (the base URL of your Canvas instance, e.g., https://canvas.ust.hk).
How do I get a Canvas API token?
Create a new access token at sidebar > Profile > Settings (/profile/settings) > Approved Integrations > New Access Token. Your admin may disable this option, in which case you cannot create a token.
What transport does the server use?
It uses stdio transport, as indicated in the installation configuration.
What runtime does it require?
The server is a Node.js project (you need npm/npx to run the installation command npx -y mcp-canvas-lms).
Can I use this server with any Canvas instance?
Yes, by setting CANVAS_BASE_URL to the base URL of your institution’s Canvas instance.