MCP cover image

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.

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

  • 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!

  • 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)

  • Carl Oscar Aaro
  • Structured recipes for food and desserts – ingredient lists and step-by-step recipe instructions from any input. Become surprised, try something new or breathe life into grandma's old recipe notebook.

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

  • n8n-io
  • 具有本机AI功能的公平代码工作流程自动化平台。将视觉构建与自定义代码,自宿主或云相结合,400+集成。

  • av
  • 毫不费力地使用一个命令运行LLM后端,API,前端和服务。

  • langgenius
  • 1Panel-dev
  • 🔥1Panel提供了直观的Web接口和MCP服务器,用于在Linux服务器上管理网站,文件,容器,数据库和LLMS。

  • Azure
  • 该存储库用于开发Azure MCP服务器,将Azure的功能带给您的代理商。

  • alibaba
  • metorial
  • 数百个MCP服务器的容器化版本📡📡

  • caio-moliveira
  • 创建该项目是为了证明我们如何与不同的模型上下文协议(MCP)连接。

  • rulego
  • ⛓️Rulego是一种轻巧,高性能,嵌入式,下一代组件编排规则引擎框架。

  • Byaidu
  • PDF科学纸翻译带有保留格式的pdf -基于ai完整保留排版的pdf文档全文双语翻译

  • superiorlu
  • 🤖在AI上收集实用的AI存储库,工具,网站,论文和教程。 实用的ai百宝箱百宝箱

    Reviews

    5 (0)