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