Skip to main content
Glama

eClass MCP Server

Servidor MCP eClass

Características

  • Autenticación : Inicie sesión en eClass a través del sistema de autenticación CAS SSO de UoA
  • Gestión de cursos : recuperar listas de cursos inscritos
  • Gestión de sesiones : mantener sesiones autenticadas entre llamadas de herramientas
  • Comprobación de estado : verificar el estado de autenticación

Estructura del proyecto

Este proyecto sigue una arquitectura modular para una mejor mantenibilidad:

eclass-mcp-server/ ├── run_server.py # Entry point script for running the server ├── pyproject.toml # Project configuration and dependencies ├── .env # Environment variables (create from example.env) ├── src/ └── eclass_mcp_server/ # Main package ├── __init__.py # Package initialization ├── server.py # Core server implementation and tool handlers ├── authentication.py # Authentication functionality ├── course_management.py # Course-related functionality ├── html_parsing.py # HTML parsing utilities └── test/ # Test scripts for functionality verification ├── __init__.py ├── test_login.py ├── test_courses.py └── run_all_tests.py

Instalación

Instalar el servidor usando UV (recomendado):

# Clone the repository git clone https://github.com/yourusername/eClass-MCP-server.git cd eClass-MCP-server # Install dependencies uv sync --dev --all-extras

Alternativamente, instale con pip:

pip install -e .

Configuración

Cree un archivo .env en el directorio raíz con la siguiente configuración (o copie y cambie el nombre del archivo example.env proporcionado):

ECLASS_URL=https://eclass.uoa.gr ECLASS_USERNAME=your_username ECLASS_PASSWORD=your_password

Todas las credenciales deben proporcionarse en el archivo .env. El servidor no acepta credenciales como parámetros.

Uso

Terminal

Ejecute el servidor utilizando el script de punto de entrada:

python run_server.py

O como módulo:

python -m src.eclass_mcp_server.server

Cursor

Vaya a Configuración -> MCP. Haga clic en Add new MCP server .

  • Seleccione un nombre único pero apropiado para que el Agente sepa para qué sirve el servidor (por ejemplo, "eClass Server")
  • Seleccione la opción command en “Tipo”
  • Agregue esto en la entrada del comando: python /path/to/eclass-mcp-server/run_server.py

Este comando ejecuta el script run_server.py que conecta el cliente MCP con el punto de entrada del servidor principal en server.py .

Escritorio de Claude

Para utilizar con Claude Desktop:

  1. Abra Claude Desktop
  2. Vaya a Configuración > Servidor
  3. Agregue un nuevo servidor con los siguientes detalles:
    • Nombre: eClass MCP
    • Comando: Ruta a su script run_server.py
  4. Haga clic en Agregar servidor
  5. Selecciona el servidor del menú desplegable al chatear con Claude

Herramientas

El servidor proporciona las siguientes herramientas para su uso con clientes MCP:

acceso

Inicie sesión en eClass mediante la autenticación SSO.

{ "random_string": "any_value" }

obtener_cursos

Recuperar una lista de cursos inscritos (requiere iniciar sesión primero).

{ "random_string": "any_value" }

cerrar sesión

Cerrar sesión en eClass.

{ "random_string": "any_value" }

estado de autorización

Verifique el estado de autenticación actual.

{ "random_string": "any_value" }

Pruebas

El proyecto incluye scripts de prueba para verificar la funcionalidad:

# 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

Ejemplo de uso del cliente MCP

from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client import asyncio async def run_agent(): server_params = StdioServerParameters( command="python /path/to/eclass-mcp-server/run_server.py", ) async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: # Initialize the session await session.initialize() # Login to eClass login_result = await session.call_tool("login", { "random_string": "dummy" }) print(login_result) # Get courses courses_result = await session.call_tool("get_courses", { "random_string": "dummy" }) print(courses_result) # Logout logout_result = await session.call_tool("logout", { "random_string": "dummy" }) print(logout_result) if __name__ == "__main__": asyncio.run(run_agent())

Integración con agentes de IA

Este servidor MCP está diseñado para usarse con agentes de IA compatibles con el Protocolo de Contexto de Modelo. Esto permite que los sistemas de IA interactúen directamente con eClass, lo que permite capacidades como:

  • Recuperando información del curso
  • Consulta de anuncios de cursos
  • Acceso a los materiales del curso
  • Envío de tareas (función futura)

Consideraciones de seguridad

  • El servidor maneja credenciales de autenticación confidenciales
  • Las credenciales solo se utilizan para la autenticación y no se almacenan de forma persistente.
  • Las cookies de sesión se mantienen en la memoria durante el ciclo de vida del servidor.
  • El servidor valida el estado de la sesión antes de realizar operaciones
  • El archivo .env con credenciales nunca debe enviarse al control de versiones (está incluido en .gitignore)

Licencia

Licencia MIT

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor MCP que permite a los agentes de IA autenticarse e interactuar con las instancias de la plataforma Open eClass, respaldando el sistema de autenticación SSO de la UoA para recuperar información del curso y realizar operaciones básicas de la plataforma.

  1. Características
    1. Estructura del proyecto
      1. Instalación
        1. Configuración
          1. Uso
            1. Terminal
            2. Cursor
            3. Escritorio de Claude
          2. Herramientas
            1. acceso
            2. obtener\_cursos
            3. cerrar sesión
            4. estado de autorización
          3. Pruebas
            1. Ejemplo de uso del cliente MCP
              1. Integración con agentes de IA
                1. Consideraciones de seguridad
                  1. Licencia
                    1. Contribuyendo

                      Related MCP Servers

                      • -
                        security
                        F
                        license
                        -
                        quality
                        A personal MCP server for securely storing and accessing API keys across projects using the macOS Keychain, letting AI assistants and applications retrieve credentials through natural language.
                        Last updated -
                        10
                        TypeScript
                        • Apple
                      • -
                        security
                        F
                        license
                        -
                        quality
                        An MCP server that enables AI assistants to access and interact with Google Classroom data, allowing users to view courses, course details, and assignments through natural language commands.
                        Last updated -
                        508
                        1
                        JavaScript
                      • -
                        security
                        A
                        license
                        -
                        quality
                        An MCP server that enables AI assistants to control a web browser through natural language commands, allowing them to navigate websites and extract information via SSE transport.
                        Last updated -
                        505
                        Python
                        MIT License
                        • Apple
                      • -
                        security
                        -
                        license
                        -
                        quality
                        This MCP server provides tools to interact with the Salesforce Agentforce API, allowing authentication, session creation, and message exchange with Salesforce agents.
                        Last updated -
                        1
                        Python

                      View all related MCP servers

                      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