Canvas MCP Server

Canvas MCP Server

site icon
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: 获取课程的所有模块

常见问题解答

  1. 服务器无法启动
  2. 检查 .env 文件是否存在且包含有效凭证
  3. 验证 start_canvas_server.sh 中的虚拟环境路径
  4. 确保所有依赖项已安装
  5. 认证错误
  6. 验证 Canvas API 令牌是否有效且未过期
  7. 检查在 Canvas 中是否有必要的权限
  8. 连接问题
  9. 确保 Canvas API URL 正确
  10. 检查互联网连接
  11. 确认机构未限制 API 访问
  12. 调试
  13. 检查 Claude Desktop 控制台中的服务器日志
  14. 尝试手动运行服务器查看错误输出

使用教程

使用依赖

  • Python 3.x
  • Virtual environment (venv)
  • Canvas API Token
  • Canvas API URL (例如: https://canvas.illinois.edu/api/v1)

安装教程

  1. 克隆仓库:
git clone https://github.com/vishalsachdev/canvas-mcp.git
cd canvas-mcp
  1. 创建并激活虚拟环境:
python -m venv canvas-mcp
source canvas-mcp/bin/activate  # Unix/macOS
  1. 安装依赖:
pip install -r requirements.txt

配置

  1. 创建 .env 文件:
CANVAS_API_TOKEN=your_canvas_api_token_here
CANVAS_API_URL=https://canvas.youruniversity.edu/api/v1
  1. 使启动脚本可执行:
chmod +x start_canvas_server.sh
  1. 配置 Claude Desktop:
{
  "mcpServers": [
    {
      "name": "canvas-api",
      "command": "/Users/YOUR_USERNAME/path/to/canvas-mcp/start_canvas_server.sh"
    }
  ]
}

调试方式

手动启动服务器:

./start_canvas_server.sh

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。