SGU Academic MCP Server
Provides a smart local caching layer using SQLite to cache academic results and schedules, enabling fast responses (<0.05s) and reducing requests to the university portal.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SGU Academic MCP Serverwhat's my exam schedule for next week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SGU Academic MCP Server
A production-grade Model Context Protocol (MCP) Server bridging AI Assistants (Claude Desktop, Antigravity, Cursor) directly with the Saigon University (SGU) Academic Portal (
thongtindaotao.sgu.edu.vn).
Giới thiệu
SGU Academic MCP Server được xây dựng theo chuẩn mở Model Context Protocol (MCP) của Anthropic. Hệ thống đóng vai trò cầu nối thông minh (Bridge Middleware), giúp các Trợ lý AI có thể tương tác trực tiếp với dữ liệu học tập thực tế từ cổng thông tin đào tạo Đại học Sài Gòn (SGU) bằng ngôn ngữ tự nhiên.
Tính năng nổi bật
100% Dữ liệu thực tế: Tích hợp trực tiếp với API cổng đào tạo SGU (
thongtindaotao.sgu.edu.vn), không dùng dữ liệu giả lập.Cơ chế Reverse-Engineered Security: Tự động tạo dynamic header
uavới thuật toán mã hóa timestamp + XOR bitwise, tương thích hoàn toàn với cơ chế bảo mật của cổng đào tạo.Smart SQLite Caching: Tự động cache kết quả học tập và thời khóa biểu cục bộ, đảm bảo tốc độ phản hồi < 0.05s và giảm thiểu áp lực request lên máy chủ trường.
Hỗ trợ đa phương thức truyền tải (Transports):
stdio: Tích hợp chuẩn cho Claude Desktop, Cursor, Antigravity.SSE(Server-Sent Events): Dùng khi triển khai dạng dịch vụ mạng LAN hoặc Web container.
Bộ tính năng phong phú: 15 Tools, 4 Resources ngữ cảnh, và 3 Prompts mẫu thông minh.
Related MCP server: FAST-NUCES Flex Student Portal MCP Server
Kiến trúc hệ thống
┌────────────────────────────────────────────────────────┐
│ Trợ lý AI (Clients) │
│ Claude Desktop │ Cursor IDE │ Antigravity │
└───────────────────────────┬────────────────────────────┘
│ JSON-RPC (stdio / SSE)
▼
┌───────────────────────────────────────────────────────────┐
│ SGU ACADEMIC MCP SERVER │
│ │
│ [15 MCP Tools] [4 Resources] [3 Prompts] │
│ • TKB tuần / ngày • Lộ trình CNTT • Kế hoạch học │
│ • Lịch thi & Đếm • Chuẩn tốt nghiệp • Ôn thi cấp tốc │
│ • Điểm & GPA audit • Quy chế học vụ • Audit hồ sơ │
│ • Học phí & Nợ môn • Danh bạ cơ sở │
│ │
│ [Security & Performance Engine] │
│ • SguEncryptor: Thuật toán tạo header dynamic 'ua' │
│ • SguCache: SQLite Caching & Fallback Controller │
└───────────────────────────┬───────────────────────────────┘
│ HTTPS (REST API)
▼
┌────────────────────────────────────────────────────────┐
│ Cổng thông tin đào tạo SGU │
│ thongtindaotao.sgu.edu.vn │
└────────────────────────────────────────────────────────┘Danh mục năng lực MCP
1. 15 MCP Tools (Hành động có thể gọi)
STT | Tool Name | Mô tả |
1 |
| Đăng nhập tài khoản sinh viên vào cổng thông tin đào tạo SGU |
2 |
| Lấy danh sách các môn đã đăng ký thành công trong kỳ |
3 |
| Lấy thời khóa biểu học kỳ chi tiết theo từng thứ trong tuần |
4 |
| Tra cứu nhanh lịch học hôm nay và ngày mai (phòng, ca, giảng viên) |
5 |
| Kiểm tra xung đột lịch học khi dự định đăng ký môn mới |
6 |
| Tra cứu lịch thi chính thức từ SGU (ngày thi, phòng, ca, SBD) |
7 |
| Đếm ngược ngày thi và cảnh báo lịch thi dồn dập trong cùng 1 ngày |
8 |
| Lấy hồ sơ sinh viên chính thức (họ tên, MSSV, lớp, ngành, CVHT) |
9 |
| Lấy bảng điểm chi tiết theo từng học kỳ |
10 |
| Tổng hợp GPA tích lũy, số tín chỉ đạt và danh sách môn nợ |
11 |
| Thuật toán mô phỏng điểm số cần đạt ở các môn tới để đạt mục tiêu GPA |
12 |
| Tra cứu học phí từng kỳ, số tiền đã đóng và số tiền nợ đọng |
13 |
| Lấy thông báo mới nhất từ Nhà trường và Phòng Đào tạo |
14 |
| Tra cứu danh sách lớp học phần đang mở kèm số lượng chỗ còn lại |
15 |
| Kiểm tra điều kiện môn tiên quyết ngành CNTT SGU |
2. 4 MCP Resources (Tài nguyên đọc ngữ cảnh)
sgu://curriculum/it-roadmap: Toàn bộ lộ trình 8 học kỳ và khung chương trình ngành CNTT SGU.sgu://regulations/academic-warning: Quy chế tính điểm hệ 4 và các khung cảnh cáo học vụ.sgu://graduation/standards: Điều kiện xét tốt nghiệp (tín chỉ, chuẩn ngoại ngữ TOEIC 500/VSTEP, tin học).sgu://campuses/directory: Danh bạ cơ sở và ký hiệu các phòng học tại trường Đại học Sài Gòn.
3. 3 MCP Prompts (Mẫu tác vụ AI định sẵn)
plan_weekly_routine: Tự động phân bổ lịch tự học và sinh hoạt dựa trên thời khóa biểu tuần thực tế.exam_cramming_strategy: Lập chiến lược ôn thi nước rút tối ưu theo mức độ khẩn cấp của lịch thi.graduation_audit: Đối soát toàn diện điểm số và tín chỉ tích lũy so với chuẩn đầu ra tốt nghiệp.
Cài đặt & Sử dụng (1-Click Setup)
1. Yêu cầu môi trường
Python 3.10 trở lên
2. Các bước thiết lập
Bước 1: Tải mã nguồn & cài đặt thư viện
git clone https://github.com/your-username/sgu-academic-mcp.git
cd sgu-academic-mcp
pip install -r requirements.txtBước 2: Cấu hình tài khoản sinh viên
Tạo file .env từ .env.example và điền tài khoản SGU của bạn:
SGU_STUDENT_ID=3122xxxxxx
SGU_PASSWORD=MatKhauCuaBanBước 3: Tích hợp tự động vào AI Clients (1-Click) Chạy script cài đặt tự động:
python setup.py(Trên Windows, bạn chỉ cần nhấp đúp chuột vào file setup.bat)
Script
setup.pysẽ tự động:
Tự nhận diện đường dẫn tuyệt đối của Python và dự án trên máy bạn.
Tự chèn cấu hình vào Claude Desktop (
%APPDATA%\Claude\claude_desktop_config.json).Tự tạo cấu hình Workspace cho Cursor / Antigravity (
.cursor/mcp.json).Sau khi chạy xong, bạn chỉ cần mở Claude Desktop hoặc Cursor lên là 15 công cụ tra cứu SGU đã sẵn sàng trong khung chat!
Chạy trực tiếp MCP Server qua dòng lệnh
Chế độ stdio:
python -m sgu_mcp.server --transport stdioChế độ SSE (HTTP Web Service):
python -m sgu_mcp.server --transport sse --port 8000
Triển khai với Docker
docker compose up -d --buildDịch vụ MCP Server sẽ chạy ở cổng 8000 (http://localhost:8000/sse).
Cấu hình thủ công file JSON (nếu không dùng setup.py)
Thêm đoạn JSON sau vào claude_desktop_config.json hoặc .cursor/mcp.json:
{
"mcpServers": {
"sgu_academic_server": {
"command": "python",
"args": [
"-m",
"sgu_mcp.server",
"--transport",
"stdio"
],
"cwd": "C:/path/to/sgu-academic-mcp",
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}Kiểm thử tự động (Unit Tests & 100% Coverage)
Dự án đi kèm bộ test tự động sử dụng pytest với độ bao phủ tuyệt đối 100% toàn bộ mã nguồn:
# Chạy toàn bộ 48 test cases kèm báo cáo độ bao phủ
pytest --cov=sgu_mcp --cov-report=term-missingKết quả kiểm thử thực tế:
============================= test session starts =============================
platform win32 -- Python 3.12.10, pytest-9.0.2
collected 48 items
tests\test_cache.py .... [ 8%]
tests\test_crypto.py .. [ 12%]
tests\test_mcp_server.py ........ [ 29%]
tests\test_modules.py .................. [ 66%]
tests\test_sgu_client.py ............. [ 93%]
tests\test_tools_offline.py ... [100%]
=============================== tests coverage ================================
Name Stmts Miss Cover Missing
------------------------------------------------------------
sgu_mcp\__init__.py 1 0 100%
sgu_mcp\config.py 14 0 100%
sgu_mcp\core\cache.py 47 0 100%
sgu_mcp\core\crypto.py 38 0 100%
sgu_mcp\core\sgu_client.py 99 0 100%
sgu_mcp\modules\academic.py 49 0 100%
sgu_mcp\modules\exams.py 32 0 100%
sgu_mcp\modules\schedule.py 87 0 100%
sgu_mcp\modules\tuition.py 45 0 100%
sgu_mcp\prompts\templates.py 1 0 100%
sgu_mcp\resources\content.py 2 0 100%
sgu_mcp\server.py 101 0 100%
------------------------------------------------------------
TOTAL 516 0 100%
============================== 48 passed in 3.93s ==============================Cấu trúc thư mục
sgu-academic-mcp/
├── sgu_mcp/
│ ├── config.py # Cấu hình Pydantic BaseSettings
│ ├── server.py # Entrypoint MCP Server (Stdio & SSE)
│ ├── core/
│ │ ├── crypto.py # Reverse-engineered dynamic 'ua' header
│ │ ├── cache.py # SQLite Caching Layer & Fallback
│ │ └── sgu_client.py # HTTP API Client kết nối thongtindaotao.sgu.edu.vn
│ ├── modules/
│ │ ├── schedule.py # 5 Tools: Thời khóa biểu, đăng ký môn & kiểm tra trùng
│ │ ├── exams.py # 2 Tools: Lịch thi & đếm ngược ngày thi
│ │ ├── academic.py # 4 Tools: Hồ sơ, bảng điểm & mô phỏng GPA
│ │ └── tuition.py # 4 Tools: Học phí, thông báo & môn tiên quyết
│ ├── resources/
│ │ └── content.py # 4 MCP Resources ngữ cảnh học vụ
│ └── prompts/
│ └── templates.py # 3 MCP Prompt templates
├── skills/
│ └── sgu-academic/
│ └── SKILL.md # Agent Skill tích hợp cho AI assistants
├── hands_on_lab/
│ └── HANDS_ON_LAB.md # Hướng dẫn thực hành từng bước (Hands-on Guide)
├── tests/ # 48 unit tests tự động (100% Coverage)
│ ├── test_cache.py # Kiểm thử SQLite Caching, TTL & Error handling
│ ├── test_crypto.py # Kiểm thử tạo header 'ua' reverse-engineered
│ ├── test_sgu_client.py # Kiểm thử API Client, Auto-login & HTTP communication
│ ├── test_modules.py # Kiểm thử toàn diện 15 Tools & nghiệp vụ học vụ
│ ├── test_mcp_server.py # Kiểm thử MCP Protocol (Tools, Resources, Prompts & CLI)
│ └── test_tools_offline.py # Kiểm thử offline mô phỏng GPA & môn tiên quyết
├── Dockerfile # Container image build
├── docker-compose.yml # Container orchestration
└── requirements.txt # Python dependenciesBảo mật & Quyền riêng tư
Xử lý cục bộ (Local Execution): Mọi thông tin đăng nhập và dữ liệu học tập cá nhân được xử lý hoàn toàn trên máy cục bộ của người dùng.
Không lưu trữ tập trung: Máy chủ không chuyển tiếp hoặc lưu trữ thông tin nhạy cảm lên bất kỳ server bên thứ ba nào.
File
.envđược bảo vệ: Cấu hình git mặc định đã ignore.envvà database cache để tránh vô tình công khai tài khoản.
Giấy phép (License)
Dự án được phát hành theo giấy phép MIT License. Tự do sử dụng, chỉnh sửa và tích hợp cho các mục đích học tập và nghiên cứu cá nhân.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect your Moodle to AI assistants: courses, content, grading and reports from the chat.
Your personal data for AI — Telegram, bank, courses, Zoom & more, scoped to you.
Connect AI assistants to Subotiz - Using Subotiz's external capabilities through natural language
Connect AI assistants to Subotiz - Using Subotiz's external capabilities through natural language
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to securely retrieve academic grades and course information from Sakarya University's SABIS student information system through automated web scraping.2ISC
- FlicenseNot gradedqualityCmaintenanceConnects AI assistants to the FAST-NUCES Flex Student Portal, enabling students to query their academic data including attendance, marks, transcript, and fee reports through natural language conversations.6-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access PSG College of Technology e-campus portal data including CA marks, attendance records, timetable schedules, and course information through natural language queries.4MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables University of Toronto students to access academic data from ACORN and Quercus via AI assistants. It provides tools to retrieve course schedules, enrollment details, syllabi, assignments, and announcements.-