iGuat-MCP
iGuat-MCP
Сервис MCP (Model Context Protocol) только для чтения, предназначенный для данных кампуса i桂航. Проект основан на Python, FastMCP и Streamable HTTP и предоставляет запросы расписания, классов и кампусов в виде стандартных инструментов, доступных для вызова AI-клиентами.
Этот проект предоставляет только возможности запроса и не изменяет данные мини-программы WeChat или вышестоящей учебной системы.
Возможности
Получение полного списка семестров, текущего и следующего семестра
Поиск классов по специальности, курсу и ключевому слову класса
Запрос расписания для указанного класса, семестра и недели
Запрос расписания для указанного лица с удалением полей идентификации перед возвратом
Определение кампуса на основе информации о специальности
Встроенный TTL-кэш расписания, ограничение параллелизма и проверка работоспособности
Защита MCP и административных интерфейсов с помощью Bearer API Key
Поддержка горячего обновления вышестоящего токена через административный интерфейс
Поддержка развертывания через Docker, переменные окружения и Docker Secrets
Related MCP server: sanxiao-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-ключи или
.envв репозиторий.Сервис не возвращает токены, подписи или поля личной идентификации MCP-клиентам.
По умолчанию переменные системного прокси не читаются; устанавливайте
IGUAT_TRUST_ENV=1только если это действительно необходимо в среде развертывания.
Связанные проекты
桂航百科查询系统: база знаний кампуса и система интеллектуальных ответов на вопросы, интегрирующая этот MCP-сервис.
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