Skip to main content
Glama
README.md
# mtuci-mcp

MCP-сервер для личного кабинета МТУСИ, построенный на библиотеке
[`mtuci_private_api`](https://github.com/derived-functor/mtuci_private_api).

## Инструменты

- `get_user_info` — информация о студенте (имя, группа, курс, факультет, специальность).
- `get_attendance` — посещаемость по предметам (процент посещений, пропуски).
- `get_schedule` — расписание на дату (`YYYY-MM-DD`): предметы, тип занятий, преподаватели, аудитории, время.

## Учётные данные

Сервер берёт логин и пароль от ЛК МТУСИ из переменных окружения:

- `MTUCI_LOGIN`
- `MTUCI_PASSWORD`

Запросы к ЛК выполняются от имени **студента**.

## Запуск через uvx

Из локальной директории проекта:

```sh
uvx --from . mtuci-mcp
```

Если пакет опубликован в PyPI:

```sh
uvx mtuci-mcp
```

### Пример конфигурации opencode

```jsonc
{
  "mcp": {
    "mtuci": {
      "command": "uvx",
      "args": ["--from", "/путь/до/mtuci-mcp", "mtuci-mcp"],
      "env": {
        "MTUCI_LOGIN": "ваш_логин",
        "MTUCI_PASSWORD": "ваш_пароль"
      }
    }
  }
}
```

## Разработка

```sh
uv sync
uv run mtuci-mcp
```

HTTP-запросы библиотеки выполняются асинхронно и могут быть медленными
(имитация действий браузера), поэтому выполнение инструментов может занимать несколько секунд.

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool retrieves a clearly distinct resource: student profile, attendance, and schedule. There is no overlap in purpose, so an agent can select the correct tool unambiguously.

Naming Consistency5/5

All three tools follow the same get_<noun> snake_case pattern: get_user_info, get_attendance, get_schedule. The convention is predictable and consistent.

Tool Count4/5

Three tools is slightly on the thin side but reasonable for a focused student-data server. Each tool has a clear, non-redundant role.

Completeness3/5

The surface covers profile, attendance, and schedule, but omits common student-information needs such as grades, exam results, and course details. These are notable gaps for the apparent domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues