Canvas

Enables MCP clients to interact with Canvas LMS data, including courses, content, assignments, and previews.
  • python

1

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jon-vii-canvas-student-mcp": {
      "command": "python",
      "args": [
        "ABSOLUTE_PATH_TO/src/canvas-student/run_server.py"
      ],
      "env": {
        "CANVAS_BASE_URL": "https://your-institution.instructure.com",
        "CANVAS_API_TOKEN": "your_canvas_api_token"
      }
    }
  }
}

You can interact with Canvas LMS data and content through a dedicated MCP server. This setup lets you retrieve courses, search content, access assignments and files, and preview PDFs or links directly from your MCP-enabled client. It supports both local execution and PDF-friendly workflows, so you can tailor it to how you work with Canvas.

How to use

Install and run the server, then connect your MCP client to the local or remote endpoint to access Canvas data. You can retrieve courses, search across all content, filter assignments, view course content, and get links for non-text files like PDFs and images. For documents you can preview or open directly when available.

How to install

Prerequisites you need before installing: Python 3.10 or newer and UV Python package manager.

Option 1: Simple Installation (Recommended) Run the following commands from your shell. Ensure you are in the project’s canvas-student directory.

# Navigate to the canvas-student directory
cd src/canvas-student

# Run the installer Python script
python install.py

Option 2: Manual Installation Install dependencies with UV or standard pip.

# Navigate to the canvas-student directory
cd src/canvas-student

# Install with UV (including PDF support)
uv pip install -e ".[pdf]"

# Or with standard pip
pip install -e ".[pdf]"

Configuration and running notes

Configure your MCP client to launch the server using Python and the appropriate script. You provide environment variables for your Canvas instance API access.

Two local execution options are commonly used. You can run the main entry point or a server that includes enhanced PDF support.

# Start the main MCP entry point
python ABSOLUTE_PATH_TO/src/canvas-student/main.py
# Start the PDF-friendly server (ensures PDF extraction libraries are present)
python ABSOLUTE_PATH_TO/src/canvas-student/run_server.py

Configuration for MCP clients (Claude Desktop example)

Add an MCP server configuration to your Claude Desktop config. The example below demonstrates a local stdio server that runs the main entry point and shares the necessary Canvas credentials.

{
  "mcpServers": {
    "canvas": {
      "command": "python",
      "args": ["ABSOLUTE_PATH_TO/src/canvas-student/main.py"],
      "env": {
        "CANVAS_API_TOKEN": "your_canvas_api_token",
        "CANVAS_BASE_URL": "https://your-institution.instructure.com"
      }
    }
  }
}

Additional configuration notes

Place environment variables in a .env file or your system environment as shown, then restart your MCP client to apply changes.

CANVAS_API_TOKEN=your_token_here
CANVAS_BASE_URL=https://your-institution.instructure.com
CANVAS_CLIENT_ID=your_oauth_client_id
CANVAS_CLIENT_SECRET=your_oauth_client_secret
REDIRECT_URI=http://localhost:8000/oauth/callback

Troubleshooting and tips

If you run into authentication or URL issues, verify that your API token is valid, the Canvas base URL is correct, and the URL does not include a trailing slash or api path. Check your environment variable configuration and ensure Python 3.10+ is in use.

Examples of common requests

Ask Claude to show your courses, search for assignments, or extract content from course materials. You can request previews or links to PDFs and other file types when direct content extraction isn’t available.

Available tools

courses

Retrieve and list courses in your Canvas account.

assignments

Find, filter, and retrieve assignments across courses.

content

Access course content such as files, modules, and pages.

search

Search across all available Canvas content.

utils

Helper utilities used by the MCP server.

file_content

Extract or provide access to text content from files (including PDFs when available).

todos

Show to-do items and missing assignments.

quizzes

Fetch quiz information and related details.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational