- Home
- MCP servers
- eClass
eClass
- python
8
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"sdi2200262-eclass-mcp-server": {
"command": "python",
"args": [
"run_server.py"
],
"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"
}
}
}
}You have an MCP Server that connects to the Open eClass platform, enabling AI agents to authenticate with the UoA SSO, fetch enrolled courses, manage sessions, and check authentication status locally on your machine. It provides a secure, in-memory session flow and is designed for seamless integration with MCP clients and AI assistants.
How to use
You will use an MCP client to interact with the eClass MCP Server. Start by running the server locally to establish an authenticated session. Use the available tools to log in via the university’s SSO, retrieve your course list, and manage your session state. The server maintains session data in memory, so you can perform a sequence of actions in one working session: authenticate, request information, and log out when you’re done.
How to install
Prerequisites you need before installation are Python 3.10 or higher and a local environment where you can run commands. The MCP Server requires Python 3.10+ to operate correctly.
Install dependencies and run the server using the recommended environment manager UV. Follow these steps exactly to set up and start the server.
# Clone the repository
git clone https://github.com/yourusername/eClass-MCP-server.git
cd eClass-MCP-server
# Install dependencies with UV (recommended)
uv sync --dev --all-extras
If you prefer to install with pip, use the editable install approach suitable for Python 3.10+ environments.
# Using Python 3.10+ compatible environment
python3.11 -m pip install -e .
# Or if python3 points to 3.10
pip install -e .
Configuration
Prepare your environment by creating a .env file in the project root with the required credentials for eClass access. The server expects these credentials to be supplied securely on your machine.
ECLASS_URL=https://eclass.uoa.gr
ECLASS_USERNAME=your_username
ECLASS_PASSWORD=your_password
Starting and using the server with an MCP client
To run the server from your terminal, execute the entry point script directly or run it as a module. This starts the local MCP server process that your MCP clients can connect to.
# Run the server directly
python run_server.py
# Or run as a module
python -m src.eclass_mcp_server.server
Notes for Cursor and Claude Desktop users
If you are integrating with Cursor, add a new global MCP server with the full absolute path to your Python interpreter and the absolute path to the run_server.py script. Ensure you point to Python 3.10+ and provide the exact path to the script.
For Claude Desktop, configure a server entry pointing to the run_server.py script so Claude can communicate with the MCP server during chats.
Testing and verification
Run the test suite to verify authentication flow and course retrieval works as expected in your environment.
# Run all tests
python -m src.eclass_mcp_server.test.run_all_tests
# Run specific tests
python -m src.eclass_mcp_server.test.test_login
python -m src.eclass_mcp_server.test.test_courses
Security and best practices
This server is designed to run locally with in-memory sessions and environment-based credentials. Do not expose credentials or run the server on untrusted machines. Store credentials in the local .env file and avoid passing real credentials through tools or AI clients.
Available tools
login
Authenticate using credentials from the local environment or configuration file to establish a session.
get_courses
Retrieve the list of courses the authenticated user is enrolled in.
logout
End the current MCP session and clear the in-memory state.
authstatus
Check whether a user is currently authenticated and active in the session.