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
F
license - not found
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
                        A
                        license
                        -
                        quality
                        A simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.
                        Last updated -
                        33
                        Python
                        MIT License
                        • Apple
                      • -
                        security
                        A
                        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 -
                        776
                        1
                        JavaScript
                        MIT License
                      • -
                        security
                        F
                        license
                        -
                        quality
                        An auto-generated MCP server that enables interaction with the OpenAI API, allowing users to access OpenAI's models and capabilities through the Multi-Agent Conversation Protocol.
                        Last updated -
                        Python
                      • A
                        security
                        A
                        license
                        A
                        quality
                        An MCP server that enables AI applications to access 20+ model providers (including OpenAI, Anthropic, Google) through a unified interface for text and image generation.
                        Last updated -
                        2
                        12
                        Python
                        MIT License

                      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