Canvas课程管理平台添加福利群:解决AI开发者的「MCP实战痛点」一个用于与 Canvas API 交互的模型上下文协议 (MCP) 服务器。此服务器允许您在 Canvas 中管理课程、作业、注册和成绩。
canvas.instructure.com克隆仓库
git clone https://github.com/yourusername/canvas-mcp-server.git
cd canvas-mcp-server

安装依赖
npm install
配置环境变量
复制示例环境文件:
cp .env.example .env
编辑 .env 文件,并将占位符值替换为您实际的 Canvas API token 和域名。
构建项目
npm run build
运行服务器
npm start
服务器将启动并通过 stdio 监听 MCP 请求。
更新 Claude 配置
将 MCP 服务器配置添加到您的 claude_desktop_config.json 中:
#2
重启 Claude 桌面版
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
欢迎贡献!请针对任何改进或错误修复打开问题或提交拉取请求。
该项目根据 MIT 许可证发布。
类型安全:types.ts 文件确保了与 Canvas API 的所有交互都是类型安全的,减少了运行时错误并提高了代码的可维护性。
错误处理:服务器通过带有 isError 标志返回有意义的消息来优雅地处理错误,使客户端(例如 Claude Desktop)能够理解并做出适当的反应。
环境变量:通过环境变量管理敏感信息(如 API 令牌),增强了不同环境下的安全性和灵活性。
模块化:将关注点分离到不同的文件中(types.ts、client.ts、index.ts),使代码库更易于导航和维护。
请根据您项目的具体需求自由调整文件路径和配置。如果您需要进一步的帮助,请告诉我!