icon for mcp server

Canvas Gradescope Integration

STDIO

Tools for AI agents to interact with Canvas LMS and Gradescope.

Canvas MCP

smithery badge

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

gradescope

example

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 :)

Be the First to Experience MCP Now