Canvas LMS

by aryankeluskar

6 stars
Not rated
GitHub

About

Integrates with Canvas LMS to retrieve course information, modules, and learning materials based on natural language queries or image analysis, enabling students to find relevant educational resources without leaving their conversation.

Details

Author
aryankeluskar
Repository
aryankeluskar/canvas-mcp
GitHub stars
6
License
ISC License
Categories
Productivity, Other, API, Design, AI, Media, Search, Knowledge Base, Frontend

- 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...

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Canvas LMS
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @smithery/cli
    • Argument 3 run
    • Argument 4 @aryankeluskar/canvas-mcp
    Environment
    • SNITHERY_API_KEY your_snithery_api_key

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Note down the following beforehand:
1. Canvas API Key from Canvas > Account > Settings > Approved Integrations > New Access Token
2. Gradescope Email and Password https://www.gradescope.com/

To install Canvas MCP for Claude Code via Smithery:

npx -y @smithery/cli@latest mcp add aryankeluskar/canvas-mcp --client claude-code

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

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

Or, for ChatGPT:

1) Enable Developer Mode in settings, if not already enabled
2) Go to ChatGPT Settings > Connectors and click Create to add this server URL: https://canvas-mcp--aryankeluskar.run.tools

---

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

SNITHERY_API_KEY=your_snithery_api_key

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

{
  "mcpServers": {
      "canvas": {
          "command": "npx",
          "args": [
              "-y",
              "@smithery/cli",
              "run",
              "@aryankeluskar/canvas-mcp"
          ]
      }
  }
}

---

Built by Aryan Keluskar :)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "canvas lms": {
            "env": {
                "SNITHERY_API_KEY": "your_snithery_api_key"
            },
            "args": [
                "-y",
                "@smithery/cli",
                "run",
                "@aryankeluskar/canvas-mcp"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "SNITHERY_API_KEY": "your_snithery_api_key"
    },
    "args": [
        "-y",
        "@smithery/cli",
        "run",
        "@aryankeluskar/canvas-mcp"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "SNITHERY_API_KEY": "your_snithery_api_key"
    },
    "args": [
        "-y",
        "@smithery/cli",
        "run",
        "@aryankeluskar/canvas-mcp"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "SNITHERY_API_KEY": "your_snithery_api_key"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "@smithery/cli",
        "run",
        "@aryankeluskar/canvas-mcp"
    ],
    "command": "cmd"
}

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

- 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...
- Canvas API Key fromCanvas > Account > Settings > Approved Integrations > New Access Token
- Gradescope Email and Passwordhttps://www.gradescope.com/

To install Canvas MCP for Claude Code viaSmithery:

npx -y @smithery/cli@latest mcp add aryankeluskar/canvas-mcp --client claude-code

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

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

- Enable Developer Mode in settings, if not already enabled
- Go toChatGPT Settings > Connectorsand click Create to add this server URL:https://canvas-mcp--aryankeluskar.run.tools

Manual Configuration (ONLY for local instances)

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

Add the following to yourmcp.jsonorclaude_desktop_config.jsonfile:

{ "mcpServers": { "canvas": { "command": "npx", "args": [ "-y", "@smithery/cli", "run", "@aryankeluskar/canvas-mcp" ] } } }

Connect Patent APIs like EPO OPS, USPTO ODP or Google Patents to your chatbot.

Access data from the Bakaláři school system, including schedules, absences, and grades, through a standardized API.

MCP server for Brightspace (D2L): check grades, due dates, announcements, rosters & more using Claude, ChatGPT, Cursor, or any MCP client.

Integrates with the Canvas Learning Management System (LMS), supporting FERPA-compliant anonymization and privacy controls.

Interact with the Coda API to manage documents and pages, including creating, reading, updating, and deleting.

An MCP server for the esa.io API, allowing you to search, read, create, update, and delete posts.

Connects AI agents to the Feishu/Lark platform to automate document processing, conversation management, and calendar scheduling via its OpenAPI.

Connect AI agents to Feishu/Lark APIs for automating tasks like document processing, conversation management, and calendar scheduling.

Connect AI agents to Feishu/Lark APIs for document processing, conversation management, and calendar scheduling.

Convert, compress, merge and OCR PDFs and 100+ file formats from any AI agent — 126 tools via the GuruPDF API.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.