type
status
date
slug
summary
tags
category
icon
password
项目简介
Canvas MCP Server 是一个 MCP 服务器,用于通过 MCP 协议与 Canvas API 交互。它的主要功能包括管理课程、作业、学生注册和成绩等。该项目特别适合需要自动化管理 Canvas 学习管理系统(LMS)的场景。
项目要求
要运行此项目,需要以下条件:
- Node.js:版本 18 或更高。
- Canvas API Token:需要从 Canvas 账户中获取。
- Canvas Domain:通常为
canvas.instructure.com
。
安装与设置
1. 克隆项目仓库
2. 安装依赖
运行以下命令安装项目所需的依赖:
3. 配置环境变量
复制示例环境文件
.env.example
并重命名为 .env
,然后根据实际情况填写:- Canvas API Token:用于访问 Canvas API。
- Canvas Domain:Canvas 的域名。
4. 构建项目
运行以下命令构建项目:
5. 启动服务器
运行以下命令启动服务器:
服务器将开始监听 MCP 请求并通过标准输入输出(stdio)进行交互。
与 Claude Desktop 的集成
1. 更新 Claude 配置
在
claude_desktop_config.json
文件中添加 MCP 服务器的配置:2. 重启 Claude Desktop
完全退出 Claude Desktop,然后重新启动。通过菜单(🔌)找到并连接到 Canvas MCP 服务器。
可用工具
目前支持以下工具(未来可能增加更多面向学生的功能):
canvas_create_course
:在 Canvas 中创建新课程。
canvas_update_course
:更新现有课程。
canvas_create_assignment
:在课程中创建新作业。
canvas_update_assignment
:更新现有作业。
canvas_submit_grade
:提交学生作业的成绩。
canvas_enroll_user
:将用户注册到课程中。
错误处理
- 所有工具在发生错误时都会返回
isError: true
的标志,并附带详细的错误信息。
- 确保环境变量设置正确,以避免运行时错误。
故障排除
1. 构建错误
- 检查 TypeScript 版本:
- 清理并重新构建:
2. 运行时错误
检查日志以获取详细的错误信息,确保环境变量配置正确。
3. 类型错误
使用 TypeScript 的类型检查工具验证类型:
许可证
项目使用 MIT 许可证,允许自由使用、修改和分发。
附加说明
- 类型安全:
- 使用
types.ts
文件确保与 Canvas API 的交互是类型安全的,从而减少运行时错误并提高代码的可维护性。
- 错误处理:
- 服务器通过返回带有
isError
标志的消息优雅地处理错误,使客户端(例如 Claude Desktop)能够理解并做出适当反应。
- 环境变量:
- 使用环境变量管理敏感信息(如 API Token),增强了安全性和跨环境的灵活性。
- 模块化设计:
- 项目将不同的功能分离到多个文件中(如
types.ts
、client.ts
、index.ts
),使代码库更易于维护和导航。
- Author:二师兄
- URL:https://cloudesx.com/article/mcp-canvas-lms
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!