canvas-mcp

canvas-mcp

3.5

If you are the rightful owner of canvas-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcpreview.com.

Canvas MCP is a set of tools that allows AI agents to interact with Canvas LMS and Gradescope.

Canvas MCP

Canvas MCP is a set of tools that allows your AI agents to interact with Canvas LMS and Gradescope.

Features

  • Find relevant resources - Ability to find relevant resources for a given query in natural language!
  • Query upcoming assignments - Not only fetch upcoming assignments, but also provide its breakdown for a given course.
  • Get courses and assignments from Gradescope - Query your Gradescope courses and assignments with natural language, get submission status, and more!
  • Get courses
  • Get modules
  • Get module items
  • Get file url
  • Get calendar events
  • Get assignments
  • and so much more...

Usage

Note down the following beforehand:

  1. Canvas API Key from Canvas > Account > Settings > Approved Integrations > New Access Token
  2. Gemini API key from https://aistudio.google.com/app/apikey
  3. Gradescope Email and Password https://www.gradescope.com/

Installing via Smithery (Preferred)

To install Canvas MCP for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @aryankeluskar/canvas-mcp --client claude

Or, for Cursor IDE to use canvas-mcp with other models:

npx -y @smithery/cli install @aryankeluskar/canvas-mcp --client cursor

Or, for Windsurf:

npx -y @smithery/cli install @aryankeluskar/canvas-mcp --client windsurf

Manual Installation (ONLY for local instances)

Download the repository and run the following commands:

git clone https://github.com/aryankeluskar/canvas-mcp.git
cd canvas-mcp

# Install dependencies with uv (recommended)
pip install uv
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt

# Or install with pip
pip install -r requirements.txt

Manual Configuration

Create a .env file in the root directory with the following environment variables:

CANVAS_API_KEY=your_canvas_api_key
GEMINI_API_KEY=your_gemini_api_key

Add the following to your mcp.json or claude_desktop_config.json file:

{
  "mcpServers": {
      "canvas": {
          "command": "uv",
          "args": [
              "--directory",
              "/Users/aryank/Developer/canvas-mcp",
              "run",
              "canvas.py"
          ]
      }
  }
}

Built by Aryan Keluskar :)