Canvas MCP Server 使用说明

项目简介

Canvas MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在帮助 AI 助手 (如 Claude) 无缝访问 Canvas 学习管理系统 (LMS) 中的内容。通过此服务器,学生可以使用 AI 助手轻松查询课程信息,例如作业、教学大纲、截止日期等,从而提高学习效率。

主要功能点

  • Canvas 集成: 自动同步 Canvas LMS 中的课程、作业、模块和公告等数据。
  • 灵活的内容解析: 支持从 PDF、Word 文档和 HTML 文件中提取教学大纲的详细信息。
  • 学期过滤: 仅同步当前学期的课程数据,避免信息过载。
  • 课程选择退出: 用户可以轻松排除不想被索引的课程,保护隐私。

安装步骤

前置条件

  • 已安装 Python 3.12+
  • 已安装 UV 包管理器 (更快的 pip 替代品)
  • 拥有 Canvas API 密钥和 URL
  • 已安装支持 MCP 的 Claude Desktop 客户端 (下载地址)

Mac 系统安装步骤

  1. 安装 UV 包管理器 (如果尚未安装):
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 设置 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  # 替换为你的 Canvas API 密钥
    echo "CANVAS_API_URL=https://canvas.yourschool.edu" >> .env # 替换为你的 Canvas API URL
    uv run init_db.py

Windows (WSL) 系统安装步骤

请先安装 WSL (Windows Subsystem for Linux)。

  1. 在 WSL 中克隆仓库:
    git clone https://github.com/AdityaPrakash-26/Canvas-MCP.git ~/Canvas-MCP
    cd ~/Canvas-MCP
  2. 安装 UV 和依赖:
    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  # 替换为你的 Canvas API 密钥
    echo "CANVAS_API_URL=https://canvas.yourschool.edu" >> .env # 替换为你的 Canvas API URL
    uv run python init_db.py

服务器配置 (Claude Desktop 客户端)

需要编辑 Claude Desktop 的配置文件 'claude_desktop_config.json' (在 Claude > Settings > Advanced 中打开)。添加以下 JSON 配置项以连接 Canvas MCP Server:

{
  "Canvas MCP": {
    "name": "Canvas MCP",  // 服务名称,Claude Desktop 中显示的名称
    "command": "/path/to/uv",  // UV 包管理器的可执行文件路径 (使用 'which uv' 命令查找)
    "args": [
      "run",
      "--directory",
      "/absolute/path/to/Canvas-MCP", // Canvas-MCP 仓库的绝对路径
      "canvas-mcp" // 运行 canvas-mcp 的命令
    ]
  }
}

Windows (WSL) 系统配置示例:

{
  "Canvas MCP": {
    "name": "Canvas MCP",
    "command": "wsl.exe", // Windows Subsystem for Linux 可执行文件
    "args": [
      "-d",
      "Ubuntu", // 你的 WSL 发行版名称 (例如 Ubuntu)
      "--exec",
      "/home/<USER>/.local/bin/uv", // UV 包管理器的绝对路径 (在 WSL 中使用 'which uv' 命令查找, 替换 <USER> 为你的 WSL 用户名)
      "run",
      "--directory",
      "/home/<USER>/Canvas-MCP", // Canvas-MCP 仓库在 WSL 中的绝对路径 (替换 <USER> 为你的 WSL 用户名)
      "canvas-mcp"
    ]
  }
}

注意: 请将 '/path/to/uv' 和 '/absolute/path/to/Canvas-MCP' 替换为你的实际路径。在 Windows WSL 中,请将 '/home/<USER>/.local/bin/uv' 和 '/home/<USER>/Canvas-MCP' 替换为你的 WSL 用户名和实际路径。

基本使用方法

  1. 确保 Canvas MCP Server 正在运行 (通过 Claude Desktop 启动)。
  2. 在 Claude Desktop 中,选择已配置的 "Canvas MCP" 工具。
  3. 使用自然语言向 Claude 提问关于 Canvas 课程的问题,例如:
    • "What's due this week in CS 540?" (CS 540 这周有什么作业要交?)
    • "Send me notes from yesterday's lecture in SP25_CS_540_1." (发我 SP25_CS_540_1 昨天课程的笔记。)
    • "Find the syllabus for Math 101." (查找数学 101 的教学大纲。)

Claude 将利用 Canvas MCP Server 从 Canvas LMS 获取信息并回答你的问题。

信息

分类

生产力应用