Canvas HTML内容检查工具

一个独立的MCP服务器,用于从本地缓存中检查Canvas HTML内容,支持JSON-RPC方法进行项目列表、内容分析和课程检查。

  • by Unity-Environmental-University
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Unity-Environmental-University/canvas-lint-mcp

使用说明

canvas-lint-mcp(最小可行性产品)

目的

  • 独立MCP服务器,用于从本地缓存中检查Canvas HTML主体的合法性。
  • 默认为只读。无需Canvas API访问权限。
  • 可选:稍后可以使用签名配置添加只读获取功能(尚未启用)。

用法

  • 启动服务器(标准输入输出):
    • 运行 Python 模块 `canvas_lint_mcp` 中的 `mcp_server` 脚本
  • 配置缓存路径:
    • 将 CANVAS_CACHE_PATH 设置为包含 assignments/ 目录的路径/.html 和 pages//*(注释开始).html(文件扩展名,表示网页文件)。
    • 如果未设置,则尝试使用 ../lisa_brain/.local_context/cache/canvas(同级目录),否则使用 ~/.unity/canvas/cache/canvas。

方法(JSON-RPC)

  • 列出缓存的项目 {course_id, scope='作业'|'页面'|'全部'} -> 项目列表[]
  • 分析主体 {课程ID, 项目ID, 类型='作业'|'页面'} -> 事实数据
  • lint_course {课程ID, 范围, 仅检查ID[]} -> 结果列表[]

捕捉到的事实

  • has_banner(是否有横幅)、h1_text(标题文本)、section标志(内容、说明、简介、初始帖子、回复), 标记完成数量,评分标准行动号召,截止日期短语,横幅图片替代文本是否正确,标记是否存在。

解耦且安全

  • 不依赖于lisa_brain代码;仅读取文件。
  • 没有画布API调用。
  • 如果你之后想要只读获取,请在这个仓库中添加一个签名的canvas.yaml文件,并使用一个HMAC边车容器;同时,遵循镜像允许列表策略(以DEV_/BP_为前缀)。

环境变量

  • CANVAS_CACHE_PATH:缓存根目录的路径(首选)
  • CONFIG_GUARD_KEY:用于未来配置签名的HMAC密钥路径(lint-only模式不使用)