HSE RUZ

io.github.ihavealotofguapPublished by GitHub account ihavealotofguapv0.2.3Updated Oct 26, 2026

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

Overview

AI-generated overview

Local MCP server for HSE University's RUZ timetable: find students, lecturers, groups and rooms, and read their class schedules.

What you can do
  • Search students, lecturers, groups and rooms by substring and get their RUZ ids
  • Read a schedule for any found id, or a student's own schedule by corporate email
  • Set the period with a start date and 1–60 days ahead, and choose Russian or English names
  • All tools only read data; results are cached briefly and dates follow Moscow time
When to use it
Useful for HSE students and staff who want an assistant to look up their own classes, a group's week, a lecturer's timetable or a room's schedule without opening RUZ in a browser.
Requirements
Runs locally over stdio via npx, requiring Node.js 22 or newer. No login, password, API key or browser is needed, but requests only succeed from inside the HSE network (campus Wi-Fi HSE.Student or staff VPN).
Before you install
Queries fail outside the HSE network, so it is only usable on campus or over the staff VPN. It reads public timetable data only and does not write anything, but searches and schedule lookups are sent to the RUZ API.

Installation

In SourceWeft

  1. Open HSE RUZ in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: README.md at commit f8bc70a

Tools

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, уточните запрос.

Parameterstermrequiredtypelimit

ruz_get_schedule

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

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

ParametersidrequiredtyperequiredlanguagedaysAheadstartDate

ruz_get_my_schedule

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

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

ParametersemailrequiredlanguagedaysAheadstartDate

Version history

2
  1. v0.2.3LatestOct 25, 2026
  2. v0.1.4Oct 24, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts