r

ranver

@ranver/mcp
0 Stars 303 次浏览 ranver 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Canvas MCP 服务器

一个模型上下文协议(MCP)服务器,使像 Claude 这样的 AI 助手能够与 Canvas LMS 交互。该服务器通过 Canvas API 提供了管理课程、公告、评分标准、作业和学生数据的工具。

特性

  • 列出活跃课程及其详细信息
  • 向课程发布公告
  • 查看课程评分标准
  • 获取学生注册信息
  • 访问作业详情和提交内容
  • 查看学生的提交历史记录和评论

先决条件

  • Node.js (v16 或更高版本)
  • 一个 Canvas API 令牌
  • Canvas 实例 URL (默认为 "https://fhict.instructure.com")

安装

  1. 克隆此仓库并安装依赖项:
    bash
    git clone
    cd canvas-mcp
    npm install

  2. 构建 TypeScript 项目:
    bash
    npm run build

  3. 配置环境变量:
    bash

    创建 .env 文件

    echo "CANVAS_API_TOKEN=your_token_here" > .env

    可选:设置自定义 Canvas URL

    echo "CANVAS_DOMAIN=https://your-canvas-instance.com" >> .env

Claude 桌面集成

  1. 打开 Claude 桌面配置文件:

    MacOS:
    bash
    code ~/Library/Application Support/Claude/claude_desktop_config.json

    Windows:
    bash
    code %AppData%Claudeclaude_desktop_config.json

  2. 添加 Canvas MCP 服务器配置:
    json
    {
    "mcpServers": {
    "canvas": {
    "command": "node",
    "args": [
    "/path/to/canvas-mcp/build/index.js"
    ],
    "env": {
    "CANVAS_API_TOKEN": "your_token_here",
    "CANVAS_DOMAIN": "https://your-canvas-instance.com"
    }
    }
    }
    }

  3. 重启 Claude 桌面以应用更改

可用工具

list-courses

列出已认证用户的所有活跃课程

  • 不需要参数
  • 返回课程名称、ID 和学期信息

post-announcement

向特定课程发布公告

  • 必需参数:
    • courseId: string
    • title: string
    • message: string

list-rubrics

列出特定课程的所有评分标准

  • 必需参数:
    • courseId: string
  • 返回评分标准标题、ID 和描述

list-students

获取课程中所有注册学生列表

  • 必需参数:
    • courseId: string
  • 可选参数:
    • includeEmail: boolean (默认: false)
  • 返回学生姓名、ID 和可选电子邮件地址

list-assignments

获取课程中的所有作业及其提交状态

  • 必需参数:
    • courseId: string
  • 可选参数:
    • studentId: string
    • includeSubmissionHistory: boolean (默认: false)
  • 返回作业详情和提交状态

list-assignment-submissions

获取特定作业的所有学生提交

  • 必需参数:
    • courseId: string
    • assignmentId: string
  • 可选参数:
    • includeComments: boolean (默认: true)
  • 返回提交详情、成绩和评论

可用提示

analyze-rubric-statistics

分析课程中形成性作业的评分标准统计数据并创建可视化图表

  • 必需参数:
    • courseName: string (要分析的课程名称)
  • 创建两个全面的可视化图表:
    1. 分组堆叠条形图显示每个标准在所有作业中的得分分布
    2. 分组条形图显示所有作业中每个标准的平均得分
  • 提供跨作业和标准的比较分析
  • 包括进展分析和趋势识别

故障排除

常见问题

  1. 服务器未出现在 Claude 桌面上:

    • 验证配置文件语法
    • 确保文件路径是绝对路径
    • 确保 Canvas API 令牌有效
    • 重启 Claude 桌面
  2. 连接错误:

    • 检查 Canvas API 令牌权限
    • 确认 Canvas 实例可访问
    • 查看 Claude 的 MCP 日志:
      bash

      MacOS

      tail -f ~/Library/Logs/Claude/mcp*.log

      Windows

      type %AppData%ClaudeLogsmcp*.log### 调试日志
      服务器将错误记录到 stderr。这些错误可以在 Claude Desktop 的日志中查看,或者在手动运行时重定向:
      bash
      node build/index.js 2> debug.log

安全注意事项

  1. API 令牌安全:

    • 切勿将 Canvas API 令牌提交到版本控制系统
    • 使用环境变量或安全配置
    • 定期轮换您的 API 令牌
  2. 权限:

    • 使用具有最小必要权限的令牌
    • 定期审查 Canvas API 访问日志

许可证

MIT 许可证

版权所有 (c) 2024

特此授予任何人免费获得本软件及其相关文档文件(“软件”)副本的权利,可以不受限制地使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向其提供软件的人也这样做,但须遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。

本软件按“原样”提供,不附带任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人都不对因使用或无法使用本软件而引起的任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为或其他情况下。

相关 MCP 服务