Canvas API MCP Server

An MCP server for Canvas LMS. 16 curated tools for everyday student work, plus a gateway that reaches every endpoint your Canvas instance exposes.

Local serverstdio

What is the Canvas API MCP Server?

canvas-api-mcp is an MCP project maintained in the johannsenlum/canvas-api-mcp repository. The maintainer describes its purpose as “An MCP server for Canvas LMS. 16 curated tools for everyday student work, plus a gateway that reaches every endpoint your Canvas instance exposes”. Read the project documentation for the complete scope.

Installation

The documented pypi package is canvas-api-mcp. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Configuration values

The example declares CANVAS_BASE_URL, CANVAS_TOKEN. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
whoamiIdentity and your role in each course
get_calendar_feed_urlYour private calendar .ics link (only when you ask for it)
my_coursesActive courses with code, term, role
whats_dueEverything due, soonest first
my_gradesCurrent score per course
list_assignmentsA course's assignments and submission state
get_assignmentOne assignment in full, with rubric
my_submissionYour submission, score, and feedback
course_announcementsRecent announcements
course_contentModules and their contents
list_filesFiles in a course
read_fileExtract text from PDF/DOCX/PPTX/text
get_pageA Canvas wiki page by slug
get_syllabusA course's syllabus
read_discussionTopics, or one topic's replies
search_canvas_apiFind any endpoint by keyword (gateway)

How to install the Canvas API MCP Server

{
  "mcpServers": {
    "canvas": {
      "command": "uvx",
      "args": [
        "canvas-api-mcp"
      ],
      "env": {
        "CANVAS_BASE_URL": "https://canvas.yourschool.edu",
        "CANVAS_TOKEN": "YOUR_CANVAS_TOKEN"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
CANVAS_BASE_URLDeclared in the maintainer’s client configuration.Optional
CANVAS_TOKENDeclared in the maintainer’s client configuration.Optional