Canvas MCP 服务器
用于与 Canvas API 交互的模型上下文协议 (MCP) 服务器。此服务器允许您在 Canvas 中管理课程、作业、注册和成绩。
先决条件
Node.js :版本 18 或更高版本
Canvas API 令牌:从您的 Canvas 帐户获取
Canvas 域名:通常为
canvas.instructure.com
Related MCP server: School MCP
设置
克隆存储库
git clone https://github.com/yourusername/canvas-mcp-server.git cd canvas-mcp-server安装依赖项
npm install配置环境变量
复制示例环境文件:
编辑 .env 并用实际的 Canvas API 令牌和域替换占位符值。
构建项目
运行服务器
npm start服务器将启动并通过 stdio 监听 MCP 请求。
连接到 Claude Desktop
更新 Claude 配置
将 MCP 服务器配置添加到您的 claude_desktop_config.json:
重启Claude桌面
完全退出 Claude Desktop。重新启动 Claude Desktop。导航到 🔌 菜单,找到并连接你的 Canvas MCP 服务器。
可用工具(更多以学生为中心的内容即将推出)
canvas_create_course:在 Canvas 中创建新课程。canvas_update_course:更新 Canvas 中的现有课程。canvas_create_assignment:在 Canvas 课程中创建新作业。canvas_update_assignment:更新现有作业。canvas_submit_grade:提交学生作业的成绩。canvas_enroll_user:为用户注册课程。
错误处理
工具会返回 isError: true 的错误消息来指示存在问题。请确保已设置所有必需的环境变量,以避免运行时错误。
故障排除
构建错误:
检查 TypeScript 版本:npx tsc --version 清理并重建:rm -rf build/ && npm run build
运行时错误:
检查日志以获取详细的错误消息。确保环境变量设置正确。
类型错误:
使用 TypeScript 的类型检查来验证类型:npx tsc --noEmit
贡献
欢迎贡献代码!如有任何改进或错误修复,请提交 issue 或 pull request。
执照
该项目已获得 MIT 许可。
附加说明
类型安全:
types.ts文件确保与 Canvas API 的所有交互都是类型安全的,从而减少运行时错误并提高代码可维护性。错误处理:服务器通过返回带有
isError标志的有意义的消息来优雅地处理错误,从而允许客户端(例如,Claude Desktop)理解并做出适当的反应。环境变量:API 令牌等敏感信息通过环境变量进行管理,增强了不同环境的安全性和灵活性。
模块化:将关注点分离到不同的文件(
types.ts,client.ts,index.ts)使得代码库更易于导航和维护。
请根据项目的具体需求随意调整文件路径和配置。如果您需要进一步的帮助,请告诉我!