mtuci-mcp
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