Claude Canvas MCP
一个用于控制Canvas LMS REST API的Claude桌面MCP服务器。
概述
Claude Canvas MCP 是一个模型上下文协议服务器,让 Claude 能够直接与 Canvas LMS 交互,提供课程管理、作业处理和学生评估等功能。
前提条件
- Node.js v16+
- Canvas API 令牌
- Canvas 实例 URL
- Claude Desktop 应用
安装步骤
-
克隆仓库并安装依赖
git clone https://github.com/johnnyrobot/claude-canvas-mcp.git cd claude-canvas-mcp npm install
-
构建项目
npm run build
-
配置环境变量
cp .env.example .env # 编辑 .env 文件,填入你的 Canvas 信息
与 Claude Desktop 集成
-
打开 Claude Desktop 配置文件
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%AppData%\Claude\claude_desktop_config.json
- MacOS:
-
添加 Canvas MCP 服务器配置
{ "mcpServers": { "canvas": { "command": "node", "args": [ "/path/to/claude-canvas-mcp/build/index.js" ], "env": { "CANVAS_API_TOKEN": "your_token_here", "CANVAS_DOMAIN": "http://canvas.docker/" } } } }
-
重启 Claude Desktop
核心功能
课程管理
list-courses
- 列出所有活跃课程get-course
- 获取课程详情 (需要courseId
)list-modules
- 列出课程模块 (需要courseId
)
作业与评分
list-assignments
- 获取课程作业 (需要courseId
)get-assignment
- 获取作业详情 (需要courseId
,assignmentId
)list-submissions
- 查看作业提交 (需要courseId
,assignmentId
)post-submission-comment
- 发表评论 (需要courseId
,assignmentId
,studentId
,comment
)
学生管理
list-students
- 获取课程学生列表 (需要courseId
)get-submission
- 获取学生提交 (需要courseId
,assignmentId
,studentId
)
内容与文件
post-announcement
- 发布公告 (需要courseId
,title
,message
)list-files
- 列出课程文件 (需要courseId
)upload-file
- 上传文件 (需要courseId
,fileName
,fileContent
)
示例使用
在 Claude Desktop 中,你可以使用以下格式调用工具:
请帮我列出我的所有课程
Claude 将使用 list-courses
工具并显示结果。
许可证
MIT 许可证