Skip to main content
Glama

eClass MCP Server

An MCP server for interacting with the Open eClass platform, with support for UoA's SSO authentication.

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

Related MCP server: Google Classroom MCP Server

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

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 │ └── test/ # Test scripts └── 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

One-click Deploy
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

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/sdi2200262/eclass-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server