Canvas LMS API服务

一个为Canvas LMS API实现的模型上下文协议(MCP)服务器,提供与Canvas LMS进行程序化交互的功能。

  • by enkhbold470
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 enkhbold470/mcp-server-canvas

使用说明

Canvas MCP服务器

Canvas LMS API的模型上下文协议(MCP)服务器实现。此服务器提供以编程方式与Canvas LMS交互的功能。

特性

  • 从Canvas LMS列出课程,并可选择注册类型过滤
  • 使用工具的交互式帮助提示

先决条件

  • Node.js 18或更高版本
  • Canvas LMS实例
  • Canvas API访问令牌
  • 游标(用于客户端集成)

设置

  1. 克隆此存储库
  2. 安装依赖项:
    npm install
    
  3. 设置环境变量:
    export CANVAS_BASE_URL="https://your-canvas-instance.com"
    export CANVAS_ACCESS_TOKEN="your-api-token"
    
  4. 构建项目:
    npm run build
    
  5. 启动服务器:
    npm start
    

与游标连接

要将此MCP服务器与Cursor一起使用,请执行以下操作:

  1. 打开Cursor的设置
  2. 导航到MCP配置部分
  3. 添加新的服务器配置:
    {
      "mcpServers": {
        "canvas": {
          "command": "npm",
          "args": [
            "start"
          ],
          "cwd": "/path/to/mcp-server-canvas"
        }
      }
    }
    
  4. 保存配置并重新启动Cursor
  5. 画布工具现在将在Cursor的MCP工具面板中可用

可用工具

list_courses

列出Canvas LMS的所有课程。

参数:

  • enrollment_type (可选):按注册类型(教师、学生、助教)筛选课程

示例响应:

{
  "content": [
    {
      "type": "text",
      "text": [
        {
          "id": 1234,
          "name": "Example Course",
          "code": "EX101",
          "state": "available",
          "startDate": "2024-01-01T00:00:00Z",
          "endDate": "2024-12-31T23:59:59Z"
        }
      ]
    }
  ]
}

列出课程帮助

一个交互式提示,提供使用list_courses工具的帮助。

发展

服务器是使用TypeScript和MCP SDK构建的。要添加新功能,请执行以下操作:

  1. 将新的API方法添加到 CanvasAPI 类
  2. 使用注册新工具 server.tool()
  3. 使用注册帮助提示 server.prompt()
  4. 构建并测试您的更改

故障排除

如果您遇到问题:

  1. 检查环境变量是否设置正确
  2. 验证Canvas API令牌是否具有必要的权限
  3. 检查Cursor的MCP服务器日志是否有任何错误消息
  4. 确保Cursor配置中的服务器路径正确

许可证

麻省理工学院