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: gaokao-helper-worker-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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables querying academic data such as subjects, degrees, locations, and schedules from Universitat Jaume I via MCP tools.MIT
- FlicenseNot gradedqualityCmaintenanceProvides read-only access to Guangdong gaokao data, enabling searches for schools, scores, and data files via MCP.
- AlicenseNot gradedqualityBmaintenanceProvides MCP tools to read SJTU Canvas data, download course files, and access video/subtitle resources without authentication simulation.MIT
- FlicenseNot gradedqualityCmaintenanceEnables querying student information such as marks, attendance, pending assignments, and timetables from a MySQL database through MCP tools.
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Strayed2SE/iGuat-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server