A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
100
Community adoption25% weight
0
Maintenance state20% weight
100
License clarity10% weight
100
Project information10% weight
100
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
🎓 Canvas LMS MCP Server
Bring AI to your Canvas Virtual Classroom! 🚀
This project is a Model Context Protocol (MCP) server for Canvas LMS. It acts as a bridge that allows AI assistants (like Claude Desktop, Claude Code, Cursor, etc.) to query and manage your Canvas courses using natural language.
When you interact with the server, communication flows as follows:
graph LR
User([User]) -->|Natural Language Instruction| AI["AI Assistant (e.g., Claude)"]
AI -->|MCP Request| MCP["Canvas MCP Server"]
MCP -->|REST API - HTTPS| Canvas["Canvas LMS"]
Canvas -->|Response| MCP
MCP -->|Processed Data| AI
AI -->|Friendly Answer| User
ALGORITHMICALLY RELATED
Similar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
Self-hostable, open-source platform to deploy & share small static web apps ("canvases") inside your org — paste/drag/PUT a folder, get an instant secure URL. Five zero-config backend primitives (KV, files, AI, identity, realtime), an MCP server for AI agents, no telemetry.
For the Cloudflare AI Challenge. An AI-powered chat agent deployable on Cloudflare Pages that integrates the Canvas LMS MCP server with Cloudflare Workers + AI Gateway. It enables users to interact with their Canvas data through natural language, leveraging serverless workflows and tool-chained reasoning built entirely on Cloudflare.
You ask the AI (e.g., "Create an assignment due next Friday").
The AI detects your intent and communicates with the Canvas MCP Server, sending the required parameters.
The server makes a secure call to the official Canvas API.
Canvas processes the action and returns the response.
The AI confirms the success of the action back to you in plain, natural language.
Use Cases & Examples
Here are some realistic, everyday prompts you can use with your AI assistant:
[!TIP]
Token Saving & Efficiency: Whenever possible, specify the Canvas ID or the direct Canvas URL (e.g., https://[your_institution].instructure.com/courses/[course_id]/assignments/[assignment_id]) in your prompts. This prevents the AI from scanning all your courses/resources, leading to faster responses and substantial token savings.
📖 Course Auditing & Querying
💬 "What active courses do I have this semester? Check if there are multiple active sections/parallels."
💬 "Show me all ungraded submissions for 'Essay 1: Introduction to Sociology' in Sociology 101."
💬 "Who is in Student Group A for the Chemistry class?"
💬 "Does the assignment 'Project Proposal' have an active rubric associated? If so, retrieve its criteria."
💬 "Search for everything related to 'photosynthesis' across my Biology course — assignments, pages, and discussions."
✍️ Creating & Organizing Course Content
💬 "Create a new module named 'Week 1: Foundations' in my course."
💬 "Add a SubHeader 'REQUIRED READINGS' inside the 'Week 1' module, and link the syllabus page to it."
💬 "In my Business course, create an assignment called 'Case Study 1: Market Analysis'. Add an instructions table with columns for Criteria, Requirements, and Points."
💬 "Create a threaded discussion topic in my course titled 'Weekly Reflection' and pin it to the top."
💯 Grading & Absence Management
💬 "For assignment 'Case Study 1', find all students who haven't submitted their work. Assign them a grade of 0 and add the comment: 'Activity not submitted. Please contact the instructor if you have a valid excuse.'"
💬 "Grade John's submission for 'Essay 1' with a 90 based on the rubric, and add a comment: 'Great job! The analysis is well-structured, though you could expand more on the conclusion. Keep it up!'"
📊 Student Engagement & Analytics
💬 "Show me the activity analytics for my Calculus course — how active have students been this week?"
💬 "Which students haven't been active in course 12345 in the last few days? I want to reach out to them."
💬 "Get the analytics for student [ID] in my Biology course — how many page views and participations do they have?"
💬 Messaging & Communication
💬 "Send a private message to student [ID] reminding them their 'Project Proposal' is due tomorrow."
💬 "How many unread messages do I have in my Canvas inbox?"
💬 "Show me my last 10 inbox conversations."
👥 Enrollment & Student Management
💬 "Who is enrolled in my course? Show me students and TAs separately."
💬 "Search for a student named 'Maria Gonzalez' in account 1."
💬 "Enroll user [ID] as a TA in my Physics course."
🔄 Peer Reviews
💬 "List all peer review assignments for 'Research Paper' in course 12345."
💬 "Manually assign student [ID] to review [other student ID]'s submission for 'Essay 2'."
Setup Guide
To connect your AI assistant to Canvas, you need to configure two things: your Canvas credentials and your AI client (like Claude).
Step 1: Obtain Canvas Credentials
To let the server act on your behalf, it needs permission:
Log in to your Canvas LMS account.
Go to Account ➡️ Settings in the sidebar menu.
Scroll down to the Approved Integrations section and click + New Access Token.
Enter a purpose (e.g., "Claude Assistant") and click Generate Token.
Copy the generated token immediately and store it somewhere safe (you won't be able to see it again after closing the page).
[!IMPORTANT]
You will also need your Canvas Domain. This is the web address of your school/university, for example: myschool.instructure.com.
Step 2: Connect to your AI Client
Option A: Claude Desktop (Desktop Application)
Open your Claude Desktop configuration file. On Windows, it is located at:
%APPDATA%\Claude\claude_desktop_config.json(On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json)
Add the Canvas server configuration under mcpServers:
AI-assisted course design toolchain for Canvas LMS - Curriculum Intelligence, Canvas Design Studio, and Command & Control MCP servers, with a native installer and plug-in module architecture.
Browser-based ski game built with TypeScript + HTML5 Canvas with a local MCP server that enables deterministic headless gameplay simulations for AI-assisted development workflows.