使用说明
Canvas MCP服务器
模型上下文协议(MCP)服务器,使Claude等AI助手能够与Canvas LMS进行交互。该服务器通过Canvas API提供用于管理课程、公告、标题、作业和学生数据的工具。
特性
- 列出活动课程及其详细信息
- 向课程发布公告
- 查看课程评价标准
- 获取学生注册信息
- 访问分配详细信息和提交
- 查看学生提交历史记录和评论
先决条件
- Node.js(v16或更高版本)
- Canvas API令牌
- 画布实例URL(默认为“https://fhict.instructure.com")
安装
-
克隆此存储库并安装依赖项:
git clone <repository-url> cd canvas-mcp npm install -
构建TypeScript项目:
npm run build -
配置环境变量:
# Create a .env file echo "CANVAS_API_TOKEN=your_token_here" > .env # Optional: Set custom Canvas URL echo "CANVAS_DOMAIN=https://your-canvas-instance.com" >> .env
Claude桌面集成
-
打开Claude Desktop的配置文件:
MacOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json视窗:
code %AppData%\Claude\claude_desktop_config.json -
添加Canvas MCP服务器配置:
{ "mcpServers": { "canvas": { "command": "node", "args": [ "/path/to/canvas-mcp/build/index.js" ], "env": { "CANVAS_API_TOKEN": "your_token_here", "CANVAS_DOMAIN": "https://your-canvas-instance.com" } } } } -
重新启动Claude Desktop以应用更改
可用工具
列出课程
列出经过身份验证的用户的所有活动课程
- 无需参数
- 返回课程名称、ID和学期信息
发布公告
向特定课程发布公告
- 所需参数:
- 课程ID:字符串
- title:字符串
- 消息:字符串
列出量规
列出特定课程的所有评价标准
- 所需参数:
- 课程ID:字符串
- 返回量规标题、ID和描述
列出学生
获取已注册课程的学生的完整列表
- 所需参数:
- 课程ID:字符串
- 可选参数:
- includeEmail:布尔值(默认值:false)
- 返回学生姓名、ID和可选电子邮件地址
列出作业
获取具有提交状态的课程中的所有作业
- 所需参数:
- 课程ID:字符串
- 可选参数:
- studentId:字符串
- includeSubmitHistory:布尔值(默认值:false)
- 返回分配详细信息和提交状态
列表作业提交
获取特定作业的所有学生提交的作业
- 所需参数:
- 课程ID:字符串
- assignmentId:字符串
- 可选参数:
- includeComments:布尔值(默认值:true)
- 返回提交详细信息、成绩和评论
可用提示
分析量规统计
分析课程中形成性作业的量规统计数据,并创建可视化
- 所需参数:
- courseName:字符串(要分析的课程名称)
- 创建两个全面的可视化:
- 分组堆叠条形图,显示所有作业中每个标准的分数分布
- 显示所有作业每个标准平均分数的分组条形图
- 提供跨任务和标准的比较分析
- 包括进展分析和趋势识别
故障排除
常见问题
-
服务器未出现在Claude Desktop中:
- 验证配置文件语法
- 检查文件路径是否为绝对路径
- 确保Canvas API令牌有效
- 重新启动克劳德桌面
-
连接错误:
- 检查Canvas API令牌权限
- 验证Canvas实例是否可访问
- 查看克劳德的MCP日志:
# MacOS tail -f ~/Library/Logs/Claude/mcp*.log # Windows type %AppData%\Claude\Logs\mcp*.log
调试日志记录
服务器将错误记录到stderr。这些可以在Claude Desktop的日志中查看,也可以在手动运行时重定向:
node build/index.js 2> debug.log
安全说明
-
API代币安全:
- 永远不要将Canvas API令牌提交到版本控制
- 使用环境变量或安全配置
- 定期轮换您的API代币
-
权限:
- 使用具有最低所需权限的令牌
- 定期查看Canvas API访问日志
许可证
MIT许可证
版权所有(c)2024
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
