MCP.so
Sign In

Canvas LMS MCP Server

@ahnopologetic

About Canvas LMS MCP Server

No overview available yet

Basic information

Category

Other

License

MIT

Runtime

python

Transports

stdio

Publisher

ahnopologetic

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "canvas": {
      "command": "uvx",
      "args": [
        "canvas-lms-mcp"
      ],
      "env": {
        "CANVAS_API_TOKEN": "your_canvas_api_token",
        "CANVAS_BASE_URL": "https://your-institution.instructure.com"
      }
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Canvas LMS MCP Server?

Canvas LMS MCP Server is a minimal Model Context Protocol (MCP) server that provides a bridge between AI systems (like Cursor) and the Canvas Learning Management System. It allows AI assistants to access educational data such as courses, assignments, grades, announcements, discussions, and more from a Canvas instance. The server is intended for students, instructors, and developers who want to query Canvas data through AI-powered tools.

How to use Canvas LMS MCP Server?

Install the server via uvx (recommended) or from source. Set the CANVAS_API_TOKEN and CANVAS_BASE_URL environment variables (the API token is obtained from Canvas account settings). Start the server with uv run src/canvas_lms_mcp/main.py or canvas-lms-mcp if installed as a tool. Then configure any MCP‑compatible client (e.g., Claude Desktop, Claude Code, Cursor, Windsurf) with the JSON config specifying the command uvx and arguments ["canvas-lms-mcp"] plus the required environment variables.

Key features of Canvas LMS MCP Server

  • List enrolled courses and get course details, syllabus, modules, and module items
  • Retrieve assignments with optional submission status and grade weighting
  • Get course pages, submissions with grades, and announcements across courses
  • List and view discussion topics and full threads
  • Access calendar events with date filtering and planner items
  • View enrollments with grades, quizzes (classic only), and files
  • Get course navigation tabs and favorite courses

Use cases of Canvas LMS MCP Server

  • Ask your AI assistant “What assignments do I have due next week?”
  • Request the syllabus for a specific course
  • Retrieve recent announcements posted across multiple courses
  • Get your current grades and submission feedback
  • Check your schedule or planner items for a given date range

FAQ from Canvas LMS MCP Server

What clients does Canvas LMS MCP Server work with?

It works with any client that supports the Model Context Protocol, including Claude Desktop, Claude Code, Cursor, Windsurf, and others.

What are the prerequisites to run the server?

You need Python 3.13+, a Canvas API token, and the uv package manager (recommended).

How do I obtain a Canvas API token?

Go to Canvas → Account → Settings → New Access Token to generate one.

Does the server work with New Quizzes (quiz_lti)?

No; the quiz tools only work with Classic Quizzes, not New Quizzes.

Are there any known limitations?

The list_files function may return a 403 error for student accounts, depending on institution permissions. However, get_file can still retrieve a file if you know its ID.

Comments

More Other MCP servers