iGuat-MCP
iGuat-MCP
Ein schreibgeschützter MCP-Dienst (Model Context Protocol) für die Campusdaten von iGuihang. Das Projekt basiert auf Python, FastMCP und Streamable HTTP und kapselt Abfragen zu Stundenplänen, Klassen und Standorten als Standardwerkzeuge, die von KI-Clients aufgerufen werden können.
Dieses Projekt bietet ausschließlich Abfragefunktionen und ändert weder das WeChat-Miniprogramm noch die übergeordneten Lehrdaten.
Funktionen
Abrufen der vollständigen Semesterliste, des aktuellen Semesters und des nächsten Semesters
Suche nach Klassen anhand von Studiengang, Jahrgang und Klassenstichwort
Abfragen des Stundenplans für eine bestimmte Klasse, ein bestimmtes Semester und eine bestimmte Woche
Abfragen des Stundenplans einer bestimmten Person, wobei Identitätsfelder vor der Rückgabe entfernt werden
Ableiten des Standorts anhand der Studiengangsinformationen
Integrierter TTL-Stundenplan-Cache, Nebenläufigkeitsbegrenzung und Health Check
Schutz der MCP- und Admin-Schnittstellen durch Bearer-API-Schlüssel
Unterstützung für das heiße Aktualisieren des übergeordneten Tokens über die Admin-Schnittstelle
Unterstützung für Docker, Umgebungsvariablen und Docker Secrets
Related MCP server: sanxiao-mcp
MCP-Werkzeuge
Werkzeug | Beschreibung |
| Abrufen der vollständigen Semesterliste, einschließlich des aktuellen und des nächsten Semesters |
| Abrufen des aktuellen Semesters |
| Suche nach Klassen anhand von Bedingungen |
| Abrufen des Stundenplans für eine bestimmte Klasse, ein bestimmtes Semester und eine bestimmte Woche |
| Abfragen des Stundenplans nach Name oder Matrikelnummer; die Antwort entfernt Identitätsfelder |
| Ableiten des Standorts anhand der Studiengangsinformationen |
Technologiestack
Python 3.11+
MCP / FastMCP
HTTPX
Uvicorn
Pytest
Docker
Schnellstart
Lokale Ausführung
git clone https://github.com/Strayed2SE/iGuat-MCP.git
cd iGuat-MCP
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[test]"
cp .env.example .env
# 按下方说明配置环境变量后启动
python server.pyDer Dienst lauscht standardmäßig auf 0.0.0.0:8000:
MCP:
http://127.0.0.1:8000/mcpHealth Check:
http://127.0.0.1:8000/healthz
Anfrageheader des MCP-Clients:
Authorization: Bearer <MCP_PUBLIC_API_KEY>Docker
docker build -t iguat-mcp .
docker run --rm -p 8000:8000 --env-file .env iguat-mcpFür die Produktionsumgebung wird empfohlen, sensible Konfigurationen über die NAME_FILE-Form aus Docker Secrets oder schreibgeschützten Dateien zu laden:
docker run --rm -p 8000:8000 \
-e IGUAT_USER_TOKEN_FILE=/run/secrets/iguat_token \
-e IGUAT_MAIN_SIGN_KEY_FILE=/run/secrets/main_sign_key \
-e MCP_PUBLIC_API_KEY_FILE=/run/secrets/public_key \
-e MCP_ADMIN_API_KEY_FILE=/run/secrets/admin_key \
--mount type=bind,src=/secure/secrets,dst=/run/secrets,ro \
iguat-mcpKonfiguration
Kopieren Sie .env.example und passen Sie es nach Bedarf an:
Variable | Zweck |
| Übergeordnetes Abfragetoken |
| Signaturschlüssel der Hauptschnittstelle |
| Signaturschlüssel der Klassenschnittstelle |
| Signaturschlüssel der CSM-Schnittstelle |
| Signaturschlüssel der Alumni-Schnittstelle |
| Signaturschlüssel der Standortschnittstelle |
| Zugriffsschlüssel für MCP-Clients |
| Zugriffsschlüssel für die Admin-Schnittstelle |
| Adresse und Port des Dienstes |
| Cache-Dauer des Stundenplans in Sekunden; |
| Maximale Anzahl gleichzeitiger Anfragen |
| Obergrenze für die Abfrage von Studiengangsklassen |
| Gibt an, ob System-Proxy- und Zertifikatsumgebungsvariablen gelesen werden |
Aktualisieren des übergeordneten Tokens
Wenn das übergeordnete Token ungültig wird, kann der Administrator das Token im Speicher aktualisieren, ohne den Dienst neu zu starten:
curl -X PUT http://127.0.0.1:8000/admin/token \
-H "Authorization: Bearer <MCP_ADMIN_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"token":"<NEW_TOKEN>"}'Tests
pip install -e ".[test]"
pytest -qSicherheitshinweise
Übertragen Sie keine echten Tokens, Signaturschlüssel, API-Schlüssel oder
.env-Dateien in das Repository.Der Dienst gibt keine Tokens, Signaturen oder persönlichen Identitätsfelder an MCP-Clients zurück.
Standardmäßig werden keine System-Proxy-Umgebungsvariablen gelesen; setzen Sie
IGUAT_TRUST_ENV=1nur, wenn die Bereitstellungsumgebung dies tatsächlich erfordert.
Verwandte Projekte
Guihang-Enzyklopädie-Abfragesystem: Eine Campus-Wissensdatenbank und ein intelligentes Frage-Antwort-System, das diesen MCP-Dienst integriert.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only University of Macau course, instructor and review data.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Public read-only MCP access to digital learning concepts, semantic relationships, and citations.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides read-only access to Guangdong gaokao data, enabling searches for schools, scores, and data files via MCP.-
- FlicenseCqualityCmaintenanceEnables read-only querying of Kingdee's Three-Effect project management system, covering projects, reimbursements, loans, payments, working hours, and budgets, via MCP tools.28-
- FlicenseAqualityCmaintenanceEnables read-only interaction with CMU Student Information Online data, including student context, schedules, grades, enrollment, account activity, and campus life through MCP tools.8-
- AlicenseAqualityCmaintenanceEnables querying SCAU dormitory electricity usage, balance, lifetime consumption, and cost calculations through read-only MCP tools.4MIT