mcpField
E
eClass MCP Server

eClass MCP Server

Local
github.com/sdi2200262Science & Education8Updated 26w ago

About eClass MCP Server

eClass MCP Server connects MCP clients to the Open eClass platform, including UoA CAS SSO authentication and enrolled-course retrieval. It maintains sessions between tool calls and keeps credentials locally rather than passing them as tool parameters.

Key features

  1. 01Authenticate through UoA CAS SSO
  2. 02Retrieve enrolled courses
  3. 03Maintain sessions between tool calls
  4. 04Check authentication status
  5. 05Log out of a session

Use cases

  1. 01Sign in to Open eClass with UoA credentials
  2. 02Review enrolled courses
  3. 03Check or end an active session

MCP support

Provides login, course retrieval, logout, and authentication-status tools to MCP-compatible clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

eClass MCP Server

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

MCP Protocol License: GPL v3 Python: 3.10+

Example Usage

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

ToolDescription
loginAuthenticate using credentials from .env
get_coursesRetrieve enrolled courses (requires login)
logoutEnd the current session
authstatusCheck 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
└── 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.