Canvas MCP Server
Provides tools for interacting with the Canvas Learning Management System (LMS), allowing AI assistants to list courses with enrollment filtering, search for assignments across multiple courses, and retrieve detailed assignment information.
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 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 MCP Server
This is a stream http transport Canvas LMS mcp server. A nice fancy bit of goblygook that just means its a remote integration you can plug into chatgpt, claude, poke, or anywhere else that supports mcp. If you want to try the hosted version its over at canvas.dunkirk.sh or feel free to self host!
Quick Start
# Install dependencies
bun install
# Generate encryption key
bun run generate-key
# Copy and configure environment
cp .env.example .env
# Add the generated encryption key to .env
# Run development server
bun devVisit http://localhost:3000 to connect your Canvas account.
Related MCP server: canvas-control
MCP Tools
list_courses: List Canvas courses with enrollment filteringsearch_assignments: Search assignments across coursesget_assignment: Get detailed assignment information
Client Configuration
After connecting your Canvas account, add this to Claude Desktop config:
{
"mcpServers": {
"canvas": {
"url": "https://canvas.dunkirk.sh/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_TOKEN_HERE"
}
}
}
}Security
Canvas tokens encrypted with AES-256-GCM before storage
MCP tokens hashed with Argon2id (cannot be retrieved after creation)
No Canvas tokens exposed to MCP clients
The canonical repo is hosted on tangled at knot.dunkirk.sh/canvas-mcp
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI assistants to Edusign attendance, courses, learners, documents, and API docs via OAuth.
Manage your Canvas coursework with quick access to courses, assignments, and grades. Track upcomin…
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Persistent memory and shared context across compatible AI assistants, with account-scoped OAuth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Canvas LMS and Gradescope, allowing users to query courses, assignments, modules, calendar events, and find relevant resources using natural language.8 npmISC
- AlicenseAqualityDmaintenanceTurns Canvas LMS into a scriptable pipeline and exposes it to AI assistants via MCP for querying courses, grades, assignments, and syncing files using natural language.143MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access Canvas LMS course content, including assignments, modules, announcements, and files, to help students manage their coursework.8 npmISC
- AlicenseNot gradedqualityBmaintenanceConnects Claude, Cursor, Codex and other AI assistants to Canvas LMS through a normal browser sign-in (SSO and MFA included) instead of an access token, letting them read courses, assignments, rubrics, announcements, discussions, grades, calendar and inbox, and read or save course files locally. It is strictly read-only, sending only GET requests, and keeps all session data on the user's own machine.4MIT