mirea
by Damanian
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)
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo recent community issues