项目介绍
Canvas 学术助手 🎓
一款由人工智能驱动的学术管理工具,连接你的Canvas LMS与Claude Desktop。你可以通过对话式AI向Claude提出关于课程作业、成绩和截止日期等自然问题。
🌟 功能概述
该工具通过直接连接到你的Canvas账户,将Claude转变为个人学术助手。无需登录Canvas并点击多个页面,只需询问Claude:
- “这周我有哪些作业需要提交?”
- “展示我在所有课程中的当前成绩”
- “我错过了哪些公告?”
- “我的Canvas日历明天有什么安排?”
- “帮我优先处理即将到来的截止日期”
✨ 特性
📚 课程管理
📝 作业追踪
- 查看即将到期的作业和截止日期
- 获取详细作业信息
- 检查待办事项列表
📊 成绩监控
- 查看所有课程的成绩
- 检查作业提交状态
- 跟踪学术进度
📅 日历集成
- 访问你的Canvas日历事件
- 查看即将到期的截止日期
📢 保持更新
- 获取课程公告
- 查看最近的Canvas活动
- 不错过任何重要更新
🚀 快速入门指南
前提条件
你需要:
- 一个Canvas账户(此项目最初为卡内基梅隆大学设计,但适用于任何Canvas实例)
- 在电脑上安装了Claude Desktop
- Python 3.10或更高版本
第一步:获取Canvas API令牌
- 登录Canvas 到学校的Canvas网站
- 点击“账户” 在左侧边栏
- 进入“设置”
- 滚动到“已批准的集成”
- 点击“+ 新访问令牌”
- 输入目的 如“Claude 学术助手”
- 复制生成的令牌 (你不会再看到它!)
第二步:下载并设置
- 将此项目下载 到你的电脑
- 打开终端(Mac)或命令提示符(Windows)
- 导航到项目文件夹:
cd path/to/canvas-mcp-server
第三步:安装依赖项
-
创建虚拟环境:
python3 -m venv venv
-
激活它:
- Mac/Linux:
source venv/bin/activate
- Windows:
venv\Scripts\activate
-
安装所需包:
pip install mcp httpx python-dotenv pydantic
第四步:配置你的令牌
- 打开项目文件夹中的
.env文件
- 替换令牌 为你自己的:
CANVAS_API_TOKEN=your_token_here
CANVAS_BASE_URL=https://your-school.instructure.com
第五步:测试设置
运行以下命令确保一切正常工作:
python src/canvas_server.py
你应该会看到:
✅ Canvas API 连接成功
🚀 Canvas MCP 服务器启动
按Ctrl+C停止测试。
第六步:连接到Claude Desktop
-
找到你的Claude Desktop配置文件:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
-
添加此配置(用实际项目位置替换路径):
{
"mcpServers": {
"Canvas 学术助手": {
"command": "/path/to/your/canvas-mcp-server/venv/bin/python",
"args": [
"/path/to/your/canvas-mcp-server/src/canvas_server.py"
],
"env": {
"CANVAS_API_TOKEN": "your_token_here"
},
"enabled": true,
"autostart": true
}
}
}
- 完全重启Claude Desktop(退出并重新打开)
🎯 使用方法
一旦设置完成,你可以向Claude提出关于学术生活的自然问题:
📋 作业管理
- “这周我有哪些作业需要提交?”
- “展示我数学作业的详细信息”
- “下一个我需要担心的截止日期是什么?”
- “帮我优先处理即将到来的作业”
📊 成绩跟踪
- “我的当前成绩是多少?”
- “我在计算机科学课上的表现如何?”
- “展示我上次作业的成绩”
📅 日程规划
- “我的日历明天有什么安排?”
- “我的下一次考试是什么时候?”
- “这周我有哪些Canvas事件?”
📢 保持更新
- “我的课程中是否有新的公告?”
- “我错过了哪些Canvas活动?”
- “展示教授们的最新更新”
🤖 AI辅助帮助
- “基于我的截止日期帮我制定学习计划”
- “今天我应该专注于什么?”
- “提醒我即将到来的重要日期”
🔧 故障排除
❌ “无法连接到MCP服务器”
- 确保配置中的Python路径正确
- 检查虚拟环境是否设置正确
- 验证你的Canvas令牌仍然有效
❌ “Canvas API连接失败”
- 再次检查
.env文件中的Canvas令牌
- 确保你的Canvas URL正确
- 验证你已连接到互联网
❌ “没有返回数据”
- 确保你已注册在活跃课程中
- 检查你的Canvas账户是否有适当的权限
- 尝试重新生成你的Canvas API令牌
🆘 需要帮助?
- 确保配置中的所有文件路径都是绝对路径
- 确保你的Canvas令牌未过期
- 在进行任何配置更改后完全重启Claude Desktop
- 先使用上述步骤5手动测试服务器
🎓 为学生打造
此工具最初为卡内基梅隆大学的学生设计,但适用于任何Canvas安装。它旨在帮助学生:
- 节省时间 通过对话获取信息,而不是点击Canvas
- 保持组织 通过AI驱动的截止日期管理
- 永不错过 重要公告或截止日期
- 专注于学习 而不是行政任务
🔒 隐私与安全
- 你的Canvas令牌保存在你的电脑上 - 没有任何内容发送到外部服务器
- 所有通信都在Claude Desktop和你的Canvas实例之间本地进行
- 你的学术数据保持私密和安全
📚 你能访问的内容
该工具提供与你在Canvas中可以看到的相同信息:
- 你注册的课程
- 作业详情和截止日期
- 你的成绩和提交
- 课程公告
- 日历事件
- 最近的活动
注意: 你只能访问自己的数据 - 使用Canvas时相同的权限适用。
准备好改变你的学术工作流程了吗?在10分钟内设置好,并开始与Claude讨论你的课程作业吧! 🚀