Token导航 LogoToken导航TokenDH.com
Canvas API MCP logo
设计创作stdio官方级别未说明来源级核验

Canvas API MCP

MCP Server

@modelcontextprotocol/inspector

Canvas API MCP Server是一个连接Claude与Canvas LMS的服务,允许用户通过自然语言查询获取Canvas账户中的作业、成绩等信息。

工具数

11

提示词数

0

GitHub Stars

0

资源数

0
教育技术TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Kdude43ver

提供方

Kdude43ver

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector node dist/index.js

详细介绍

Canvas API MCP服务器

将Claude连接到您的Canvas LMS。问一些自然的问题,比如 _“本周我有什么作业要交?”_ 或 _“我现在的生物学成绩是多少?”_ 并直接从您的Canvas帐户中获取真实答案。

适用于 克劳德桌面版克劳德代码 (CLI)。

______________________________________________________________________

快速安装

要求: Node.js 18+、Git和Canvas个人访问令牌(如何获得一个)
git clone https://github.com/Kdude43ver/Canvas-API-MCP.git
cd Canvas-API-MCP
bash install.sh

安装脚本将:

  • 安装依赖项并构建项目
  • 询问您的Canvas URL和API令牌
  • 将服务器添加到 克劳德代码克劳德桌面版 自动地

______________________________________________________________________

手动设置

1.获取Canvas API代币

  1. 登录您的Canvas实例(例如。 https://yourschool.instructure.com)
  2. 点击您的个人资料图片→ 账户设置
  3. 向下滚动至 已批准的集成
  4. 点击 +新访问令牌
  5. 命名(例如。 Claude MCP)然后单击 生成令牌
  6. 立即复制令牌 --画布永远不会再显示它

2.克隆和构建

git clone https://github.com/Kdude43ver/Canvas-API-MCP.git
cd Canvas-API-MCP
npm install
npm run build

3.创建您的 .env 文件

cp .env.example .env

编辑 .env:

CANVAS_TOKEN=your_token_here
CANVAS_BASE_URL=https://yourschool.instructure.com

4.添加到克劳德代码

claude mcp add canvas \
  -e CANVAS_TOKEN=your_token_here \
  -e CANVAS_BASE_URL=https://yourschool.instructure.com \
  -- node /absolute/path/to/Canvas-API-MCP/dist/index.js

替换 /absolute/path/to/Canvas-API-MCP 使用实际路径(run pwd 在回购中获取它)。

5.添加到克劳德桌面

编辑 ~/.config/claude/claude_desktop_config.json 在Linux/Mac上,或 %APPDATA%\Claude\claude_desktop_config.json 在Windows上。如果文件不存在,则创建该文件。

{
  "mcpServers": {
    "canvas": {
      "command": "node",
      "args": ["/absolute/path/to/Canvas-API-MCP/dist/index.js"],
      "env": {
        "CANVAS_TOKEN": "your_token_here",
        "CANVAS_BASE_URL": "https://yourschool.instructure.com"
      }
    }
  }
}

重新启动克劳德桌面 保存后。您应该在聊天界面中看到一个锤子图标,表示工具可用。

______________________________________________________________________

可用工具

工具它做什么
list_courses列出您所有的活动课程
get_course课程的全部细节(包括教学大纲)
list_assignments带有截止日期和分值的课程的所有作业
get_assignment完整的任务细节,包括描述
list_upcoming_assignments未来N天内到期的作业 全部 你的课程
get_grades您当前和最终的课程成绩
list_submissions课程中每个作业的提交状态
list_announcements课程的最新公告
list_discussions课程讨论主题
list_calendar_events日期范围内的即将发生的事件和截止日期
list_files课程中提供的文件,带有下载链接

______________________________________________________________________

示例提示

安装后,尝试询问Claude:

  • _“接下来三天我有什么作业要交?”_
  • _“列出我这学期的所有课程。”_
  • _“我现在每个班的成绩是多少?”_
  • _“我的计算机科学课上有什么通知吗?”_
  • _“显示课程12345的讨论主题。”_
  • _“我的生物学课程中有哪些文件?”_
  • _“这周我的日程表上有什么?”_

______________________________________________________________________

验证其工作原理(MCP检查员)

在添加到Claude之前,您可以直接测试服务器:

npx @modelcontextprotocol/inspector node dist/index.js

CANVAS_TOKENCANVAS_BASE_URL 在检查器的“环境变量”部分,然后调用 list_courses 确认你得到了真实的数据。

______________________________________________________________________

故障排除

“未找到课程”或结果为空

  • 仔细检查你的 CANVAS_BASE_URL --它应该是你学校的Canvas URL,而不是 canvas.instructure.com
  • 确保您的令牌被正确复制(没有多余的空格)
  • 尝试生成一个新的令牌

Claude Desktop不显示Canvas工具

  • 确认路径 claude_desktop_config.json绝对的 通往 dist/index.js
  • 确保你跑了 npm run build 而那个 dist/index.js 存在
  • 完全重新启动Claude Desktop(从系统托盘退出,而不仅仅是关闭窗口)

Claude Code找不到服务器

  • claude mcp list 查看已注册的服务器
  • claude mcp remove canvas 如果看起来有问题,请重新添加

Canvas出现403个错误

  • 您的令牌可能已过期--在画布设置中生成一个新的令牌
  • 某些Canvas实例限制API访问;联系学校的IT部门

______________________________________________________________________

安全

  • 您的Canvas令牌仅存储在您的本地 .env 文件(git忽略)和/或本地Claude配置文件
  • 该令牌允许您读取Canvas帐户可以看到的所有内容——将其视为密码
  • 要撤销访问权限:转到Canvas→ 账户→ 设置→ 已批准的集成→ 删除令牌
  • 永远不要分享你的 .env 将其归档或提交到版本控制

______________________________________________________________________

发展

# Install deps
npm install

# Build (uses esbuild, outputs to dist/)
npm run build

# Run directly (requires .env file)
node dist/index.js

# Dev mode with ts-node
npm run dev

来源组织如下:

src/
├── index.ts          # Entry point — loads env, starts server
├── server.ts         # McpServer setup, registers all tools
├── canvas-client.ts  # Axios wrapper: auth headers, pagination, rate-limit backoff
└── tools/
    ├── courses.ts        # list_courses, get_course
    ├── assignments.ts    # list_assignments, get_assignment, list_upcoming_assignments
    ├── grades.ts         # get_grades, list_submissions
    ├── announcements.ts  # list_announcements
    ├── discussions.ts    # list_discussions
    ├── calendar.ts       # list_calendar_events
    └── files.ts          # list_files

目录标签

目录标签

教育技术TypeScriptClaudeCanvasLMS本地部署自然语言处理自动化查询API集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP