iGuat-MCP
Click on "Install 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., "@iGuat-MCPwhat's the current semester?"
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.
iGuat-MCP
A read-only MCP (Model Context Protocol) service for iGuihang campus data. Built on Python, FastMCP, and Streamable HTTP, it wraps timetable, class, and campus queries into standard tools callable by AI clients.
This project only provides query capabilities and does not modify the WeChat mini program or upstream academic data.
Features
Get the full term list, including the current and next term
Search classes by major, grade, and class keyword
Get the timetable for a specified class, term, and week
Query the timetable for a specified person, removing identity fields before returning
Infer the campus from major information
Built-in TTL timetable cache, concurrency limits, and health checks
Protect the MCP and admin APIs with a Bearer API Key
Support hot-updating the upstream token through the admin API
Support deployment via Docker, environment variables, and Docker Secrets
Related MCP server: gaokao-helper-worker-mcp
MCP Tools
Tool | Description |
| Get the full term list, including the current and next term |
| Get the current term |
| Search classes by criteria |
| Get the timetable for a specified class, term, and week |
| Query the timetable by name or student ID; identity fields are removed from the response |
| Infer the campus from major information |
Tech Stack
Python 3.11+
MCP / FastMCP
HTTPX
Uvicorn
Pytest
Docker
Quick Start
Run Locally
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.pyThe service listens on 0.0.0.0:8000 by default:
MCP:
http://127.0.0.1:8000/mcpHealth check:
http://127.0.0.1:8000/healthz
MCP client request headers:
Authorization: Bearer <MCP_PUBLIC_API_KEY>Docker
docker build -t iguat-mcp .
docker run --rm -p 8000:8000 --env-file .env iguat-mcpFor production, use the NAME_FILE form to load sensitive configuration from Docker Secrets or read-only files:
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-mcpConfiguration
Copy .env.example and set as needed:
Variable | Purpose |
| Upstream query token |
| Main API signing key |
| Class API signing key |
| CSM API signing key |
| Alumni API signing key |
| Site API signing key |
| MCP client access key |
| Admin API access key |
| Service listen address and port |
| Timetable cache TTL in seconds; set to |
| Maximum concurrency |
| Major class query limit |
| Whether to read system proxy and certificate environment variables |
Update Upstream Token
When the upstream token expires, admins can update the in-memory token without restarting the service:
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>"}'Testing
pip install -e ".[test]"
pytest -qSecurity Notes
Do not commit real tokens, signing keys, API Keys, or
.envto the repository.The service does not return tokens, signatures, or personally identifiable fields to MCP clients.
System proxy environment is not read by default; set
IGUAT_TRUST_ENV=1only if your deployment environment actually needs it.
Related Projects
Guihang Encyclopedia Query System: A campus knowledge base and intelligent Q&A system that integrates this MCP service.
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