使用说明
LMS数据桥
一个通用的LMS数据提取和AI消费平台。通过Chrome扩展程序从任何学习管理系统中提取结构化数据,然后使用Claude通过MCP服务器进行查询。
运作原理
LMS (authenticated browser session)
→ Chrome Extension (per-LMS plugin extracts + normalizes data)
→ JSON file on disk (~/.lms-bridge/data.json)
→ MCP Server (exposes query tools to Claude)
核心思想: 提取和消费通过共享的JSON模式完全解耦。MCP服务器不知道或不关心数据来自哪个LMS。
组件
Chrome扩展程序(/extension)
安装在经过身份验证的LMS会话上的Manifest V3扩展。它不进行自己的API调用(符合CORS限制),而是拦截LMS UI已经发出的请求,并将响应规范化为一个公共模式。
支持的LMS平台:
- Blackboard Ultra(进行中)
- 画布、Brightspace、Moodle(计划中)
MCP服务器(/mcp-server)
读取标准化的JSON导出,并为Claude提供查询学术数据的工具:
| 工具 | 说明 |
|---|---|
lms_get_courses() |
列出已注册的课程 |
lms_get_upcoming(days?) |
接下来N天内到期的作业 |
lms_get_assignments(course?, status?, from?, to?) |
筛选作业 |
lms_get_grades(course?) |
按课程划分的成绩 |
lms_get_announcements(course?, limit?) |
最近的公告 |
lms_get_calendar(from?, to?) |
日历事件 |
lms_search(query) |
对所有数据进行全文搜索 |
入门指南
扩展
cd extension
npm install
npm run dev # build in watch mode
npm run build # production build
加载 dist/ 文件夹作为解压缩的扩展名 chrome://extensions.
MCP服务器
cd mcp-server
npm install
npm run build
npm run dev # run in dev mode
添加到您的Claude Code或Claude Desktop MCP配置中进行连接。
数据模式
所有LMS插件都将数据标准化为常见类型:
- 课程 --id、名称、代码、术语
- 任务 --id、courseId、姓名、dueDate、状态、分数
- 等级 --课程ID、作业ID、分数、可能、百分比、字母
- 公告 --id、courseId、标题、正文、日期
- 日历项目 --id、courseId、标题、开始、结束、类型
每条记录包括 lmsSource 和 lastSynced 为了可追溯性。
技术栈
- 扩展名: TypeScript、Manifest V3、Vite
- MCP服务器: TypeScript,
@modelcontextprotocol/sdk - 储存: JSON文件(v1没有数据库)
许可证
麻省理工学院
