使用说明
ETH VVZ MCP服务器
苏黎世联邦理工学院课程目录的非官方MCP(模型上下文协议)服务器。
一个社区构建的工具,可以使用您的人工智能助手使用自然语言查询苏黎世联邦理工学院的2500多门课程。
备注:这是一个非官方项目,与苏黎世联邦理工学院无关或不受其认可。课程数据是从公开可用的数据中抓取的 ETH VVZ 网站。
安装
备注:预抓取数据库(16 MB)通过以下方式分发 Docker 中心,而不是这个存储库。拉动图像即可立即开始。
docker pull alfonsoridao/eth-mcp:latest
特性
- 预加载数据库:带有完整2026年春季航线数据的船只-无需等待!
- 自动更新:自动检测和抓取新学期
- 完整课程数据:摘要、时间表、讲师、学分、能力
- MCP兼容:适用于Claude Desktop、Claude Code和任何MCP客户端
- 永久存储:使用Docker卷进行数据持久化
快速开始
克劳德桌面版
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"eth-courses": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "eth-mcp-data:/data",
"alfonsoridao/eth-mcp:latest"
]
}
}
}
克劳德代码
claude mcp add eth-courses -- docker run --rm -i -v eth-mcp-data:/data alfonsoridao/eth-mcp:latest
手动测试
# Pull and run (first time uses embedded database)
docker run --rm -it -v eth-mcp-data:/data alfonsoridao/eth-mcp:latest
可用的MCP工具
连接后,您的AI可以访问:
| 工具 | 说明 |
|---|---|
read_query |
在课程数据库上执行SELECT查询 |
list_tables |
显示所有可用表格 |
describe_table |
显示表架构和列 |
查询示例
问你的AI:
- “显示2026年春季的所有计算机科学课程”
- “查找周二学分少于4的课程”
- “机器学习的先决条件是什么?”
- “列出X教授教授教授的所有课程”
- “查找与我当前日程不重叠的课程”
数据库模式
主要表格
| 表 | 说明 |
|---|---|
learningunit |
核心课程数据(标题、学分、部门、摘要、内容) |
course |
课程表和时间信息 |
lecturer |
讲师信息 |
section |
分级部门/项目结构 |
unitlecturerlink |
将课程链接到讲师 |
unitsectionlink |
将课程链接到各个部分 |
关键字段 learningunit
id,number-课程标识符(例如“252-0211-00L”)title,title_english-课程名称credits-ECTS学分department-部门代码objective,content,abstract-课程描述exam_type,exam_mode-考试详情language-教学语言
关键字段 course 日程
unit_id-链接到learningunit.idtype-“V”(讲座)、“U”(练习)、“P”(实验)timeslots-带有明细表的JSON数组
关键字段 lecturer
surname,name-讲师姓名
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
ETH_SEMESTER |
汽车 | 部队特定学期(例如“2026S”) |
FORCE_REFRESH |
0 | 设置为“1”以强制重新刮擦 |
SCRAPE_UPCOMING |
1 | 也刮下即将到来的学期 |
例子
强制刷新特定学期
docker run --rm -i -v eth-mcp-data:/data \
-e ETH_SEMESTER=2026S \
-e FORCE_REFRESH=1 \
alfonsoridao/eth-mcp:latest
直接查询数据库(调试)
docker run --rm -it -v eth-mcp-data:/data --entrypoint sqlite3 \
alfonsoridao/eth-mcp:latest /data/vvz.db \
"SELECT title, credits FROM learningunit LIMIT 10"
运作原理
- 首次运行:使用嵌入式数据库(无需抓取!)
- 后续运行:检查新学期数据是否可用
- 自动更新:仅在学期变化时才报废(通常为2月/8月)
- MCP服务器:在stdio上启动AI通信
数据源
课程数据是从官方网站上抓取的 苏黎世联邦理工学院VVZ 使用优秀 直观显示器 项目。
演出
- 首次运行:即时(使用嵌入式数据库)
- 学期更新:30-60分钟(为礼貌起见,收费有限)
- 查询响应:<100ms
故障排除
集装箱立即出口
MCP服务器在stdio上运行。为了进行测试,请使用 -it 标记或通过MCP客户端连接。
数据似乎已经过时
docker run --rm -i -v eth-mcp-data:/data -e FORCE_REFRESH=1 alfonsoridao/eth-mcp:latest
检查数据库内容
docker run --rm -v eth-mcp-data:/data alpine cat /data/.metadata.json
许可证
MIT许可证-请参阅 许可证 了解详情。
鸣谢
- 直观显示器 -ETH VVZ刮刀
- mcp服务器sqlite -MCP SQLite服务器
- 模型上下文协议 -MCP规范
作者
阿方索·里多- @阿方索
在人工智能的帮助下为ETH社区制作
