Integrations
Allows interaction with the Canvas Learning Management System API, providing tools for managing courses, assignments, enrollments, and student grades within Canvas.
Canvas MCP 服务器
用于与 Canvas API 交互的模型上下文协议 (MCP) 服务器。此服务器允许您在 Canvas 中管理课程、作业、注册和成绩。
先决条件
- Node.js :版本 18 或更高版本
- Canvas API 令牌:从您的 Canvas 帐户获取
- Canvas 域名:通常为
canvas.instructure.com
设置
- 克隆存储库Copy
- 安装依赖项Copy
- 配置环境变量
复制示例环境文件:
编辑 .env 并用实际的 Canvas API 令牌和域替换占位符值。
构建项目
- 运行服务器服务器将启动并通过 stdio 监听 MCP 请求。Copy
连接到 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
)使得代码库更易于导航和维护。
请根据项目的具体需求随意调整文件路径和配置。如果您需要进一步的帮助,请告诉我!
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
模型上下文协议服务器可与 Canvas 学习管理系统 API 进行交互,允许用户在 Canvas 中管理课程、作业、注册和成绩。
Related Resources
Related MCP Servers
- -securityAlicense-qualityA local server that enables interaction with Canvas Learning Management System API through Claude Desktop, allowing users to manage courses, access assignments, view announcements, and retrieve course materials.Last updated -1PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables creating, modifying, and validating infinite canvas data structures according to the JSON Canvas 1.0 specification.Last updated -1PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.Last updated -462Python
- -securityFlicense-qualityA Model Context Protocol server that helps students manage academic workflows by integrating with Canvas and Gradescope to fetch deadlines, download course materials, and sync with macOS Calendar or Reminders.Last updated -3Python