mcp-guap
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GUAP_COOKIE | No | Cookie string for manual authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_my_profileA | Get the current student's profile: full name (ФИО), group, student book number, institute, specialty, study form, education level, and enrollment status. |
| get_teacher_infoA | Get information about a teacher by their numeric profile ID. Returns full name (ФИО), academic degree/rank, and list of positions (each with position title, department, and organization). Teacher IDs are available in list_tasks, get_task, and list_materials results. |
| get_subject_infoA | Get detailed information about a specific subject/discipline by its numeric ID. Returns name, department (кафедра), year and semester, control type (экзамен/зачёт/КП etc.), current grade, total hours, and the assigned teacher with their position. Subject IDs are available in list_tasks, get_task, and list_materials results. |
| get_my_group_orderA | Get the current student's order number (порядковый номер) in the group list. Also returns the total number of students in the group, the student's full name, and the group name. |
| list_tasksA | List tasks assigned to the student. Returns task id, discipline, name, status, points (earned/max), type, deadline, and teacher. All filters are optional and default to showing everything for the current semester. semester: numeric semester ID (e.g. 27 = '2025/2026 весенний'). subject_id: numeric discipline ID to show tasks for one subject only. task_type: 0=все, 1=Курсовой проект, 2=Лабораторная работа, 3=Реферат, 4=Контрольная работа, 5=Расчетно-графическая работа, 6=Расчетное задание, 7=Эссе, 8=Отчет о практике, 9=Проверочная работа, 10=Индив. задание по ин. яз., 11=Текущее тестирование, 12=Научный доклад, 13=Отчет о науч. исслед., 14=Индивидуальное задание, 15=Практические задания, 16=Работа на занятии. show_status: 0=все, 1=только без отчета, 2=ожидающие проверки, 3=только принятые, 4=только непринятые, 5=все кроме принятых. |
| get_taskA | Get full details for a specific task by its numeric ID. Includes: description, allowed file extensions for the report, extra materials links, deadline, and the list of already submitted reports with their statuses. |
| list_materialsA | List learning materials available to the student. Each material has a name, discipline, date added, teacher, and either a download URL (for files hosted on pro.guap.ru) or an external URL (Google Drive, etc.). All filters are optional and default to the current semester. semester: numeric semester ID (e.g. 27 = '2025/2026 весенний'). subject_id: numeric discipline ID to show materials for one subject only. |
| download_materialA | Download a material file by URL. Works for three kinds of URLs: (1) pro.guap.ru internal links — authenticated automatically via the session cookie; (2) Google Drive share links (drive.google.com/file/d/...) — handles the confirmation page; (3) any other direct download URL (PDF, ZIP, etc.). The file is saved to ~/Downloads/guap-materials/ by default. Returns the local file path, filename, size in bytes, and content type. |
| submit_reportA | Submit a report file for a specific task. The file must already exist on the local filesystem. Allowed extensions depend on the task — check get_task first. An optional comment can be included with the submission. |
| authenticateA | Authenticate with GUAP via browser automation. Opens a browser window, navigates to pro.guap.ru login page, waits for you to enter credentials, and saves session cookies. The cookies are saved to a file and will be used automatically for subsequent requests. Timeout is 120 seconds by default. |
| check_auth_statusA | Check if current authentication cookies are valid. Returns whether cookies are valid and can access the GUAP profile. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct resource and action: profile, teacher, subject, group order, task list, task detail, material list, authentication, download, submission, and auth check. Even related tools like get_my_profile and get_my_group_order are clearly separated by their specific purposes, with no overlap.
All tool names follow the verb_noun pattern with snake_case (get_, list_, download_, submit_, check_, authenticate). The verbs are consistently used: 'list' for collections, 'get' for single items, and action verbs for operations. This provides a predictable and coherent naming scheme.
With 11 tools, the set is well-scoped for a student portal. Each tool covers a necessary operation for managing tasks, materials, and submissions, without unnecessary duplication or bloat. The count falls squarely in the ideal range for a focused MCP server.
The tool surface covers the full student workflow: authentication, viewing profile, listing and viewing tasks, listing and downloading materials, submitting reports, and checking auth status. While minor gaps like a logout or listing all subjects exist, they are not essential for the core purpose and can be worked around. The lifecycle is complete for the domain.