
Canvas MCP Server

2024.12.17
4
TypeScript教育管理学习管理系统交流协作
Canvas MCP Server 是一个模型上下文协议(MCP)服务器,使AI助手(如Claude)能够通过Canvas API与Canvas学习管理系统(LMS)进行交互。该服务器提供了管理课程、公告、评分标准、作业和学生数据的工具。
View on GitHub
Overview
基本能力
产品定位
Canvas MCP Server 是一个专为Canvas LMS设计的MCP服务器,旨在通过AI助手增强Canvas LMS的功能和交互体验。
核心功能
- 列出活动课程及其详细信息
- 向课程发布公告
- 查看课程评分标准
- 获取学生注册信息
- 访问作业详情和提交内容
- 查看学生提交历史和评论
适用场景
- 教育机构使用Canvas LMS进行课程管理
- 教师需要自动化管理课程内容和学生数据
- 学生需要更智能的课程交互体验
工具列表
- list-courses: 列出认证用户的所有活动课程,返回课程名称、ID和学期信息。
- post-announcement: 向特定课程发布公告,需要课程ID、标题和消息。
- list-rubrics: 列出特定课程的所有评分标准,返回评分标准标题、ID和描述。
- list-students: 获取课程中所有注册学生的完整列表,可选包含电子邮件地址。
- list-assignments: 获取课程中所有作业及其提交状态,可选包含学生ID和提交历史。
- list-assignment-submissions: 获取特定作业的所有学生提交内容,可选包含评论。
常见问题解答
- 服务器未出现在Claude Desktop中: 检查配置文件语法、文件路径是否为绝对路径、Canvas API令牌是否有效,并重启Claude Desktop。
- 连接错误: 检查Canvas API令牌权限、Canvas实例是否可访问,并查看Claude的MCP日志。
使用教程
使用依赖
- Node.js (v16或更高版本)
- Canvas API令牌
- Canvas实例URL(默认为"https://fhict.instructure.com")
安装教程
- 克隆仓库并安装依赖:
bash git clone <repository-url> cd canvas-mcp npm install
- 构建TypeScript项目:
bash npm run build
- 配置环境变量:
bash # 创建.env文件 echo "CANVAS_API_TOKEN=your_token_here" > .env # 可选: 设置自定义Canvas URL echo "CANVAS_DOMAIN=https://your-canvas-instance.com" >> .env
调试方式
- 查看Claude的MCP日志:
bash # MacOS tail -f ~/Library/Logs/Claude/mcp*.log # Windows type %AppData%\Claude\Logs\mcp*.log
- 手动运行并重定向错误输出:
bash node build/index.js 2> debug.log