HSE RUZ

io.github.ihavealotofguap由 GitHub 账号 ihavealotofguap 发布v0.2.3更新于 Oct 26, 2026

HSE University (NIU VShE) RUZ timetable: search people, groups, rooms; get schedules

已验证STDIO仅桌面位置与生活效率与工作流

概览

AI 生成的概览

面向俄罗斯高等经济学院(HSE)RUZ 课表的本地 MCP 服务器:可查找学生、教师、班级和教室,并读取其课程安排。

可以做什么
  • 按子串搜索学生、教师、班级和教室,并取得其 RUZ id
  • 按 id 读取任意对象的课表,或按学生校内邮箱读取本人课表
  • 可设置起始日期与 1–60 天的范围,并选择俄语或英语的课程与教室名称
  • 所有工具只读取数据,结果短暂缓存,日期按莫斯科时间计算
适用场景
适合 HSE 的学生和教职员工让助手查询自己的课程、某个班级一周的安排、某位教师的课表或某间教室的使用情况,而无需在浏览器中打开 RUZ。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 22 或更高版本。无需登录、密码、API 密钥或浏览器,但只有身处 HSE 内部网络(校园 Wi-Fi HSE.Student 或员工 VPN)时请求才会成功。
安装前请注意
在 HSE 网络之外查询会失败,因此仅能在校园内或通过员工 VPN 使用。它只读取公开的课表数据、不写入任何内容,但搜索和课表查询会发送到 RUZ API。

安装

在 SourceWeft 中

  1. 打开 控制台中的 HSE RUZ,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

hse-ruz-mcp

[CI] [npm] [License: MIT]

English. A local (stdio) MCP server for the HSE University timetable (RUZ, ruz.hse.ru/api). It finds students, lecturers, groups and rooms (ruz_find_person) and returns their schedules (ruz_get_schedule, or ruz_get_my_schedule by a student's @edu.hse.ru email). No login needed, but RUZ only answers from inside the HSE network (campus Wi-Fi HSE.Student or staff VPN). Install for Claude Code: claude mcp add hse-ruz-mcp -- npx -y hse-ruz-mcp (Node.js 22+).

Локальный MCP-сервер (stdio) для расписания НИУ ВШЭ через API RUZ (ruz.hse.ru/api): ищет студентов, преподавателей, группы и аудитории и показывает их расписание (студента — в том числе по email). Логин, пароль и браузер не нужны.

Ограничение: только из сети ВШЭ

RUZ отвечает только из внутренней сети ВШЭ (Wi-Fi HSE.Student на кампусе или VPN сотрудника). Вне её API перенаправляет на HTML-заглушку, и tools возвращают ошибку с объяснением.

Установка

Нужен Node.js 22+.

Claude Code

sh
claude mcp add hse-ruz-mcp -- npx -y hse-ruz-mcp

Claude Desktop, Cursor и другие клиенты

json
{  "mcpServers": {    "hse-ruz-mcp": {      "command": "npx",      "args": ["-y", "hse-ruz-mcp"]    }  }}

Из исходников

sh
git clone https://github.com/ihavealotofguap/hse-ruz-mcp.gitcd hse-ruz-mcpnpm installnpm run buildclaude mcp add hse-ruz-mcp -- node <путь-к-проекту>/dist/index.js

Tools

ToolЧто делает
ruz_find_personИщет студента, преподавателя, группу или аудиторию по подстроке (от 2 символов) и возвращает до limit совпадений (по умолчанию 20) с id и общим числом совпадений с id total (type: student по умолчанию, lecturer, group, auditorium)
ruz_get_scheduleВозвращает расписание студента, преподавателя, группы или аудитории по RUZ id из ruz_find_person (с тем же type)
ruz_get_my_scheduleВозвращает расписание студента по корпоративному email ([email protected])

Параметры периода у всех тулов расписания:

  • startDate — первый день, ГГГГ-ММ-ДД (можно в прошлом), по умолчанию сегодня;
  • daysAhead — сколько дней, 1–60, по умолчанию 7;
  • language — язык названий дисциплин и аудиторий: ru (по умолчанию) или en.

Расписание возвращается как { from, to, lessons }, где from и to — фактические даты периода. Все тулы только читают данные (аннотация readOnlyHint) и описывают формат ответа в outputSchema.

Даты считаются по московскому времени при любой часовой зоне машины. Запрос к RUZ прерывается через 15 секунд или когда клиент отменяет вызов. Успешные ответы RUZ кэшируются в памяти на 5 минут, а одинаковые запросы, отправленные одновременно, уходят в RUZ один раз.

Примеры запросов

  • «Какие у меня пары завтра? Мой email [email protected]»
  • «Найди группу БПИ231 и покажи её расписание на неделю»
  • «Какие пары у преподавателя Иванова на следующей неделе с понедельника?»

Разработка

  • npm run build собирает проект в dist/, npm run dev собирает в режиме watch.
  • npm run lint проверяет код линтером и форматтером Biome, npm run format исправляет то, что можно исправить автоматически.
  • npm test собирает проект и запускает тесты node:test (test/*.test.mjs, fetch подменён, сеть не нужна).

Участие в разработке и выпуск релизов описаны в CONTRIBUTING.md.

Лицензия

MIT

来源:README.md,提交 f8bc70a

工具

3

ruz_find_person

Найти в РУЗ

Поиск студента, преподавателя, группы или аудитории ВШЭ по подстроке (ФИО, номер группы) через API RUZ (ruz.hse.ru/api/search). ВАЖНО: RUZ отдаёт данные только из внутренней сети ВШЭ (Wi-Fi HSE.Student на кампусе или VPN сотрудника) — вне сети запрос вернёт ошибку. Возвращает до limit совпадений (id и подпись) и их общее число total — id с тем же type передаётся в ruz_get_schedule. Если total больше limit, уточните запрос.

输入参数term必填typelimit

ruz_get_schedule

Расписание по RUZ id

Расписание студента, преподавателя, группы или аудитории ВШЭ по RUZ id (узнать id — ruz_find_person с тем же type) на daysAhead дней начиная со startDate (по умолчанию с сегодня).

输入参数id必填type必填languagedaysAheadstartDate

ruz_get_my_schedule

Расписание студента по email

Расписание занятий студента ВШЭ по его корпоративному email ([email protected]) на daysAhead дней начиная со startDate (по умолчанию с сегодня). Использует API RUZ, который отдаёт данные только из внутренней сети ВШЭ (Wi-Fi HSE.Student на кампусе или VPN) — вне сети запрос вернёт ошибку.

输入参数email必填languagedaysAheadstartDate

版本历史

2
  1. v0.2.3最新Oct 25, 2026
  2. v0.1.4Oct 24, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分