iGuat-MCP
iGuat-MCP
i桂航 캠퍼스 데이터를 위한 읽기 전용 MCP(Model Context Protocol) 서비스입니다. 이 프로젝트는 Python, FastMCP 및 Streamable HTTP를 기반으로 하며, 강의 시간표, 학급 및 캠퍼스 조회를 AI 클라이언트가 호출할 수 있는 표준 도구로 캡슐화합니다.
이 프로젝트는 조회 기능만 제공하며, WeChat 미니프로그램이나 상위教务 데이터를 수정하지 않습니다.
기능
전체 학기 목록, 현재 학기 및 다음 학기 가져오기
전공, 학년 및 학급 키워드로 학급 검색
지정된 학급, 학기 및 주차의 강의 시간표 조회
지정된 인원의 강의 시간표 조회 및 반환 전 신원 필드 제거
전공 정보를 기반으로 소속 캠퍼스 추론
내장 TTL 강의 시간표 캐시, 동시성 제한 및 상태 확인
Bearer API Key로 MCP 및 관리자 인터페이스 보호
관리자 인터페이스를 통한 상위 토큰 핫 업데이트 지원
Docker, 환경 변수 및 Docker Secrets 배포 지원
Related MCP server: gaokao-helper-worker-mcp
MCP 도구
도구 | 설명 |
| 현재 및 다음 학기를 포함한 전체 학기 목록 가져오기 |
| 현재 학기 가져오기 |
| 조건에 따라 학급 검색 |
| 지정된 학급, 학기 및 주차의 강의 시간표 가져오기 |
| 이름 또는 학번으로 강의 시간표 조회, 응답에서 신원 필드 제거 |
| 전공 정보를 기반으로 캠퍼스 추론 |
기술 스택
Python 3.11+
MCP / FastMCP
HTTPX
Uvicorn
Pytest
Docker
빠른 시작
로컬 실행
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.py서비스는 기본적으로 0.0.0.0:8000에서 수신 대기합니다:
MCP:
http://127.0.0.1:8000/mcp상태 확인:
http://127.0.0.1:8000/healthz
MCP 클라이언트 요청 헤더:
Authorization: Bearer <MCP_PUBLIC_API_KEY>Docker
docker build -t iguat-mcp .
docker run --rm -p 8000:8000 --env-file .env iguat-mcp프로덕션 환경에서는 NAME_FILE 형식을 사용하여 Docker Secrets 또는 읽기 전용 파일에서 민감한 구성을 로드하는 것이 좋습니다:
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-mcp구성
.env.example을 복사하고 필요에 따라 설정하세요:
변수 | 용도 |
| 상위 조회 토큰 |
| 메인 인터페이스 서명 키 |
| 학급 인터페이스 서명 키 |
| CSM 인터페이스 서명 키 |
| 동문 인터페이스 서명 키 |
| 사이트 인터페이스 서명 키 |
| MCP 클라이언트 액세스 키 |
| 관리자 인터페이스 액세스 키 |
| 서비스 수신 주소 및 포트 |
| 강의 시간표 캐시 초, |
| 최대 동시성 수 |
| 전공 학급 조회 상한 |
| 시스템 프록시 및 인증서 환경 변수 읽기 여부 |
상위 토큰 업데이트
상위 토큰이 만료된 경우, 관리자는 서비스를 재시작하지 않고 메모리의 토큰을 업데이트할 수 있습니다:
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>"}'테스트
pip install -e ".[test]"
pytest -q보안 참고 사항
실제 토큰, 서명 키, API Key 또는
.env를 저장소에 커밋하지 마세요.서비스는 토큰, 서명 또는 개인 신원 필드를 MCP 클라이언트에 반환하지 않습니다.
기본적으로 시스템 프록시 환경을 읽지 않습니다. 배포 환경에서 실제로 필요한 경우에만
IGUAT_TRUST_ENV=1을 설정하세요.
관련 프로젝트
桂航百科查询系统: 이 MCP 서비스를 통합한 캠퍼스 지식 베이스 및 지능형 Q&A 시스템.
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