Token导航 LogoToken导航

MCP Server · 设计创作

Remote Canvas MCP

一个基于Cloudflare Workers部署的远程Canvas LMS MCP服务器,支持通过自然语言交互访问课程、作业、成绩等数据。

stdio官方级别未说明来源级核验工具 39wrangler
教育技术TypeScriptClaude远程服务器

快速开始

作者 / 组织
karilaa-dev
提供方
karilaa-dev
运行时
Node.js

工具数量

39

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Remote Canvas MCP 属于设计创作类 MCP Server,公开资料标注 39 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

设计创作

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

npx wrangler kv namespace create OAUTH_KV

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 39 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

Canvas LMS MCP服务器(远程)

遥控器 模型上下文协议 (MCP)服务器 Canvas LMS,部署在Cloudflare Workers上。将其连接到Claude(或任何MCP客户端),并通过自然语言与您的Canvas课程、作业、成绩等进行交互。

基于 mcp画布lms,移植为具有多用户支持的远程MCP服务器。工具是 自动同步 从上游-运行 npm run sync 再生。

特性

  • 远程MCP --在Cloudflare Workers上运行,无需本地安装
  • 多用户 --每个用户在OAuth流程中提供自己的Canvas凭据
  • 安全的凭证存储 -Canvas API代币在静止时使用AES-256-GCM加密
  • 无需外部身份验证 --用户直接输入Canvas凭据,无需第三方登录
  • 时区感知结果 --用户在设置过程中选择时区,时间戳结果包括本地 _local 伴生田
  • 只读Canvas访问 --仅显示读取Canvas数据的工具
  • 39画布工具 --课程、作业、提交、模块、页面、讨论、测验、文件、日历、对话、量规、帐户等
  • 从上游自动同步 -工具、类型和API方法是从生成的 mcp画布lms 无需手动移植

先决条件

  • A. 云耀 账户
  • Canvas LMS API令牌(每个用户提供自己的令牌)
  • Node.js和npm

设置

1.克隆并安装

git clone 
cd remote-canvas-mcp
npm install

2.创建KV命名空间

npx wrangler kv namespace create OAUTH_KV

更新 id 在 wrangler.jsonc 在...之下 kv_namespaces 使用返回的命名空间ID。

3.更新 wrangler.jsonc

设置您的 account_id 在配置文件中(在Cloudflare仪表板中找到它)。

4.设定秘密

npx wrangler secret put COOKIE_ENCRYPTION_KEY

COOKIE_ENCRYPTION_KEY 可以是任何随机字符串(例如。 openssl rand -hex 16).它用于cookie签名和凭证加密。

5.部署

npm run deploy

您的服务器将在 https://.workers.dev/mcp.

来自Claude的连接

  1. 打开克劳德桌面或Claude.ai
  2. 首选 设置>集成>添加MCP服务器
  3. 请输入您的服务器URL: https://.workers.dev/mcp
  4. 将打开一个审批页面——输入您的 画布域 (例如。 school.instructure.com)以及 Canvas API令牌
  5. 选择用于本地时间戳字段的时区
  6. 点击 批准
  7. 完成--画布工具现在可以在您的对话中使用

生成Canvas API令牌

  1. 登录您的Canvas实例
  2. 首选 帐户>设置
  3. 滚动到 已批准的集成 然后单击 +新访问令牌
  4. 给它一个描述,然后单击 生成令牌
  5. 复制令牌(它将不再显示)

更新凭据

断开并重新连接Claude中的MCP服务器。审批页面将再次出现,允许您更新Canvas凭据和时区。

从Codex连接

这个存储库也是一个Codex插件。插件元数据位于 .codex-plugin/plugin.json,以及 .mcp.json 将Codex指向部署的远程MCP端点:

https://remote-canvas-mcp.karilaa-account.workers.dev/mcp

将此存储库作为本地Codex插件安装或加载。首次使用时,Codex将启动与Claude相同的OAuth审批流程:

  1. 在浏览器中批准MCP连接。
  2. 输入您的Canvas域,例如 school.instructure.com.
  3. 输入Canvas API令牌。
  4. 选择用于本地时间戳字段的时区。
  5. 返回Codex并使用Canvas工具。

如果部署自己的Worker,请更新 url 在 .mcp.json 到您部署的 /mcp 安装插件之前的端点。

从自定义GPT连接

同一Worker还为ChatGPT自定义GPT编辑器公开了GPT操作REST外观。MCP端点在以下位置仍然可用 /mcp;自定义GPT操作应使用以下描述的REST API:

https://.workers.dev/actions/openapi.json

一次性OAuth客户端注册

使用现有的动态客户端注册端点为自定义GPT创建一个OAuth客户端。替换 g-YOUR-GPT-ID 在ChatGPT中保存GPT一次后:

curl -sS https://.workers.dev/register \
  -H 'Content-Type: application/json' \
  -d '{
    "client_name": "Canvas LMS Custom GPT",
    "redirect_uris": [
      "https://chat.openai.com/aip/g-YOUR-GPT-ID/oauth/callback",
      "https://chatgpt.com/aip/g-YOUR-GPT-ID/oauth/callback"
    ],
    "grant_types": ["authorization_code", "refresh_token"],
    "response_types": ["code"],
    "scope": "canvas.read",
    "token_endpoint_auth_method": "client_secret_post"
  }'

保存返回的 client_id 和 client_secret.

GPT操作配置

在自定义GPT编辑器中:

  1. 添加操作并从导入架构 /actions/openapi.json.
  2. 将身份验证设置为 OAuth.
  3. 使用已注册的 client_id 和 client_secret.
  4. 将授权URL设置为 https://.workers.dev/authorize.
  5. 将令牌URL设置为 https://.workers.dev/token.
  6. 将范围设置为 canvas.read.

当GPT首次使用操作时,ChatGPT将启动OAuth流。审批页面要求用户提供Canvas域、Canvas API令牌和时区,然后存储以KV加密的Canvas令牌。

Actions API是只读的,可在 /actions/api/*。它公开了健康、个人资料、课程、作业、即将到来的作业、仪表板卡片、课程成绩、模块、页面和文件的重点端点。

更新更改的ChatGPT回调URL

如果ChatGPT在您输入客户端ID和密码后更改了OAuth回调URL,请更新现有的OAuth客户端,而不是注册新的客户端。首先设置一个管理员令牌:

npx wrangler secret put ACTIONS_ADMIN_TOKEN

然后打开浏览器管理UI:

https://.workers.dev/admin

使用登录 ACTIONS_ADMIN_TOKEN 要创建自定义GPT OAuth客户端,请检查按名称分组的客户端,更新重定向URI,并删除一个或多个选定的客户端。UI仅将管理员令牌存储在浏览器本地存储中。

您还可以使用HTTP API更新客户端:

curl -sS https://.workers.dev/admin/oauth-clients//redirect-uris \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
    "redirect_uri": "https://chat.openai.com/aip/g-YOUR-GPT-ID/oauth/callback"
  }'

对于ChatGPT回调,管理端点同时存储 chat.openai.com 和 chatgpt.com 同一路径的回调主机变体。您可以通过以下方式检查当前的客户注册:

curl -sS https://.workers.dev/admin/oauth-clients/ \
  -H 'Authorization: Bearer '

可用工具

仅注册只读Canvas工具。创建、更新、提交、发布、注册、开始尝试、标记项目完成或生成报告的工具不会公开。

时区感知结果保留了原始的Canvas时间戳字段,并添加了本地化的伴随字段 _local 后缀。例如, due_at 保留原始Canvas ISO时间戳 due_at_local 使用设置期间选择的时区添加。

类别工具
健康canvas_health_check
课程canvas_list_courses, canvas_get_course
作业canvas_list_assignments, canvas_get_assignment, canvas_list_assignment_groups
提交canvas_get_submission
模块canvas_list_modules, canvas_get_module, canvas_list_module_items, canvas_get_module_item
页面canvas_list_pages, canvas_get_page
讨论canvas_list_discussion_topics, canvas_get_discussion_topic, canvas_list_announcements
测验canvas_list_quizzes, canvas_get_quiz
用户canvas_get_user_profile, canvas_get_course_grades, canvas_get_user_grades
文件canvas_list_files, canvas_get_file, canvas_list_folders
日历canvas_list_calendar_events, canvas_get_upcoming_assignments, canvas_get_dashboard, canvas_get_dashboard_cards, canvas_get_syllabus
对话canvas_list_conversations, canvas_get_conversation, canvas_list_notifications
账户canvas_get_account, canvas_list_account_courses, canvas_list_account_users, canvas_list_sub_accounts, canvas_get_account_reports
评分标准canvas_list_rubrics, canvas_get_rubric

从上游同步

工具、类型和API方法是从上游自动生成的 mcp画布lms 项目。要获取最新更改,请执行以下操作:

npm run sync    # regenerate src/generated/ from upstream
npm run deploy  # deploy the updated server

同步脚本(scripts/sync-upstream.ts)获取上游源代码,解析工具定义和客户端方法,并在下生成三个文件 src/generated/:

  • types.ts --画布实体接口
  • canvas-api.ts -基于fetch的API方法(从上游的Axios转换而来)
  • register-tools.ts --所有使用Zod模式的MCP工具注册

运作原理

User connects MCP server in Claude
  → GET /authorize → Approval page with Canvas credential fields
  → User enters Canvas token + domain, selects timezone, clicks Approve
  → POST /authorize → Token is encrypted and timezone preference is stored per-user in KV
  → MCP connects → Server loads credentials from KV → Read-only Canvas tools are registered

本地开发

printf 'COOKIE_ENCRYPTION_KEY=%s\n' "your-random-secret" > .dev.vars
npm run dev

COOKIE_ENCRYPTION_KEY 可以是任何足够随机的字符串。它也用于本地开发期间的cookie签名和Canvas凭据加密。

项目结构

src/
  index.ts             ← MCP server entry point
  canvas-client.ts     ← HTTP infrastructure (request, pagination, retry)
  types.ts             ← Re-exports generated types + CanvasAPIError
  generated/           ← AUTO-GENERATED by npm run sync
    types.ts           ← Canvas entity interfaces
    canvas-api.ts      ← Client API methods (fetch-based)
    register-tools.ts  ← Read-only tool registrations
scripts/
  sync-upstream.ts     ← Code generation script

技术栈

工具与能力

工具数量

39

资源数量

0

提示词数量

0

能力标签

教育技术TypeScript本地部署远程服务器自然语言处理Canvas集成多用户支持

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

出图与改图

按描述生成或修改图像,快速迭代风格。

读取设计稿

读取画布和图层信息,按规范生成页面。

素材整理

批量生成缩略图、统一命名和标签。

选择建议

值得选的地方

  • 工具数量 39 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在设计创作场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Remote Canvas MCP

MCP World · 本页

39stdio有1 个2026-05-17
Blender MCP

MCP.so

17stdio有3 个2026-05-17
Figma Context MCP 3aaa8d28

MCP World

0未说明未标注2 个2026-05-17
Nova Canvas MCP Server

MCP World

2stdio有1 个2026-05-17
Cursor Talk To Figma MCP Da1c7911

MCP World

40未说明未标注1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Remote Canvas MCP 怎么安装?

公开资料给出的安装命令是 npx wrangler kv namespace create OAUTH_KV,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Remote Canvas MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Remote Canvas MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Remote Canvas MCP 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Remote Canvas MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP