eclass
A Model Context Protocol (MCP) server for the Open eClass platform.
claude mcp add --transport stdio sdi2200262-eclass-mcp-server python run_server.py \ --env ECLASS_URL="https://eclass.uoa.gr" \ --env ECLASS_PASSWORD="your_password" \ --env ECLASS_USERNAME="your_username" \ --env ECLASS_SSO_DOMAIN="sso.uoa.gr" \ --env ECLASS_SSO_PROTOCOL="https"
How to use
This MCP server provides a Python-based interface to interact with the Open eClass platform via SSO authentication and course-related operations. The server exposes tools such as login, get_courses, logout, and authstatus to manage an authenticated session and fetch enrolled course data. To use it within an MCP client (e.g., Claude Desktop, VS Code, Cursor), configure the client to point at the local or remote run_server entry point and provide credentials through environment variables. The tools are designed to maintain state between calls, so once you login, subsequent calls can retrieve courses or check authentication status without re-authenticating each time.
How to install
Prerequisites:
- Python 3.10+
- uv (recommended) or pip for dependencies
Installation steps:
- Clone the repository: git clone https://github.com/sdi2200262/eclass-mcp-server.git
- Navigate into the project directory: cd eclass-mcp-server
- Install dependencies (using uv as the asynchronous engine):
uv sync --dev --all-extras
If you prefer pip-based setup, install requirements.txt if provided
- Create and configure environment variables (see Environment Variables below):
- ECLASS_USERNAME=your_username
- ECLASS_PASSWORD=your_password Optional:
- ECLASS_URL=https://eclass.uoa.gr
- ECLASS_SSO_DOMAIN=sso.uoa.gr
- ECLASS_SSO_PROTOCOL=https
- Run the MCP server: python run_server.py or python -m src.eclass_mcp_server.server
Note: For MCP clients, you may also run the server in a container or via other execution methods if you adapt the entry point accordingly.
Additional notes
Environment variables are stored in a local .env file and read by the server at startup. Credentials are kept locally and not sent as tool parameters. If you need to customize the Open eClass instance or SSO behavior, you can adjust optional environment variables (ECLASS_URL, ECLASS_SSO_DOMAIN, ECLASS_SSO_PROTOCOL). The server exposes the following tools: login (authenticate with credentials), get_courses (fetch enrolled courses after login), logout (end session), and authstatus (verify current authentication). There is also a standalone client (python eclass_client.py) for non-MCP usage to demonstrate core functionality without MCP integration.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP