Lazy loaded image
Canvas MCP Server
Words 824Read Time 3 min
2025-4-3
2025-4-3
type
status
date
slug
summary
tags
category
icon
password

项目简介

Canvas MCP Server 是一个 MCP 服务器,用于通过 MCP 协议与 Canvas API 交互。它的主要功能包括管理课程、作业、学生注册和成绩等。该项目特别适合需要自动化管理 Canvas 学习管理系统(LMS)的场景。

项目要求

要运行此项目,需要以下条件:
  1. Node.js:版本 18 或更高。
  1. Canvas API Token:需要从 Canvas 账户中获取。
  1. Canvas Domain:通常为 canvas.instructure.com

安装与设置

1. 克隆项目仓库

2. 安装依赖

运行以下命令安装项目所需的依赖:

3. 配置环境变量

复制示例环境文件 .env.example 并重命名为 .env,然后根据实际情况填写:
  • Canvas API Token:用于访问 Canvas API。
  • Canvas Domain:Canvas 的域名。

4. 构建项目

运行以下命令构建项目:

5. 启动服务器

运行以下命令启动服务器:
服务器将开始监听 MCP 请求并通过标准输入输出(stdio)进行交互。

与 Claude Desktop 的集成

1. 更新 Claude 配置

claude_desktop_config.json 文件中添加 MCP 服务器的配置:

2. 重启 Claude Desktop

完全退出 Claude Desktop,然后重新启动。通过菜单(🔌)找到并连接到 Canvas MCP 服务器。

可用工具

目前支持以下工具(未来可能增加更多面向学生的功能):
  1. canvas_create_course:在 Canvas 中创建新课程。
  1. canvas_update_course:更新现有课程。
  1. canvas_create_assignment:在课程中创建新作业。
  1. canvas_update_assignment:更新现有作业。
  1. canvas_submit_grade:提交学生作业的成绩。
  1. canvas_enroll_user:将用户注册到课程中。

错误处理

  • 所有工具在发生错误时都会返回 isError: true 的标志,并附带详细的错误信息。
  • 确保环境变量设置正确,以避免运行时错误。

故障排除

1. 构建错误

  • 检查 TypeScript 版本:
    • 清理并重新构建:

      2. 运行时错误

      检查日志以获取详细的错误信息,确保环境变量配置正确。

      3. 类型错误

      使用 TypeScript 的类型检查工具验证类型:

      许可证

      项目使用 MIT 许可证,允许自由使用、修改和分发。

      附加说明

      1. 类型安全
          • 使用 types.ts 文件确保与 Canvas API 的交互是类型安全的,从而减少运行时错误并提高代码的可维护性。
      1. 错误处理
          • 服务器通过返回带有 isError 标志的消息优雅地处理错误,使客户端(例如 Claude Desktop)能够理解并做出适当反应。
      1. 环境变量
          • 使用环境变量管理敏感信息(如 API Token),增强了安全性和跨环境的灵活性。
      1. 模块化设计
          • 项目将不同的功能分离到多个文件中(如 types.tsclient.tsindex.ts),使代码库更易于维护和导航。
       
       
      上一篇
      MCP Governance SDK (@ithena-one/mcp-governance)
      下一篇
      腾讯地图 MCP Server