Canvas LMS访问工具

一个提供全面访问Canvas LMS功能的模型上下文协议服务器,适用于AI助手。

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

使用说明

Canvas MCP服务器

一个模型上下文协议服务器,为AI助手提供对Canvas LMS的全面访问。

特性

通过31个MCP工具访问Canvas LMS功能:

  • 课程:列出并查看课程信息
  • 作业:浏览、查看详细信息、检查提交内容和提交工作
  • 成绩:查看单个课程或所有课程的成绩
  • 消息传递:发送和接收消息,管理对话(已读/未读、星号、存档、删除)
  • 日历:查看活动和即将到来的截止日期
  • 待办事项:跟踪待处理的任务和分配
  • 模块:浏览课程内容结构
  • 公告:阅读课程和机构公告
  • 文件:访问和下载课程材料
  • 测验:查看测验和提交
  • 用户:寻找同学和导师

安装

先决条件

  • 包子 运行时
  • 带有API访问令牌的Canvas LMS帐户

设置

  1. 安装依赖项:
bun install
  1. 获取Canvas API代币:

    • 登录Canvas
    • 导航到帐户→ 设置
    • 滚动到“已批准的集成”
    • 点击“+新访问令牌”
    • 生成并复制令牌
  2. 配置环境变量:

export CANVAS_BASE_URL="https://your-institution.instructure.com"
export CANVAS_ACCESS_TOKEN="your_access_token_here"
  1. 使用以下设置配置MCP客户端:
{
  "mcpServers": {
    "canvas": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/canvas/src/index.ts"],
      "env": {
        "CANVAS_BASE_URL": "https://your-institution.instructure.com",
        "CANVAS_ACCESS_TOKEN": "your_access_token_here"
      }
    }
  }
}

用法

设置后,通过MCP客户端与Canvas交互:

Show me all my current courses
What assignments do I have due soon?
What are my grades in all my classes?
Show me my recent Canvas messages

发展

质量门

bun run format      # Format code with Prettier
bun run lint        # Lint code with ESLint
bun run typecheck   # Type check with TypeScript
bun test            # Run tests

构建

bun run build       # Build for production
bun run dev         # Run in development mode

文档

建筑

该服务器采用TypeScript和MCP SDK构建,为Canvas LMS REST API提供类型安全的接口。所有操作都使用承载令牌身份验证,并遵守Canvas速率限制。

项目结构

canvas/
├── src/
│   ├── canvas/
│   │   ├── client.ts        # Canvas API client
│   │   └── client.test.ts   # Client tests
│   └── index.ts             # MCP server implementation
├── docs/                    # Documentation
├── package.json             # Dependencies and scripts
└── tsconfig.json           # TypeScript configuration

安全

  • 将凭据存储在环境变量中
  • 从不将访问令牌提交到版本控制
  • 使用令牌到期日期
  • 定期旋转令牌
  • 遵守贵机构的API使用政策

API 参考

此服务器实现 Canvas LMS REST API v1。有关API的详细文档,请访问 指令开发人员门户.

许可证

该项目使用许可的开源依赖关系,没有遥测或跟踪。