MCP cover image
See in Github
2025-04-14

2

Github Watches

0

Github Forks

2

Github Stars

Canvas MCP Server

Overview

The Canvas MCP Server helps AI assistants like Claude access Canvas LMS content (assignments, syllabi, deadlines), allowing students to quickly ask questions like:

  • "What's due this week?"
  • "Send me tomorrow's notes."

This simplifies finding course info by automatically syncing Canvas data to your AI assistant.

Features

  • Canvas Integration: Automatically sync courses, assignments, modules, announcements.
  • Flexible Parsing: Extract syllabus details from PDFs, Word docs, HTML.
  • Term Filtering: Only sync current-term courses.
  • Opt-Out: Easily exclude courses you don't want indexed.

Quick Tech Overview

  • Language: Python 3.12+
  • Database: SQLite (local storage, zero config)
  • Canvas API: canvasapi
  • Document Parsing: pdfplumber (PDF), python-docx (Word), BeautifulSoup4 (HTML)
  • AI Integration: Model Context Protocol (MCP)
  • Package Management: UV (faster pip alternative)

Setup Instructions

Prerequisites


Mac Installation

Install UV if needed:

curl -LsSf https://astral.sh/uv/install.sh | sh

Set up Canvas MCP:

git clone https://github.com/AdityaPrakash-26/Canvas-MCP.git && cd Canvas-MCP
uv venv --seed
source .venv/bin/activate
uv sync
echo "CANVAS_API_KEY=your_canvas_api_key_here" > .env
echo "CANVAS_API_URL=https://canvas.yourschool.edu" >> .env
uv run init_db.py

Configure Claude Desktop (Mac)

Open claude_desktop_config.json (Claude > Settings > Advanced) and add:

"Canvas MCP": {
  "command": "/path/to/uv",
  "args": [
    "run",
    "--directory",
    "/absolute/path/to/Canvas-MCP",
    "canvas-mcp"
  ]
}

Replace /path/to/uv with your UV executable path (which uv) and /absolute/path/to/Canvas-MCP with your cloned repository location.


Windows Installation (WSL)

Please use WSL.

After installing WSL:

  1. Clone the repository into your WSL home:
git clone https://github.com/AdityaPrakash-26/Canvas-MCP.git ~/Canvas-MCP
cd ~/Canvas-MCP
  1. Install UV and dependencies:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv --seed
source .venv/bin/activate
uv sync
echo "CANVAS_API_KEY=your_canvas_api_key_here" > .env
echo "CANVAS_API_URL=https://canvas.yourschool.edu" >> .env
uv run python init_db.py

Configure Claude Desktop (Windows/WSL)

Edit Claude Desktop's claude_desktop_config.json with:

"Canvas MCP": {
  "command": "wsl.exe",
  "args": [
    "-d",
    "Ubuntu",
    "--exec",
    "/home/<USER>/.local/bin/uv", # REPLACE, run `which uv` to find ur `uv` install directory
    "run",
    "--directory",
    "/home/<USER>/Canvas-MCP", # REPLACE
    "canvas-mcp"
  ]
}

Replace <USER> with your WSL username. Also, verify your uv absolute path before copy pasting.


Development Commands

  • Run the server in inspector mode so you can look at it:
uv run mcp dev --with . src/canvas_mcp/__main__.py
  • Run tests:
uv run pytest
  • Format/lint code:
uv run ruff format .
uv run ruff check . --fix
  • Static type checking:
uv run mypy src

Troubleshooting Quick Tips

  • Canvas API issues? Verify .env keys/URLs.
  • Database issues? Reset:
rm -f data/canvas_mcp.db && uv run python init_db.py
  • Claude Desktop not recognizing MCP tools? Ensure paths in JSON config are absolute and correct.

Resources

相关推荐

  • Aurity Ltd
  • Create and Publish Business Websites in seconds. AI will gather all the details about your website and generate link to your website.

  • Convincible Ltd
  • You're in a stone cell – can you get out? A classic choose-your-adventure interactive fiction game, based on a meticulously-crafted playbook. With a medieval fantasy setting, infinite choices and outcomes, and dice!

  • John Rafferty
  • Text your favorite pet, after answering 10 questions about their everyday lives!

  • Ian O'Connell
  • Provide players' names or enter Quickstart to start the game!

  • analogchat.com
  • Efficient Spotify assistant for personalized music data.

  • Matthieu Savioux
  • Evaluates language quality of texts, responds with a numerical score between 50-150.

  • seabiscuit.ai
  • Discover A More Robust Business: Craft tailored value proposition statements, develop a comprehensive business model canvas, conduct detailed PESTLE analysis, and gain strategic insights on enhancing business model elements like scalability, cost structure, and market competition strategies. (v1.18)

  • n8n-io
  • Fair-Code-Workflow-Automatisierungsplattform mit nativen KI-Funktionen. Kombinieren Sie visuelles Gebäude mit benutzerdefiniertem Code, SelbstHost oder Cloud, 400+ Integrationen.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的 llm 资料总结(数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Zusammenfassung der weltbesten LLM -Ressourcen.

  • av
  • Führen Sie mühelos LLM -Backends, APIs, Frontends und Dienste mit einem Befehl aus.

  • metorial
  • Containerisierte Versionen von Hunderten von MCP -Servern 📡 🧠

  • langgenius
  • Azure
  • Dieses Repository dient zur Entwicklung des Azure MCP -Servers, wodurch Ihre Agenten die Leistung von Azure verleiht.

  • alibaba
  • 1Panel-dev
  • 🔥 1Panel bietet eine intuitive Weboberfläche und einen MCP -Server, um Websites, Dateien, Container, Datenbanken und LLMs auf einem Linux -Server zu verwalten.

  • superiorlu
  • 🤖 Sammeln Sie praktische KI -Repos, Tools, Websites, Papiere und Tutorials auf KI. 实用的 ai 百宝箱 💎

  • caio-moliveira
  • Dieses Projekt wurde erstellt, um zu demonstrieren, wie wir uns mit verschiedenen Modellkontextprotokollen (MCPs) verbinden können.

  • rulego
  • ⛓️Rugele ist ein leichter, leistungsstarker, leistungsstarker, eingebetteter Komponenten-Orchestrierungsregel-Motor-Rahmen für GO.

  • Byaidu
  • PDF wissenschaftliche Papierübersetzung mit erhaltenen Formaten - 基于 ai 完整保留排版的 pdf 文档全文双语翻译 , 支持 支持 支持 支持 google/deeptl/ollama/openai 等服务 提供 cli/gui/mcp/docker/zotero

    Reviews

    5 (0)