eClass (UoA)
About
Integrates with Open eClass platform to enable course access and management through UoA's SSO authentication system, providing tools for login, course listing, and session handling
Details
- Author
- sdi2200262
- Repository
- sdi2200262/eclass-mcp-server
- GitHub stars
- 3
- License
- Other
- Categories
- Design, Developer Tools, AI, Frontend, Infrastructure
- Tags
- #integration
Jump to
- SSO Authentication: Log in through UoA's CAS SSO system
- Course Retrieval: Get list of enrolled courses
- Session Management: Persistent sessions between tool calls
- Status Checking: Verify authentication status
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
eClass (UoA)Command (node, npx, python, etc.)pythonArguments-
Argument 1
run_server.py
Environment-
ECLASS_URL
https://eclass.uoa.gr -
ECLASS_PASSWORD
your_password -
ECLASS_USERNAME
your_username -
ECLASS_SSO_DOMAIN
sso.uoa.gr -
ECLASS_SSO_PROTOCOL
https
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Create a .env file (or copy example.env):
ECLASS_USERNAME=your_username
ECLASS_PASSWORD=your_password
Optional settings:
ECLASS_URL=https://eclass.uoa.gr # Default
ECLASS_SSO_DOMAIN=sso.uoa.gr # Default
ECLASS_SSO_PROTOCOL=https # Default
To use this MCP server with Claude Desktop, VS Code, Cursor, or any MCP-compatible client, configure your client to run:
bashpython3 /absolute/path/to/eclass-mcp-server/run_server.py
Set the following environment variables in your client's MCP configuration:
json{
"env": {
"ECLASS_USERNAME": "your_username",
"ECLASS_PASSWORD": "your_password"
}
}
``
Optional environment variables:
-
ECLASS_URL - OpenEclass instance URL (default: https://eclass.uoa.gr)
- ECLASS_SSO_DOMAIN - SSO domain (default: sso.uoa.gr)
- ECLASS_SSO_PROTOCOL - SSO protocol (default: https`)
Refer to your specific client's documentation for how to add MCP servers to your configuration.
login
Authenticate using credentials from `.env`.
get_courses
Retrieve enrolled courses (requires login).
logout
End the current session.
authstatus
Check authentication status.
| Tool | Description |
|------|-------------|
| login | Authenticate using credentials from .env |
| get_courses | Retrieve enrolled courses (requires login) |
| logout | End the current session |
| authstatus | Check authentication status |
All tools use a dummy random_string parameter (MCP protocol requirement).
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"eclass (uoa)": {
"env": {
"ECLASS_URL": "https://eclass.uoa.gr",
"ECLASS_PASSWORD": "your_password",
"ECLASS_USERNAME": "your_username",
"ECLASS_SSO_DOMAIN": "sso.uoa.gr",
"ECLASS_SSO_PROTOCOL": "https"
},
"args": [
"run_server.py"
],
"command": "python"
}
}
}
Linux
{
"env": {
"ECLASS_URL": "https://eclass.uoa.gr",
"ECLASS_PASSWORD": "your_password",
"ECLASS_USERNAME": "your_username",
"ECLASS_SSO_DOMAIN": "sso.uoa.gr",
"ECLASS_SSO_PROTOCOL": "https"
},
"args": [
"run_server.py"
],
"command": "python"
}
Macos
{
"env": {
"ECLASS_URL": "https://eclass.uoa.gr",
"ECLASS_PASSWORD": "your_password",
"ECLASS_USERNAME": "your_username",
"ECLASS_SSO_DOMAIN": "sso.uoa.gr",
"ECLASS_SSO_PROTOCOL": "https"
},
"args": [
"run_server.py"
],
"command": "python"
}
Windows
{
"env": {
"ECLASS_URL": "https://eclass.uoa.gr",
"ECLASS_PASSWORD": "your_password",
"ECLASS_USERNAME": "your_username",
"ECLASS_SSO_DOMAIN": "sso.uoa.gr",
"ECLASS_SSO_PROTOCOL": "https"
},
"args": [
"run_server.py"
],
"command": "python"
}
eClass MCP Server
An MCP server for interacting with the Open eClass platform, with support for UoA's SSO authentication.
<p align="center">
<a href="https://github.com/modelcontextprotocol/python-sdk"></a>
<a href="https://www.gnu.org/licenses/gpl-3.0"></a>
</p>
<p align="center">

</p>
Features
- SSO Authentication: Log in through UoA's CAS SSO system
- Course Retrieval: Get list of enrolled courses
- Session Management: Persistent sessions between tool calls
- Status Checking: Verify authentication status
Quick Start
Prerequisites
- Python 3.10+
- uv (recommended) or pip
Installation
git clone https://github.com/sdi2200262/eclass-mcp-server.git
cd eclass-mcp-server
uv sync --dev --all-extras
Configuration
Create a .env file (or copy example.env):
ECLASS_USERNAME=your_username
ECLASS_PASSWORD=your_password
Optional settings:
ECLASS_URL=https://eclass.uoa.gr # Default
ECLASS_SSO_DOMAIN=sso.uoa.gr # Default
ECLASS_SSO_PROTOCOL=https # Default
Running
# Using the entry point script
python run_server.py
Or as a module
python -m src.eclass_mcp_server.server
MCP Client Configuration
To use this MCP server with Claude Desktop, VS Code, Cursor, or any MCP-compatible client, configure your client to run:
python3 /absolute/path/to/eclass-mcp-server/run_server.py
Set the following environment variables in your client's MCP configuration:
{
"env": {
"ECLASS_USERNAME": "your_username",
"ECLASS_PASSWORD": "your_password"
}
}
Optional environment variables:
- ECLASS_URL - OpenEclass instance URL (default: https://eclass.uoa.gr)
- ECLASS_SSO_DOMAIN - SSO domain (default: sso.uoa.gr)
- ECLASS_SSO_PROTOCOL - SSO protocol (default: https)
Refer to your specific client's documentation for how to add MCP servers to your configuration.
Available Tools
| Tool | Description |
|------|-------------|
| login | Authenticate using credentials from .env |
| get_courses | Retrieve enrolled courses (requires login) |
| logout | End the current session |
| authstatus | Check authentication status |
All tools use a dummy random_string parameter (MCP protocol requirement).
Standalone Client
For non-MCP usage, a standalone client is included:
python eclass_client.py
This demonstrates the core functionality without MCP integration. See docs/architecture.md for details.
Documentation
- Architecture - System design and authentication flow
- Wire Protocol - JSON-RPC message formats
- Tools Reference - Detailed tool documentation
Project Structure
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
Security
- Credentials are stored locally in .env only
- Never passed as tool parameters (preventing AI provider exposure)
- Sessions maintained in-memory only
- No cloud services or remote storage
License
GNU GPL v3.0 - This ensures transparency in credential handling.
Acknowledgments
- GUnet for the Open eClass platform
- This project is an independent interface, not affiliated with GUnet
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




