Skip to main content
Glama
README.md
# MCP-MIREA-Multi-tool

**Расписание МИРЭА, поиск свободных аудиторий, проверка работ, выставление оценок, загрузка материалов в вашем ИИ-ассистенте.**

## Шаг 1. Выберите и установите приложение

Выберите **один** вариант и хотя бы один раз откройте приложение после установки:

| Вариант | Что установить | Оплата |
|---|---|---|
| **ChatGPT / Codex** | [Приложение OpenAI для компьютера](https://learn.chatgpt.com/docs/app). Войдите через свой аккаунт ChatGPT. | Доступ и лимиты зависят от вашего тарифа. |
| **Claude** | [Claude Desktop](https://claude.com/download). Установите и войдите в аккаунт Claude. | Действуют тариф и лимиты Claude. |
| **Google Antigravity (`agy`)** | [Antigravity CLI или IDE](https://antigravity.google). Терминальный агент или приложение. | Доступ по аккаунту Google. |

## Шаг 2. Установите MIREA Connect

### Windows

1. Откройте меню **Пуск**.
2. Напишите **PowerShell** и откройте **Windows PowerShell**. Запускать от администратора не нужно.
3. Скопируйте всю команду ниже, вставьте в окно PowerShell и нажмите **Enter**:

```powershell
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/Damanian638/mirea-connect/main/install.ps1 | iex"
```

4. Дождитесь окончания загрузки. Установщик сам скачает Python и необходимые компоненты. Не закрывайте окно, пока идёт установка.
5. Когда появится вопрос **«Куда подключить MIREA Connect?»**, перейдите к шагу 3 ниже.

### macOS или Linux

Откройте приложение **Терминал**, вставьте команду и нажмите **Enter**:

```bash
curl -LsSf https://raw.githubusercontent.com/Damanian638/mirea-connect/main/install.sh | sh
```

Дождитесь меню выбора приложения. Python и необходимые компоненты установятся автоматически.

## Шаг 3. Подключите выбранное приложение

В меню установщика введите **номер нужного пункта** и нажмите **Enter**. Номера зависят от того, какие программы найдены на вашем компьютере: ориентируйтесь на название.

### ChatGPT / Codex

1. Выберите в меню установщика пункт **Codex**. Так он называется в установщике, в том числе для приложения с общей конфигурацией ChatGPT / Codex.
2. Дождитесь сообщения **«Подключено: Codex»**.
3. Полностью закройте приложение и откройте снова.
4. Создайте новый локальный чат. В настройках **MCP** найдите сервер **mirea** и убедитесь, что он включён.
5. Перейдите к шагу 4.

Если пункта Codex нет: откройте приложение, завершите первоначальную настройку и снова запустите установку из шага 2. Если он всё ещё не появился, используйте [ручное подключение](docs/manual-connection.md).

Подключение использует общие настройки локального агента — это описано в [официальной документации OpenAI](https://learn.chatgpt.com/docs/developer-settings).

### Claude Desktop

1. Выберите в меню установщика пункт **Claude Desktop**.
2. Дождитесь сообщения **«Подключено: Claude Desktop»**.
3. Полностью завершите Claude, в том числе через значок возле часов, если приложение осталось работать в фоне. Затем откройте его снова.
4. Создайте новый чат. В меню инструментов возле поля сообщения проверьте, что доступен **mirea**.
5. Перейдите к шагу 4.

Если Claude Desktop нет в списке: запустите Claude, войдите в аккаунт, закройте приложение и повторите шаг 2. Эта установка предназначена для программы на компьютере. [Справка Claude о локальных подключениях](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop).

### Google Antigravity (`agy` / IDE)

1. Выберите в меню установщика пункт **Antigravity (agy)**.
2. Дождитесь сообщения **«Подключено: Antigravity (agy)»**.
3. Запустите `agy` в терминале или перезапустите диалог в Antigravity.
4. Сервер `mirea` подключится автоматически со всеми инструментами (`timetable`, `my_grades`, `sdo_*`, `login` и др.).

Если пункта Antigravity нет в списке: подключите сервер одной командой CLI:
```powershell
agy mcp add mirea -- "<путь к python из mirea-connect prompt>" -m mirea_connect local
```
*(точный путь подставьте из `mirea-connect prompt --json`)* или добавьте запись в `~/.gemini/config/mcp_config.json`. [Подробнее о ручном подключении](docs/manual-connection.md#google-antigravity-agy--antigravity-ide).

## Шаг 4. Проверьте, что всё работает

Отправьте в чат выбранного приложения:

> Используй MIREA Connect. Найди преподавателя по фамилии и покажи его расписание на ближайший понедельник. Сначала спроси у меня фамилию.

Ассистент должен обратиться к инструментам **mirea** и получить расписание. **Для публичного расписания вход в аккаунт МИРЭА не нужен.**

Теперь можно спросить, например:

> Найди свободные аудитории на проспекте Вернадского, 78, в понедельник с 10:40 до 12:10. Укажи точную дату и выдай списком.

> Покажи лабораторные и практические преподавателя Иванова И. И. на следующую неделю.

Свободная по расписанию аудитория может быть закрыта или иметь ограничения доступа. Время занятий — московское.

## Шаг 5. Войдите в МИРЭА, если нужны личные данные

Для проверки расписания этот шаг можно пропустить.

1. Напишите ассистенту: **«Войди в МИРЭА через MIREA Connect»**.
2. Откройте предложенную страницу входа в браузере на этом же компьютере.
3. Введите логин и пароль **на странице входа**. Если придёт код, введите его там же.
4. Дождитесь сообщения **«Готово»** и вернитесь в чат.

Пароль и код в чат присылать не нужно. Для СДО может потребоваться отдельный вход. Если университет завершит сессию, ассистент предложит войти снова; закрытие чата само по себе сессию не удаляет.

Коннектор работает в пределах прав вашей учётной записи. Преподаватель может просматривать свои пары и списки групп в Пульсе, отмечать посещаемость студентов на занятиях («+» / «Н»), анализировать присутствие и пропуски, а в СДО — создавать разделы курса, страницы, текстовые блоки, ссылки, задания, папки и тесты с вопросами, читать материалы и PDF/DOCX-вложения, просматривать ответы студентов на задания, читать и скачивать прикреплённые файлы и выставлять оценки с рецензиями. Новые элементы скрыты от студентов; публикация выполняется по отдельной просьбе. [Подробнее об управлении СДО](docs/sdo-authoring.md).

## Типовые запросы для работы с Пульсом и СДО

После входа можно обращаться к ассистенту обычным текстом. Укажите дату, номер пары, группу, дисциплину или студента; ассистент выполнит нужные действия через коннектор.

### Журнал преподавателя и посещаемость в Пульсе

> Какие у меня сегодня пары в Пульсе и в каких аудиториях?

> Кто у меня в группе на сегодняшней 3 паре и сколько студентов уже отмечено?

> Отметь на моей 3 паре студентов: Островский, Байрашный.

> На 4 паре у группы ЭФБО-16-24 присутствовали все, кроме Алхимова и Блохина (поставь им «Н», остальным «+»).

> Сколько студентов сегодня присутствовало на 3 паре и кто отсутствовал?

> На скольких парах сегодня был студент Островский? Проверь ведомости моих занятий за сегодня.

> Проверь посещаемость студента Иванова И. И. на моих парах за эту неделю: на скольких занятиях он присутствовал и сколько пропустил?

> Выведи статистику посещаемости группы ЭФБО-17-24 на 3 паре: процент присутствующих и список отсутствующих.

> Покажи список студентов 4 пары и их текущие отметки в Пульсе.

> Сними отметку посещаемости у студента Сидорова на 3 паре.

### Проверка студенческих работ и выставление оценок

> Какие практики по дисциплине «Название дисциплины» у Иванова имеют ответ?

> Посмотри, сдал ли студент Иванов И.И. практические работы 3 и 4 по курсу «Название курса».

> Скачай отчеты по практике 3 и 4 студента Иванова, проверь код и расчеты по его варианту. Сколько баллов ты бы поставил?

> Проверь отчёты студента Петрова по 3 и 4 практикам: не давай полный отчет, напиши кратко 1–2 предложения и сформулируй по одному вопросу студенту для защиты.

> Сравни отчёт по практической работе с методическими указаниями: проверь схему, точность расчета делителя, правильность работы прерываний и наличие всех контрольных вопросов.

> Опубликуй эти проверочные вопросы студенту Петрову в виде комментария к ответу в СДО, а оценку оставь открытой до защиты.

> Студенту Сидорову С.С. проставь максимальные баллы за 3 и 4 практику с комментарием «Зачтено».

> Сформируй список замечаний по отчёту студентки (некорректный титульный лист, отсутствие измерений в таблице, пропущенные контрольные вопросы) и отправь в комментарий к ответу в СДО без выставления оценки.

> Организуй и разложи скачанные отчёты студентов по папкам в «Загрузках», чтобы их можно было открыть в Word.

### Наполнение курса и управление материалами

> Покажи структуру курса «Название курса»: разделы, материалы и какие элементы скрыты от студентов.

> Прочитай лекционные PDF в курсе «Название курса» и предложи план практического занятия по их темам.

> В курсе «Название курса» создай скрытый раздел «Тема 9» с описанием, страницей лекции и заданием для самостоятельной работы.

> В разделе «Материалы по дисциплине» курса «Название курса» создай скрытый текстовый блок с инструкцией к занятию и ссылку на https://www.mirea.ru/ с названием «Сайт РТУ МИРЭА».

> В разделе «Задания текущего контроля» курса «Название курса» создай скрытый тест «Самопроверка»: 10 вопросов по лекциям, по четыре варианта ответа и один правильный. Проверь число вопросов и скрытую видимость.

> Обнови текст страницы «Название страницы» в курсе «Название курса», сохрани её видимость: …

> Покажи состав теста «Самопроверка» в курсе «Название курса» и число добавленных вопросов.

> Опубликуй раздел «Тема 9» и страницу «Лекция 9» в курсе «Название курса».

Создание и публикация зависят от прав в СДО. Видимость раздела и его элементов меняется отдельно. Поддерживается просмотр сданных студентами работ, чтение и скачивание файлов ответов, а также выставление оценок и рецензий. Загрузка новых файлов преподавателем в материалы курса пока не реализована.

## Если что-то не получилось

| Что произошло | Что сделать |
|---|---|
| Нужного приложения нет в меню | Установите его, откройте и войдите в аккаунт, затем повторите шаг 2. |
| Установка остановилась со словом «Ошибка» | Прочитайте сообщение над ним. Если там «Отказано в доступе» или «файл занят», полностью закройте Claude, ChatGPT / Codex и Cursor (в том числе значок возле часов) и повторите команду из шага 2. |
| Ассистент пишет, что найдено несколько преподавателей | Уточните запрос: фамилия и инициалы («Иванов И. И.») или полное ФИО. |
| Свободных аудиторий 0, хотя корпус большой | Проверьте название корпуса: ассистент получит список корпусов, где есть свободные аудитории. |
| Ассистент отвечает, что не видит MIREA Connect | Полностью перезапустите приложение, создайте новый чат и проверьте, включён ли сервер `mirea` в настройках MCP. |
| Команда `mirea-connect` не найдена | Закройте PowerShell и откройте снова. Если не помогло, используйте полный путь, который установщик вывел после слов «Готово. Команда:». |
| При обновлении «сейчас запущен» или «Отказано в доступе» / `os error 5` | Отключите сервер `mirea` в настройках MCP всех использующих его приложений или полностью закройте их, затем повторите установку. После установки включите сервер снова. |
| После неудачного обновления `No module named mirea_connect` | Установка прервалась. Сначала отключите сервер `mirea` во всех приложениях, затем повторите команду установки из шага 2. |
| Не удалось войти или подтвердить код | Попросите ассистента начать вход заново. Вводите последний полученный код в новой форме. |
| Требуется обновление | Сначала отключите сервер `mirea` во всех приложениях или закройте их. Повторите команду из шага 2, затем включите сервер и перезапустите приложение. |

Если ошибка осталась, [сообщите о ней](https://github.com/Damanian638/mirea-connect/issues): напишите, какое приложение и Windows/macOS/Linux вы используете, и приложите текст ошибки. Пароли, коды и данные сессии не прикладывайте.

### Если вы пользуетесь ChatGPT в браузере

Сайт ChatGPT не читает локальную конфигурацию из этой инструкции. Для веб-версии нужен отдельный удалённый MCP-сервер или Secure MCP Tunnel. Это более сложный способ: [инструкция OpenAI](https://developers.openai.com/api/docs/guides/custom-mcp-server), [справка по удалённому серверу MIREA Connect](docs/technical.md#удалённый-сервер). Для начала используйте приложение на компьютере.

---

[Ручное подключение](docs/manual-connection.md) · [Техническая справка](docs/technical.md) · [Лицензия MIT](LICENSE) · [Сведения об исходном коде](THIRD_PARTY_NOTICES.md)