返回市场
画布服务端

画布服务端

作者:akshsgaur6 星标更新:2025-08-03

项目介绍

Canvas 学术助手 🎓

一款由人工智能驱动的学术管理工具,连接你的Canvas LMS与Claude Desktop。你可以通过对话式AI向Claude提出关于课程作业、成绩和截止日期等自然问题。

🌟 功能概述

该工具通过直接连接到你的Canvas账户,将Claude转变为个人学术助手。无需登录Canvas并点击多个页面,只需询问Claude:

  • “这周我有哪些作业需要提交?”
  • “展示我在所有课程中的当前成绩”
  • “我错过了哪些公告?”
  • “我的Canvas日历明天有什么安排?”
  • “帮我优先处理即将到来的截止日期”

✨ 特性

📚 课程管理

  • 查看所有活跃课程
  • 获取课程详情和注册信息

📝 作业追踪

  • 查看即将到期的作业和截止日期
  • 获取详细作业信息
  • 检查待办事项列表

📊 成绩监控

  • 查看所有课程的成绩
  • 检查作业提交状态
  • 跟踪学术进度

📅 日历集成

  • 访问你的Canvas日历事件
  • 查看即将到期的截止日期

📢 保持更新

  • 获取课程公告
  • 查看最近的Canvas活动
  • 不错过任何重要更新

🚀 快速入门指南

前提条件

你需要:

  • 一个Canvas账户(此项目最初为卡内基梅隆大学设计,但适用于任何Canvas实例)
  • 在电脑上安装了Claude Desktop
  • Python 3.10或更高版本

第一步:获取Canvas API令牌

  1. 登录Canvas 到学校的Canvas网站
  2. 点击“账户” 在左侧边栏
  3. 进入“设置”
  4. 滚动到“已批准的集成”
  5. 点击“+ 新访问令牌”
  6. 输入目的 如“Claude 学术助手”
  7. 复制生成的令牌 (你不会再看到它!)

第二步:下载并设置

  1. 将此项目下载 到你的电脑
  2. 打开终端(Mac)或命令提示符(Windows)
  3. 导航到项目文件夹:
    cd path/to/canvas-mcp-server
    

第三步:安装依赖项

  1. 创建虚拟环境:

    python3 -m venv venv
    
  2. 激活它:

    • Mac/Linux: source venv/bin/activate
    • Windows: venv\Scripts\activate
  3. 安装所需包:

    pip install mcp httpx python-dotenv pydantic
    

第四步:配置你的令牌

  1. 打开项目文件夹中的.env文件
  2. 替换令牌 为你自己的:
    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

  1. 找到你的Claude Desktop配置文件:

    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. 添加此配置(用实际项目位置替换路径):

{
  "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
    }
  }
}
  1. 完全重启Claude Desktop(退出并重新打开)

🎯 使用方法

一旦设置完成,你可以向Claude提出关于学术生活的自然问题:

📋 作业管理

  • “这周我有哪些作业需要提交?”
  • “展示我数学作业的详细信息”
  • “下一个我需要担心的截止日期是什么?”
  • “帮我优先处理即将到来的作业”

📊 成绩跟踪

  • “我的当前成绩是多少?”
  • “我在计算机科学课上的表现如何?”
  • “展示我上次作业的成绩”

📅 日程规划

  • “我的日历明天有什么安排?”
  • “我的下一次考试是什么时候?”
  • “这周我有哪些Canvas事件?”

📢 保持更新

  • “我的课程中是否有新的公告?”
  • “我错过了哪些Canvas活动?”
  • “展示教授们的最新更新”

🤖 AI辅助帮助

  • “基于我的截止日期帮我制定学习计划”
  • “今天我应该专注于什么?”
  • “提醒我即将到来的重要日期”

🔧 故障排除

❌ “无法连接到MCP服务器”

  • 确保配置中的Python路径正确
  • 检查虚拟环境是否设置正确
  • 验证你的Canvas令牌仍然有效

❌ “Canvas API连接失败”

  • 再次检查.env文件中的Canvas令牌
  • 确保你的Canvas URL正确
  • 验证你已连接到互联网

❌ “没有返回数据”

  • 确保你已注册在活跃课程中
  • 检查你的Canvas账户是否有适当的权限
  • 尝试重新生成你的Canvas API令牌

🆘 需要帮助?

  1. 确保配置中的所有文件路径都是绝对路径
  2. 确保你的Canvas令牌未过期
  3. 在进行任何配置更改后完全重启Claude Desktop
  4. 先使用上述步骤5手动测试服务器

🎓 为学生打造

此工具最初为卡内基梅隆大学的学生设计,但适用于任何Canvas安装。它旨在帮助学生:

  • 节省时间 通过对话获取信息,而不是点击Canvas
  • 保持组织 通过AI驱动的截止日期管理
  • 永不错过 重要公告或截止日期
  • 专注于学习 而不是行政任务

🔒 隐私与安全

  • 你的Canvas令牌保存在你的电脑上 - 没有任何内容发送到外部服务器
  • 所有通信都在Claude Desktop和你的Canvas实例之间本地进行
  • 你的学术数据保持私密和安全

📚 你能访问的内容

该工具提供与你在Canvas中可以看到的相同信息:

  • 你注册的课程
  • 作业详情和截止日期
  • 你的成绩和提交
  • 课程公告
  • 日历事件
  • 最近的活动

注意: 你只能访问自己的数据 - 使用Canvas时相同的权限适用。


准备好改变你的学术工作流程了吗?在10分钟内设置好,并开始与Claude讨论你的课程作业吧! 🚀