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模式不使用)
