项目简介
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 服务器与客户端之间的通信通道,易于集成和部署。
安装步骤
-
克隆仓库
git clone https://github.com/MCP-Mirror/DMontgomery40_mcp-canvas-lms.git cd DMontgomery40_mcp-canvas-lms -
安装依赖
npm install -
配置环境变量
- 复制示例环境变量文件:'cp .env.example .env'
- 编辑 '.env' 文件,填入您的 Canvas API 令牌 ('CANVAS_API_TOKEN') 和 Canvas 域名 ('CANVAS_DOMAIN')。���需要先从您的 Canvas 账户获取 API 令牌。
-
构建项目
npm run build -
运行服务器
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 服务器。
基本使用方法
- 确保已完成安装步骤并成功运行 Canvas MCP Server。
- 在您的 MCP 客户端中配置并连接到 "canvas-mcp-server"。
- 连接成功后,LLM 即可使用预定义的工具(例如 'canvas_create_course', 'canvas_update_assignment')与 Canvas LMS 进行交互。工具的具体功能和参数请参考仓库的 README 文档或 'index.ts' 文件中工具的定义。
- LLM 还可以访问服务器提供的资源,例如 "All Courses"(所有课程列表)、"Course Details"(课程详情)、"Assignments"(作业列表)、"Users"(用户列表)和 "Grades"(成绩信息)等,具体资源列表请参考 'ListResources' 请求的响应。
信息
分类
生产力应用