
Canvas MCP Server

2025.03.24
0
Python学习管理系统教育技术API 集成交流协作
Canvas MCP Server 是一个用于与 Canvas 学习管理系统 API 交互的消息控制协议(MCP)服务器实现。该服务器设计用于与 Claude Desktop 及其他 MCP 客户端配合使用,提供本地接口以访问和管理 Canvas LMS 的各项功能。
View on GitHub
Overview
基本能力
产品定位
Canvas MCP Server 是一个中间件服务,旨在为教育技术环境中的学习管理系统(LMS)提供本地化 API 访问和管理能力。
核心功能
- 课程管理:列出和管理课程
- 作业管理:访问作业和提交内容
- 公告查看:查看课程公告
- 教学资源访问:检索课程大纲和模块
- 用户管理:管理用户和注册信息
- 课程摘要生成:生成课程摘要
适用场景
- 教育工作者需要快速访问和管理课程内容
- 学生需要集中查看作业和课程资料
- 管理员需要批量管理用户和课程信息
- 开发者需要构建与 Canvas LMS 集成的应用程序
工具列表
- Course Management:
list_courses
: 列出认证用户的所有课程get_course_details
: 获取特定课程的详细信息summarize_course
: 生成课程的全面摘要- Assignments:
list_assignments
: 列出课程的所有作业get_assignment_details
: 获取特定作业的详细信息get_assignment_description
: 获取作业的完整描述- Submissions:
list_submissions
: 列出特定作业的所有提交- Users:
list_users
: 列出课程中注册的所有用户- Resources:
list_announcements
: 列出课程的所有公告get_course_syllabus
: 获取课程大纲get_course_modules
: 获取课程的所有模块
常见问题解答
- 服务器无法启动
- 检查
.env
文件是否存在且包含有效凭证 - 验证
start_canvas_server.sh
中的虚拟环境路径 - 确保所有依赖项已安装
- 认证错误
- 验证 Canvas API 令牌是否有效且未过期
- 检查在 Canvas 中是否有必要的权限
- 连接问题
- 确保 Canvas API URL 正确
- 检查互联网连接
- 确认机构未限制 API 访问
- 调试
- 检查 Claude Desktop 控制台中的服务器日志
- 尝试手动运行服务器查看错误输出
使用教程
使用依赖
- Python 3.x
- Virtual environment (venv)
- Canvas API Token
- Canvas API URL (例如: https://canvas.illinois.edu/api/v1)
安装教程
- 克隆仓库:
git clone https://github.com/vishalsachdev/canvas-mcp.git
cd canvas-mcp
- 创建并激活虚拟环境:
python -m venv canvas-mcp
source canvas-mcp/bin/activate # Unix/macOS
- 安装依赖:
pip install -r requirements.txt
配置
- 创建
.env
文件:
CANVAS_API_TOKEN=your_canvas_api_token_here
CANVAS_API_URL=https://canvas.youruniversity.edu/api/v1
- 使启动脚本可执行:
chmod +x start_canvas_server.sh
- 配置 Claude Desktop:
{
"mcpServers": [
{
"name": "canvas-api",
"command": "/Users/YOUR_USERNAME/path/to/canvas-mcp/start_canvas_server.sh"
}
]
}
调试方式
手动启动服务器:
./start_canvas_server.sh