eClass MCP Server について
eClass MCP Server は MCP クライアントを Open eClass に接続し、UoA CAS SSO 認証と履修中のコース取得に対応します。ツール呼び出し間でセッションを維持し、認証情報はツール引数に含めずローカルに保存します。
主な機能
- 01UoA CAS SSO による認証
- 02履修中のコース取得
- 03ツール呼び出し間のセッション維持
- 04認証状態の確認
- 05セッションからのログアウト
活用シーン
- 01UoA の認証情報で Open eClass にログイン
- 02履修中コースの確認
- 03アクティブなセッションの確認または終了
MCP 対応
MCP 対応クライアントに、ログイン、コース取得、ログアウト、認証状態確認のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
eClass MCP サーバー
UoA の SSO 認証に対応した、Open eClass プラットフォームと連携する MCP サーバーです。
機能
- SSO 認証:UoA の CAS SSO システムを通じてログインします
- コースの取得:登録済みコースの一覧を取得します
- セッション管理:ツール呼び出し間でセッションを維持します
- ステータス確認:認証状態を確認します
クイックスタート
前提条件
- Python 3.10+
- uv(推奨)または pip
インストール
git clone https://github.com/sdi2200262/eclass-mcp-server.git
cd eclass-mcp-server
uv sync --dev --all-extras
設定
.env ファイルを作成します(または example.env をコピーします)。
ECLASS_USERNAME=your_username
ECLASS_PASSWORD=your_password
任意の設定:
ECLASS_URL=https://eclass.uoa.gr # Default
ECLASS_SSO_DOMAIN=sso.uoa.gr # Default
ECLASS_SSO_PROTOCOL=https # Default
実行
# Using the entry point script
python run_server.py
# Or as a module
python -m src.eclass_mcp_server.server
MCP クライアントの設定
この MCP サーバーを Claude Desktop、VS Code、Cursor、または MCP 対応クライアントで使用するには、次のコマンドを実行するようにクライアントを設定します。
python3 /absolute/path/to/eclass-mcp-server/run_server.py
クライアントの MCP 設定で、次の環境変数を設定します。
{
"env": {
"ECLASS_USERNAME": "your_username",
"ECLASS_PASSWORD": "your_password"
}
}
任意の環境変数:
ECLASS_URL- OpenEclass インスタンスの URL(デフォルト:https://eclass.uoa.gr)ECLASS_SSO_DOMAIN- SSO ドメイン(デフォルト:sso.uoa.gr)ECLASS_SSO_PROTOCOL- SSO プロトコル(デフォルト:https)
MCP サーバーを設定に追加する方法については、使用するクライアントのドキュメントを参照してください。
利用可能なツール
| ツール | 説明 |
|---|---|
login | .env の認証情報を使って認証します |
get_courses | 登録済みコースを取得します(ログインが必要です) |
logout | 現在のセッションを終了します |
authstatus | 認証状態を確認します |
すべてのツールでは、ダミーの random_string パラメーターを使用します(MCP プロトコルの要件です)。
スタンドアロンクライアント
MCP を使用しない場合に備えて、スタンドアロンクライアントが含まれています。
python eclass_client.py
これは、MCP との統合なしで中核機能を実演します。詳細は docs/architecture.md を参照してください。
ドキュメント
プロジェクト構成
eclass-mcp-server/
├── run_server.py # Entry point
├── eclass_client.py # Standalone client (non-MCP)
├── src/eclass_mcp_server/ # Main package
│ ├── server.py # MCP server and tool handlers
│ ├── authentication.py # SSO authentication
│ ├── course_management.py # Course operations
│ └── html_parsing.py # HTML parsing utilities
└── docs/ # Documentation
セキュリティ
- 認証情報は
.envのみにローカル保存されます - ツールのパラメーターとして渡されることはありません(AI プロバイダーへの露出を防ぎます)
- セッションはメモリー内のみに保持されます
- クラウドサービスやリモートストレージは使用しません
ライセンス
GNU GPL v3.0 - 認証情報の取り扱いにおける透明性を確保します。
謝辞
- Open eClass プラットフォームを提供する GUnet に感謝します
- このプロジェクトは独立したインターフェースであり、GUnet とは提携していません
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。