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
  • Plataforma de automatización de flujo de trabajo de código justo con capacidades de IA nativas. Combine el edificio visual con código personalizado, auto-anfitrión o nube, más de 400 integraciones.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的 llM 资料总结(数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Resumen de los mejores recursos del mundo.

  • metorial
  • Versiones contenedores de cientos de servidores MCP 📡 🧠

  • av
  • Ejecute sin esfuerzo LLM Backends, API, frontends y servicios con un solo comando.

  • langgenius
  • Azure
  • Este repositorio es para el desarrollo del servidor Azure MCP, llevando el poder de Azure a sus agentes.

  • alibaba
  • 1Panel-dev
  • 🔥 1Panel proporciona una interfaz web intuitiva y un servidor MCP para administrar sitios web, archivos, contenedores, bases de datos y LLM en un servidor de Linux.

  • superiorlu
  • 🤖 COLECCIÓN Repos, herramientas, sitios web, documentos y tutoriales prácticos de IA. 实用的 ai 百宝箱 💎

  • caio-moliveira
  • Este proyecto fue creado para demostrar cómo podemos conectarnos con diferentes protocolos de contexto del modelo (MCP).

  • rulego
  • ⛓️Rulego es un marco de motor de regla de orquestación de componentes de alta generación de alto rendimiento, de alto rendimiento y de alto rendimiento para GO.

  • Onelevenvy
  • Flock es una plataforma de bajo código de flujo de trabajo para construir rápidamente chatbots, trapo y coordinar equipos de múltiples agentes, impulsados ​​por Langgraph, Langchain, Fastapi y Nextjs.

    Reviews

    5 (0)