Canvas LMS MCP Server
🎓 Canvas LMS MCP 服务器
一个强大的 模型上下文协议 (MCP) 服务器,可将 Claude AI 连接到您的 Canvas LMS 账户,让您能够使用自然语言与课程内容进行交互。
基于 Python · Canvas REST API · MCP SDK 构建
✨ 功能(涵盖 4 个模块的 14 个工具)
📚 作业与课程
工具 | 描述 |
| 列出所有已注册的活跃课程 |
| 获取所有作业(所有课程或筛选后的课程) |
| 未来 N 天内的截止日期,按紧急程度进行颜色编码 |
| 特定作业的详细信息 |
| 所有课程的提交与缺失状态对比 |
📊 成绩
工具 | 描述 |
| 带有可视化进度条的当前成绩 |
| 包含累计总分的作业级成绩明细 |
| 所有未提交的作业 |
📢 公告与模块
工具 | 描述 |
| 各课程的近期公告 |
| 带有锁定/完成状态的模块 |
| 带有完成复选框的模块项目 |
📅 日历
工具 | 描述 |
| 未来 N 天的所有事件 |
| 每周概览视图 |
| 所有课程中接下来的 N 个事件 |
🚀 设置
1. 克隆仓库
git clone https://github.com/yourusername/canvas-mcp.git
cd canvas-mcp2. 安装依赖
pip install -r requirements.txt3. 配置您的 Canvas 凭据
cp .env.example .env编辑 .env 文件:
CANVAS_BASE_URL=https://yourschool.instructure.com
CANVAS_API_TOKEN=your_token_here如何获取您的 Canvas API 令牌:
登录 Canvas
进入 账户 (Account) → 设置 (Settings)
滚动至 已批准的集成 (Approved Integrations)
点击 新建访问令牌 (New Access Token)
将令牌复制到您的
.env文件中
4. 配置 Claude Desktop
将以下内容添加到您的 claude_desktop_config.json 中:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"canvas": {
"command": "python",
"args": ["/absolute/path/to/canvas-mcp/server.py"],
"env": {
"CANVAS_BASE_URL": "canvas_base_url"
"CANVAS_API_TOKEN": "your_token_here"
}
}
}
}5. 重启 Claude Desktop
Canvas 工具现在将出现在您的 Claude 侧边栏中!
💬 示例提示词
连接后,尝试询问 Claude:
“我这周有哪些作业要交?”
“我目前的 GPA 预估是多少?”
“我有没有漏交的作业?”
“教授最近发布了哪些公告?”
“显示课程 12345 的成绩明细”
“我这周的日程安排是怎样的?”
🗂️ 项目结构
canvas-mcp/
├── server.py # MCP server entry point (14 tools)
├── canvas_client.py # Canvas REST API wrapper with pagination
├── tools/
│ ├── assignments.py # Assignment & course tools
│ ├── grades.py # Grade tools
│ ├── announcements.py# Announcement & module tools
│ └── calendar.py # Calendar tools
├── .env.example # Environment config template
├── requirements.txt
└── README.md🔒 隐私与安全
只读 — 此服务器绝不会写入、提交或修改您的 Canvas 数据
🛠️ 技术栈
Python 3.10+
MCP SDK — 模型上下文协议
httpx — 支持异步的 HTTP 客户端
python-dotenv — 环境变量配置
Canvas LMS REST API
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adityas0604/MCP-Canvas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server