Canvas LMS MCP Server
Provides tools for interacting with Canvas LMS, enabling users to manage courses, assignments, grades, announcements, modules, and calendar events through natural language.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Canvas LMS MCP ServerWhat assignments do I have due this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ Canvas LMS MCP Server
A robust Model Context Protocol (MCP) server that connects Claude AI to your Canvas LMS account โ letting you interact with your coursework using natural language.
Built with Python ยท Canvas REST API ยท MCP SDK
โจ Features (14 Tools across 4 Modules)
๐ Assignments & Courses
Tool | Description |
| List all active enrolled courses |
| Get all assignments (all courses or filtered) |
| Deadlines in the next N days, color-coded by urgency |
| Full details of a specific assignment |
| Submitted vs. missing across all courses |
๐ Grades
Tool | Description |
| Current grades with visual progress bars |
| Assignment-level breakdown with running total |
| All unsubmitted assignments |
๐ข Announcements & Modules
Tool | Description |
| Recent announcements across courses |
| Modules with locked/completed status |
| Items in a module with completion checkboxes |
๐ Calendar
Tool | Description |
| All events for the next N days |
| Week-at-a-glance view |
| Next N events across all courses |
Related MCP server: Canvas LMS MCP Server
๐ Setup
1. Clone the repo
git clone https://github.com/adityas0604/MCP-Canvas.git
cd canvas-mcp2. Install dependencies
pip install -r requirements.txtHow to get your Canvas API Token:
Log into Canvas
Go to Account โ Settings
Scroll to Approved Integrations
Click New Access Token
Copy and save this token.
3. Configure Claude Desktop
Add this to your claude_desktop_config.json:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"canvas": {
"command": "python",
"args": ["/absolute/path/to/canvas-mcp/server.py"],
"env": {
"CANVAS_BASE_URL": "canvas_base_url"
"CANVAS_API_TOKEN": "your_token_here"
}
}
}
}4. Restart Claude Desktop
The Canvas tools will now appear in your Claude sidebar!
๐ฌ Example Prompts
Once connected, try asking Claude:
"What assignments do I have due this week?"
"What's my current GPA estimate?"
"Am I missing any assignments?"
"What announcements have my professors posted recently?"
"Show me my grade breakdown for course 12345"
"What does my week look like?"
๐ Privacy & Security
Read-only โ this server never writes, submits, or modifies your Canvas data
๐ ๏ธ Tech Stack
Python 3.10+
MCP SDK โ Model Context Protocol
httpx โ Async-ready HTTP client
python-dotenv โ Environment config
Canvas LMS REST API
This server cannot be deployed
Maintenance
Related MCP Connectors
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces โ chat, links, and tasks. One-click OAuth.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
AI-powered corporate learning platform โ manage courses, users, and insights via Claude.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects Claude to Canvas LMS, enabling students to query their coursework, assignments, grades, deadlines, announcements, and calendar events through natural conversation instead of navigating the Canvas interface.8-
- AlicenseNot gradedqualityDmaintenanceConnects Claude to Canvas LMS accounts, enabling natural language queries about courses, assignments, grades, and files. Supports content search, file downloads, syllabus retrieval, and bulk course exports via 13 integrated tools.7 npmMIT
- FlicenseNot gradedqualityBmaintenanceConnects Claude to the Canvas LMS REST API, enabling natural language queries about courses, assignments, grades, deadlines, and announcements.1-
- AlicenseBqualityCmaintenanceEnables Claude to interact with Canvas LMS, allowing natural language queries about courses, deadlines, grades, and feedback.29MIT