MCP HEMIS Student
March 17, 2025 · View on GitHub
https://github.com/user-attachments/assets/028aa938-bc2d-400f-84a1-ae1000c8af9c
A Model Context Protocol (MCP) for accessing student information from the Higher Education Management Information System (HEMIS). This tool allows students to retrieve their academic information, schedules, grades, attendance, and other university-related data directly through Claude.
Overview
This MCP provides a bridge between Claude and your university's HEMIS platform, enabling you to:
- View your personal student profile
- Check your grades and GPA
- Access your class schedule
- View attendance records
- Get subject details and available resources
- Access official documents and references
- View exam schedules
- Check contract information
- Get university statistics
Useful Links
Installation
-
Install "Claude for Desktop" from https://claude.ai/download.
-
Make sure you have Python 3.10 or higher installed.
-
Install
uv(Python package manager):
# For macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# For Windows (powershell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- Clone this repository:
git clone https://github.com/sukhrobyangibaev/mcp_hemis_student.git
cd mcp_hemis_student
Configuration
We’ll need to configure Claude for Desktop for whichever MCP servers you want to use. To do this, open your Claude for Desktop App configuration at:
- For Windows:
C:\Users\User\AppData\Roaming\Claude\claude_desktop_config.json

- For Mac:
~/Library/Application Support/Claude/claude_desktop_config.json

Note
Make sure to create the file if it doesn’t exist.
Configure the Claude Desktop application to provide these environment variables:
{
"mcpServers": {
"hemis": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\Sukhrob\\Documents\\Projects\\mcp_hemis_student",
"run",
"server.py"
],
"env": {
"HEMIS_API_BASE": "https://student.ubtuit.uz/rest/v1/",
"HEMIS_LOGIN": "123412341234",
"HEMIS_PASSWORD": "12345678"
}
}
}
}
Note
Use your own path, Hemis API base, login and password
Warning
You may need to put the full path to the uv executable in the command field. You can get this by running which uv on MacOS/Linux or where uv on Windows.
Save the file, and restart Claude for Desktop.
Test with commands
Make sure Claude for Desktop is picking up the two tools we've exposed in our server. You can do this by looking for the hammer icon:

If the hammer icon has shown up, you can now test your server by running the following commands in Claude for Desktop, for example:
- "Show me my current GPA"
- "What classes do I have this week?"
- "Show me my attendance for Databases class"
- "What exams do I have this semester?"

Available Tools
Student Information
get_student_profile()- Get your personal and academic informationget_student_gpa_list()- Get your GPA information across academic yearsget_student_semesters()- Get your semester information
Academics
get_student_subjects(semester)- Get subjects and grades for a specific semesterget_student_subjects_list(semester)- Get subjects list without gradesget_subject_details(subject, semester)- Get detailed information about a specific subjectget_student_attendance(subject, semester)- Get attendance records for a specific subjectget_student_performance(subject, semester)- Get performance and task informationget_student_resources(subject, semester)- Get electronic resources for a subjectget_student_task_list(semester)- Get your list of tasks/assignmentsget_student_exams(semester)- Get your exam schedule
Schedule
get_student_schedule(semester, week)- Get your class schedule
Documents & Contracts
get_student_contract()- Get your contract information for the current academic yearget_student_contract_list()- Get your list of contracts for all academic yearsget_student_documents()- Get your official documentsget_all_student_documents()- Get all your official documentsget_student_references()- Get your official student references/certificatesgenerate_student_reference()- Generate a new student referenceget_student_decrees()- Get official orders/decrees related to you
University Information
get_employee_statistics()- Get statistics about university employeesget_university_structure()- Get statistics about university structureget_student_statistics()- Get statistics about university studentsget_universities()- Get a list of universities using HEMIS systemget_university_profile()- Get profile information about university
Running Client (for Advanced Users)
If you have an API key for Anthropic or OpenAI, you can run the clients as well.
-
Copy the
.env.examplefile to.envand fill in the necessary keys. -
In the project folder, run one of the following commands:
uv run client_claude.py server.py
# or
uv run client_openai.py server.py

Security Note
Your HEMIS credentials are stored locally in your Claude configuration. They are not sent anywhere except to your university's HEMIS system for authentication.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Acknowledgments
Special thanks to:
- Shonazarov Azizbek Xushnudbek o'g'li for providing a HEMIS account for testing purposes