使用说明
Canvas MCP服务器
一个模型上下文协议服务器,为AI助手提供对Canvas LMS的全面访问。
特性
通过31个MCP工具访问Canvas LMS功能:
- 课程:列出并查看课程信息
- 作业:浏览、查看详细信息、检查提交内容和提交工作
- 成绩:查看单个课程或所有课程的成绩
- 消息传递:发送和接收消息,管理对话(已读/未读、星号、存档、删除)
- 日历:查看活动和即将到来的截止日期
- 待办事项:跟踪待处理的任务和分配
- 模块:浏览课程内容结构
- 公告:阅读课程和机构公告
- 文件:访问和下载课程材料
- 测验:查看测验和提交
- 用户:寻找同学和导师
安装
先决条件
- 包子 运行时
- 带有API访问令牌的Canvas LMS帐户
设置
- 安装依赖项:
bun install
-
获取Canvas API代币:
- 登录Canvas
- 导航到帐户→ 设置
- 滚动到“已批准的集成”
- 点击“+新访问令牌”
- 生成并复制令牌
-
配置环境变量:
export CANVAS_BASE_URL="https://your-institution.instructure.com"
export CANVAS_ACCESS_TOKEN="your_access_token_here"
- 使用以下设置配置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的详细文档,请访问 指令开发人员门户.
许可证
该项目使用许可的开源依赖关系,没有遥测或跟踪。
