mcp-canvas-lms
by DMontgomery40·★ 97·Score 49
Comprehensive MCP server for Canvas LMS with 54+ tools for students, instructors, and administrators.
Overview
This is a full-featured MCP server that provides extensive access to Canvas LMS functionality. It implements proper Model Context Protocol support with both stdio and HTTP transport options. The server covers complete workflow automation for students (assignment submission, grade checking), instructors (course creation, grading), and administrators (user management, reporting). It includes robust error handling, automatic pagination, and maintains type safety with TypeScript implementation.
Try asking AI
After installing, here are 5 things you can ask your AI assistant:
When to choose this
Choose this server if you work with Canvas LMS and need comprehensive tools for students, instructors, and administrators to interact with the platform through MCP.
When NOT to choose this
Avoid if you use a different LMS platform (like Moodle or Blackboard) or if you need highly specialized Canvas features not covered by the 54+ available tools.
Tools this server exposes
12 tools extracted from the READMEcanvas_health_checkCheck API connectivity to Canvas
canvas_list_coursesList all available courses
canvas_get_assignmentGet detailed information about a specific assignment
canvas_submit_assignmentSubmit assignment work (text/URL/files)
canvas_get_user_gradesGet your overall grades across courses
canvas_create_courseCreate a new course in an account
canvas_enroll_userEnroll a student in a course
canvas_get_accountGet details of a Canvas account
canvas_list_account_coursesList all courses in an account
canvas_create_userCreate a new user in an account
canvas_create_account_reportGenerate a report for an account
canvas_post_to_discussionPost a response to a discussion topic
Comparable tools
Installation
Installation
Claude Desktop Integration (Recommended)
Add to claude_desktop_config.json:
{
"mcpServers": {
"canvas-mcp-server": {
"command": "npx",
"args": ["-y", "canvas-mcp-server"],
"env": {
"CANVAS_API_TOKEN": "your_token_here",
"CANVAS_DOMAIN": "your_school.instructure.com"
}
}
}
}NPM Package
npm install -g canvas-mcp-server
export CANVAS_API_TOKEN="your_token_here"
export CANVAS_DOMAIN="your_school.instructure.com"
canvas-mcp-serverDocker
docker run -d \
--name canvas-mcp \
-p 3000:3000 \
-e CANVAS_API_TOKEN="your_token" \
-e CANVAS_DOMAIN="school.instructure.com" \
-e MCP_TRANSPORT="streamable-http" \
ghcr.io/dmontgomery40/mcp-canvas-lms:latestFAQ
- How do I get my Canvas API token?
- Log into Canvas → Account → Settings → Scroll to 'Approved Integrations' → Click '+ New Access Token' → Enter description and copy the generated token.
- What permissions do I need for administrative functions?
- For account-level operations, your Canvas API token must have administrative privileges granted by your institution's Canvas administrator.
Compare mcp-canvas-lms with
Last updated · Auto-generated from public README + GitHub signals.