Canvas作业助手MCP服务

一个通过MCP协议与Canvas/Instructure课程和作业交互的服务,支持课程列表查询、作业搜索和详情获取功能。

  • by mbcrosiersamuel
  • TypeScript
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 mbcrosier/canvas-mcp

使用说明

画布分配助手MCP服务器

概述

此模型上下文协议(MCP)服务器允许您在不离开LLM的情况下与Canvas/Instructure课程和作业进行交互(例如Claude Desktop)。

它允许您以编程方式检索、搜索和总结课程和作业信息,例如检查即将到来的作业的截止日期:

特性

工具

  1. 列出课程

    • 检索课程列表
    • 按课程状态筛选(活动、已完成或全部)
  2. 搜索作业

    • 跨课程搜索作业
    • 筛选条件:
      • 搜索查询
      • 到期日期范围
      • 具体课程
      • 包括/排除已完成的课程
  3. 获取任务详细信息

    • 获取特定任务的详细信息
    • 多种输出格式(全HTML、纯文本、markdown)

资源

  • 作业内容:使用标准化的URI格式检索完整的分配详细信息

先决条件

  • MCP兼容客户端(Claude Desktop、Cursor等)
  • Canvas LMS帐户
  • Canvas API代币
  • 画布域

配置

安装MCP捆绑包时,系统将提示您配置:

  • Canvas API代币:Canvas API访问令牌(请参阅下面的说明)
  • 画布域:您Canvas机构的域名(例如。, canvas.youruniversity.edu)

这些值由MCP客户端安全存储,不会在配置文件中公开。

安全说明

对Canvas API代币保密。该捆绑包将令牌标记为敏感,因此它将由您的MCP客户端安全存储。

安装

此MCP服务器作为MCP捆绑包分发(.mcpb 文件),便于安装。

选项1:从捆绑包文件安装(推荐)

  1. 下载捆绑包

    下载 canvas-mcp.mcpb 文件来自 发布页面 或者自己构建(见选项2)。

  2. 在MCP客户端中安装

    对于 克劳德桌面版:

    • 打开克劳德桌面设置
    • 导航到MCP服务器部分
    • 点击“添加服务器”或“从捆绑包安装”
    • 选择 canvas-mcp.mcpb 文件
    • 提示时,输入Canvas API令牌和域

    对于 光标:

    • 打开光标设置
    • 导航到MCP配置
    • 安装捆绑包文件
    • 提示时配置Canvas API令牌和域
  3. 配置您的凭据

    首次安装捆绑包时,系统会提示您输入:

    • Canvas API代币:Canvas API访问令牌(请参阅下面的说明)
    • 画布域:您Canvas机构的域名(例如。, canvas.youruniversity.edu)

选项2:从源代码构建

如果你想自己构建包:

  1. 克隆存储库并安装依赖项

    git clone https://github.com/mbcrosiersamuel/canvas-mcp.git
    cd canvas-mcp
    npm install
    
  2. 构建捆绑包

    npm run package
    

    这将创建一个 canvas-mcp.mcpb 然后可以使用选项1安装该文件。

如何获取Canvas API代币

  1. 登录Canvas
  2. 转到帐户>设置
  3. 滚动到“已批准的集成”部分
  4. 点击“新建访问令牌”
  5. 复制生成的令牌

有关更多详细信息,请参阅 Canvas中的这些说明.

MCP工具

  • list_courses:默认显示所有活动课程。使用标志显示已完成或所有课程
  • search_assignments:搜索作业标题和描述
  • get_assignment:检索完整的分配详细信息

故障排除

常见问题

  • 令牌无效:

    • 重新生成Canvas API令牌
    • 确保令牌具有适当的权限
  • 域名不正确:

    • 仔细检查您的Canvas机构域名
    • 确认没有拼写错误

免责声明

这是一个非官方的Canvas MCP,与Canvas或Instructure无关。我也不是专业的软件工程师,这个项目是用Claude编写的,所以请自行承担风险:)

谢谢!