iGuat-MCP
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., "@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: MCP Student Assistant
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 deployed
Maintenance
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
MCP server providing attendance data queries via the CloudTime API.
Free, read-only MCP subset of x402 Toolbox's cheap data endpoints, free via MCP.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides read-only access to Guangdong gaokao data, enabling searches for schools, scores, and data files via MCP.-
- FlicenseNot gradedqualityCmaintenanceEnables querying student information such as marks, attendance, pending assignments, and timetables from a MySQL database through MCP tools.-
- 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-