mcpField
πŸŽ“
πŸŽ“ Canvas LMS MCP Server πŸŽ“

πŸŽ“ Canvas LMS MCP Server πŸŽ“

Local
npmjs.comScience & Education0Updated 81w ago

About πŸŽ“ Canvas LMS MCP Server πŸŽ“

An MCP server for students to access Canvas LMS through its API. It provides tools to list courses and retrieve course announcements and assignments, using a Canvas access token and base URL.

Key features

  1. 01List courses for the current user
  2. 02Retrieve course announcements by date
  3. 03Retrieve assignments by due date

Use cases

  1. 01Check available Canvas courses
  2. 02Review recent course announcements
  3. 03Find assignments due before a date

MCP support

The server exposes Canvas LMS API operations as MCP tools: course listing, announcements, and assignments. It connects using a Canvas API access token and base URL.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json Β· Universal config
{
"mcpServers": {
"canvas-lms-mistercommand": {
"command": "npx",
"args": [
"-y",
"mcp-canvas-lms"
],
"env": {
"CANVAS_ACCESS_TOKEN": "<CANVAS_ACCESS_TOKEN>",
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>"
}
}
}
}
Run commandnpx -y mcp-canvas-lms
Environment variables to set
CANVAS_ACCESS_TOKENSecret
CANVAS_BASE_URL

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmcp-canvas-lms

Tools

3

Saved tool list Β· updated 2w ago

ParameterTypeRequiredDescription
enrollment_stateenumNoState of the course, can be 'active' (the user is currently enrolled to the course) or 'completed' (the user has completed the course), leave empty for all coursesactive | completed |

Details

From the project README

πŸŽ“ Canvas LMS MCP Server πŸŽ“

MCP Server for the Canvas LMS API, enabling access to Canvas LMS resources for students. πŸš€

Tools

  1. get_courses πŸ“š
    • Get all courses for the current user
  2. get_announcements πŸ“£
    • Get all announcements from a specific course, made after a specific date
  3. get_assignments πŸ“
    • Get all assignments from a specific course, due before a specific date

Installation

{
  "mcpServers": {
    "canvas-mcp-server": {
      "command": "npx",
      "args": ["-y", "mcp-canvas-lms"],
      "env": {
        "CANVAS_ACCESS_TOKEN": "key",
        "CANVAS_BASE_URL": "https://..."
      },
      "transportType": "stdio"
    }
  }
}

Usage

Environment Variables
  • CANVAS_ACCESS_TOKEN: Canvas LMS API token
  • CANVAS_BASE_URL: Base URL for the canvas API (e.g. https://canvas.ust.hk)

Create your access token at sidebar > Profile > Settings (/profile/settings) > Approved Integrations > New Access Token

You might not be able to create a new access token if your admin has disabled this setting.

Development

# Install dependencies
npm install

# Build the project
npm run build

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.