Canvas LMS MCP Server

Canvas LMS MCP Server

Connects Claude AI to your Canvas LMS account, enabling natural language interaction with coursework including assignments, grades, announcements, and calendar.

Category
Visit Server

README

๐ŸŽ“ Canvas LMS MCP Server

A robust Model Context Protocol (MCP) server that connects Claude AI to your Canvas LMS account โ€” letting you interact with your coursework using natural language.

Built with Python ยท Canvas REST API ยท MCP SDK


โœจ Features (14 Tools across 4 Modules)

๐Ÿ“š Assignments & Courses

Tool Description
canvas_get_course_list List all active enrolled courses
canvas_get_assignments Get all assignments (all courses or filtered)
canvas_get_upcoming_deadlines Deadlines in the next N days, color-coded by urgency
canvas_get_assignment_details Full details of a specific assignment
canvas_get_submission_status Submitted vs. missing across all courses

๐Ÿ“Š Grades

Tool Description
canvas_get_course_grades Current grades with visual progress bars
canvas_get_grade_breakdown Assignment-level breakdown with running total
canvas_get_missing_assignments All unsubmitted assignments

๐Ÿ“ข Announcements & Modules

Tool Description
canvas_get_announcements Recent announcements across courses
canvas_get_course_modules Modules with locked/completed status
canvas_get_module_items Items in a module with completion checkboxes

๐Ÿ“… Calendar

Tool Description
canvas_get_calendar_events All events for the next N days
canvas_get_weekly_schedule Week-at-a-glance view
canvas_get_upcoming_events Next N events across all courses

๐Ÿš€ Setup

1. Clone the repo

git clone https://github.com/adityas0604/MCP-Canvas.git
cd canvas-mcp

2. Install dependencies

pip install -r requirements.txt

How to get your Canvas API Token:

  1. Log into Canvas
  2. Go to Account โ†’ Settings
  3. Scroll to Approved Integrations
  4. Click New Access Token
  5. Copy and save this token.

3. Configure Claude Desktop

Add this to your claude_desktop_config.json:

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "canvas": {
      "command": "python",
      "args": ["/absolute/path/to/canvas-mcp/server.py"],
      "env": {
        "CANVAS_BASE_URL": "canvas_base_url"
        "CANVAS_API_TOKEN": "your_token_here"
      }
    }
  }
}

4. Restart Claude Desktop

The Canvas tools will now appear in your Claude sidebar!


๐Ÿ’ฌ Example Prompts

Once connected, try asking Claude:

  • "What assignments do I have due this week?"
  • "What's my current GPA estimate?"
  • "Am I missing any assignments?"
  • "What announcements have my professors posted recently?"
  • "Show me my grade breakdown for course 12345"
  • "What does my week look like?"

๐Ÿ”’ Privacy & Security

  • Read-only โ€” this server never writes, submits, or modifies your Canvas data

๐Ÿ› ๏ธ Tech Stack

  • Python 3.10+
  • MCP SDK โ€” Model Context Protocol
  • httpx โ€” Async-ready HTTP client
  • python-dotenv โ€” Environment config
  • Canvas LMS REST API

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured