MCP Catalogs
Home

mcp-canvas-lms

by DMontgomery40·97·Score 49

Comprehensive MCP server for Canvas LMS with 54+ tools for students, instructors, and administrators.

educationproductivitydeveloper-tools
39
Forks
2
Open issues
this month
Last commit
2d ago
Indexed

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:

you:Automate course management tasks for instructors including creating assignments, grading submissions, and managing student enrollments
you:Help students track their academic progress by checking grades, upcoming assignments, and module completion status
you:Enable Canvas administrators to manage user accounts, generate institutional reports, and oversee course hierarchies
you:How do I get my Canvas API token?
you:What permissions do I need for administrative functions?

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 README
  • canvas_health_check

    Check API connectivity to Canvas

  • canvas_list_courses

    List all available courses

  • canvas_get_assignment

    Get detailed information about a specific assignment

  • canvas_submit_assignment

    Submit assignment work (text/URL/files)

  • canvas_get_user_grades

    Get your overall grades across courses

  • canvas_create_course

    Create a new course in an account

  • canvas_enroll_user

    Enroll a student in a course

  • canvas_get_account

    Get details of a Canvas account

  • canvas_list_account_courses

    List all courses in an account

  • canvas_create_user

    Create a new user in an account

  • canvas_create_account_report

    Generate a report for an account

  • canvas_post_to_discussion

    Post a response to a discussion topic

Comparable tools

moodle-mcp-serverblackboard-mcpapi-mcp-universal

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-server

Docker

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:latest

FAQ

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

GitHub →

Last updated · Auto-generated from public README + GitHub signals.