MCP.so
Sign In

Canvas MCP Server

@avarant

About Canvas MCP Server

an mcp server for interacting with canvas

Basic information

Category

Other

License

MIT license

Runtime

python

Transports

stdio

Publisher

avarant

Config

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

{
  "mcpServers": {
    "canvas-mcp-server": {
      "command": "uv",
      "args": [
        "pip",
        "install",
        "-r",
        "requirements.txt",
        "#",
        "Assuming",
        "a",
        "requirements.txt",
        "might",
        "be",
        "added",
        "later"
      ]
    }
  }
}

Tools

5

Fetches the list of active courses for the current user.

Fetches the list of assignments for a specific course ID.

Fetches calendar events (assignments) for specified context codes (defaults to user).

Fetches upcoming calendar events (including assignments) for the user.

Fetches detailed information for a specific course ID.

Overview

What is Canvas MCP Server?

A Canvas Model Context Protocol (MCP) server implemented in Python that exposes Canvas API functionalities as MCP tools using the canvas-lms-sdk. It is intended for users who want to programmatically interact with their Canvas LMS instance via MCP-compatible clients.

How to use Canvas MCP Server?

Set the CANVAS_API_URL and CANVAS_API_KEY environment variables with your Canvas credentials, install dependencies using uv (or pip) from the required repositories, then run python main.py. The server will start and listen for MCP client connections.

Key features of Canvas MCP Server?

  • Fetches active courses for the current user
  • Retrieves assignments for a specific course ID
  • Checks calendar due dates for specified context codes
  • Lists upcoming calendar events and assignments
  • Returns detailed information for a given course ID

Use cases of Canvas MCP Server?

  • Get an overview of all currently active courses
  • View assignments and due dates for a specific course
  • Check upcoming assignment deadlines on a calendar
  • Access detailed course information (e.g., syllabus, settings)
  • Automate Canvas data retrieval through MCP workflows

FAQ from Canvas MCP Server

What are the prerequisites for running the server?

Python 3.8 or later, the uv package manager (or pip), and a Canvas API URL and API key from your institution.

How do I set up environment variables?

Export CANVAS_API_URL (e.g., https://<your-institution>.instructure.com) and CANVAS_API_KEY before running the server. For production, use a secure secret manager.

Which dependencies need to be installed?

The server requires canvas-lms-sdk (installed from a GitHub repository) and mcp-sdk. Install them via uv pip install or pip as shown in the README.

How do I start the server?

After setting environment variables and installing dependencies, run python main.py from the project directory.

What tools does the server currently provide?

Five tools: get_active_courses, get_assignments_for_course, get_calendar_due_dates, get_upcoming_assignments, and get_class_information.

Comments

More Other MCP servers