canvas-mcp-server

srivatbalaji/canvas-mcp-server

3.2

If you are the rightful owner of canvas-mcp-server 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@mcphub.com.

The MCP server is designed to integrate with BruinLearn (UCLA's Canvas) and Claude Desktop, providing seamless access to academic data.

Tools
6
Resources
0
Prompts
0

MCP server I built to be used with BruinLearn (UCLA's Canvas) and Claude Desktop.

Setup

  1. Get your Canvas access token:

  2. Install and configure:

git clone https://github.com/srivatbalaji/canvas-mcp-server.git
cd canvas-mcp-server
npm install
echo "CANVAS_ACCESS_TOKEN=your_token_here" > .env
npm run build
  1. Configure Claude Desktop:
    • Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
    • Add this configuration:
{
  "mcpServers": {
    "canvas": {
      "command": "node",
      "args": ["/absolute/path/to/canvas-mcp-server/build/index.js"],
      "env": {
        "CANVAS_ACCESS_TOKEN": "your_canvas_token_here"
      }
    }
  }
}
  1. Restart Claude Desktop

Usage

Ask Claude about your academic data:

  • "What assignments do I have due this week?"
  • "Show me my current grades"
  • "Which course needs attention?"
  • "Find assignments with 'midterm' in the name"

Available Tools

  • get_courses - List all enrolled courses
  • get_assignments - Get assignments by course
  • get_upcoming_assignments - Show upcoming deadlines
  • get_grades - Retrieve grade information
  • get_course_progress - Detailed course progress
  • search_assignments - Search assignments by keyword

Development

npm run dev    # Development mode
npm run build  # Build for production
npm start      # Start the server