Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

canvas-mcp

MCP.Pizza Chef: aryankeluskar

Canvas MCP server integrates Canvas LMS and Gradescope tools into the Model Context Protocol, enabling AI agents to query courses, find educational resources, and retrieve detailed assignment information. It supports natural language queries for upcoming assignments, course modules, calendar events, and submission statuses, providing a comprehensive EdTech context for AI applications.

Use This MCP server To

Query Canvas LMS courses and assignments via natural language Retrieve Gradescope course and assignment details Fetch upcoming assignments with detailed breakdowns Access course modules and module items Get URLs for course files and resources Retrieve calendar events related to courses Check submission status for Gradescope assignments Enable AI apps to interact with EdTech platforms seamlessly

README

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

canvas-mcp FAQ

How do I authenticate the Canvas MCP server?
You need a Canvas API Key from Canvas Account Settings under Approved Integrations to authenticate the server.
Can Canvas MCP handle both Canvas LMS and Gradescope data?
Yes, it supports querying courses, assignments, and submissions from both Canvas LMS and Gradescope.
What kind of queries can I make with Canvas MCP?
You can make natural language queries to find resources, upcoming assignments, course modules, calendar events, and submission statuses.
Is Canvas MCP compatible with multiple AI providers?
Yes, it works with models from OpenAI, Anthropic Claude, and Google Gemini, among others.
How do I get started with Canvas MCP?
Obtain your Canvas API key, configure the server with your credentials, and connect your AI app to start querying.
Does Canvas MCP provide real-time updates on assignments?
It can fetch the latest assignment data and calendar events as available from Canvas and Gradescope APIs.
Can I retrieve file URLs and module items using Canvas MCP?
Yes, it supports fetching file URLs and detailed module items for courses.
Is there support for querying submission status in Gradescope?
Yes, you can query submission statuses for assignments in Gradescope through the MCP server.