项目简介

Canvas MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在连接大型语言模型 (LLM) 与 Canvas 学习管理系统 (LMS)。通过此服务器,LLM 可以通过标准化的 MCP 接口访问和操作 Canvas LMS 中的数据。

主要功能点

  • 资源管理:将 Canvas LMS 中的课程、作业、用户、成绩等数据以 MCP 资源的形式暴露给 LLM 客户端,方便 LLM 获取 Canvas 上下文信息。
  • 工具执行:提供一系列预定义的工具,允许 LLM 客户端调用以执行 Canvas LMS 的操作,例如创建和更新课程、作业,提交成绩,以及管理用户注册等。
  • Canvas API 集成:通过 Canvas API 安全地与 Canvas LMS 进行交互,所有操作均基于用户的 Canvas 账户权限。
  • Stdio 传输协议:使用标准输入/输出流 (stdio) 作为 MCP 服务器与客户端之间的通信通道,易于集成和部署。

安装步骤

  1. 克隆仓库

    git clone https://github.com/MCP-Mirror/DMontgomery40_mcp-canvas-lms.git
    cd DMontgomery40_mcp-canvas-lms
  2. 安装依赖

    npm install
  3. 配置环境变量

    • 复制示例环境变量文件:'cp .env.example .env'
    • 编辑 '.env' 文件,填入您的 Canvas API 令牌 ('CANVAS_API_TOKEN') 和 Canvas 域名 ('CANVAS_DOMAIN')。���需要先从您的 Canvas 账户获取 API 令牌。
  4. 构建项目

    npm run build
  5. 运行服务器

    npm start

    服务器将启动并通过 stdio 监听 MCP 请求。

服务器配置

对于 MCP 客户端(例如 Claude Desktop),您需要配置以下 JSON 以连接到 Canvas MCP Server。将以下配置添加到您的 MCP 客户端配置文件中(例如 Claude Desktop 的 'claude_desktop_config.json'):

{
  "canvas-mcp-server": {
      "command": "npx",
      "args": ["-y", "canvas-mcp-server"]
    }
}
  • '"canvas-mcp-server"': 服务器名称,您可以自定义。
  • '"command": "npx"': 指定执行命令为 'npx',用于运行 Node.js 包。
  • '"args": ["-y", "canvas-mcp-server"]': 传递给 'npx' 的参数。
    • '"-y"': (可选) 自动确认安装 'npx' 可能需要的包。
    • '"canvas-mcp-server"': 要执行的包名称,对应 'package.json' 中的 'name' 字段,用于启动 Canvas MCP 服务器。

基本使用方法

  1. 确保已完成安装步骤并成功运行 Canvas MCP Server。
  2. 在您的 MCP 客户端中配置并连接到 "canvas-mcp-server"。
  3. 连接成功后,LLM 即可使用预定义的工具(例如 'canvas_create_course', 'canvas_update_assignment')与 Canvas LMS 进行交互。工具的具体功能和参数请参考仓库的 README 文档或 'index.ts' 文件中工具的定义。
  4. LLM 还可以访问服务器提供的资源,例如 "All Courses"(所有课程列表)、"Course Details"(课程详情)、"Assignments"(作业列表)、"Users"(用户列表)和 "Grades"(成绩信息)等,具体资源列表请参考 'ListResources' 请求的响应。

信息

分类

生产力应用