Skip to main content
Glama

Omnivox MCP

Un servidor MCP que expone los portales de estudiantes de colegios de Quebec (Omnivox/Lea) a través de herramientas MCP y una puerta de enlace de herramientas REST.

Ejecuta un navegador Puppeteer persistente con sesión iniciada en Omnivox, realizando solicitudes a través del propio JavaScript del sitio, por lo que la autenticación de desafío-respuesta, las cookies y la codificación se manejan de forma nativa.

Características

  • 30 herramientas MCP — cursos, calificaciones, horario, calendario, mensajería (MIO), documentos, tareas, noticias del colegio

  • Dos modos de transporte — HTTP (predeterminado, servidor Express con MCP sobre HTTP + puerta de enlace de herramientas REST) o stdio (obsoleto, no recomendado)

  • Puerta de enlace de herramientas REST — todas las herramientas MCP expuestas como endpoints HTTP simples para agentes no MCP

  • Descargas de archivos — binarios directos o enlaces temporales compatibles con navegador (TTL de 15 min)

  • Mensajería interna — leer, buscar, enviar, marcar, mover y eliminar mensajes MIO

  • Sesión persistente — el perfil de Chrome sobrevive a los reinicios, sin inicios de sesión repetidos

Related MCP server: Canvas MCP Server

Inicio rápido

# 1. Clone and install
git clone https://github.com/Beat-YT/omnivox-mcp.git
cd omnivox-mcp
npm install

# 2. Authenticate (first time only)
cd omnivox-connection
npm install && npm start
# Log in through the Electron window, save the data files

# 3. Start the server
cd ..
npm start              # HTTP mode (default) — Express server on port 3000
npm run start:stdio    # stdio mode (deprecated, not recommended)

Modo HTTP (predeterminado): Inicia un servidor Express con MCP sobre HTTP en /mcp?key=... y una puerta de enlace de herramientas REST. La clave de acceso se genera automáticamente en ~/.omnivox/accessKey.txt.

Modo stdio (obsoleto, no recomendado): El cliente MCP inicia el servidor como subproceso y se comunica a través de stdin/stdout. Sin servidor Express, sin necesidad de clave de acceso.

Cada instancia sirve una cuenta de Omnivox. El servidor mantiene una única sesión de navegador vinculada a la cuenta con la que iniciaste sesión.

Reautenticación

Si tu sesión caduca o necesitas iniciar sesión con otra cuenta, restablece los datos de la sesión y vuelve a ejecutar la aplicación Electron:

npm run reset
cd omnivox-connection && npm start
# Log in, wait for the success dialog, then close the window
cd .. && npm start

npm run reset elimina ~/.omnivox/browser/, cookies.json y config.json para que el servidor se inicie desde cero en el próximo lanzamiento.

Configuración

Establece estas variables de entorno o en un archivo .env en la raíz del proyecto:

Variable

Predeterminado

Descripción

PORT

3000

Puerto del servidor

OMNIVOX_DATA_DIR

~/.omnivox

Directorio de datos para configuración, cookies, perfil del navegador y clave de acceso

MCP_SERVER_URL

(ninguno)

Opcional. URL base pública que permite la generación de enlaces de descarga (get-document-link / get-assignment-file-link). Establézcala en su dominio público (p. ej. https://omnivox.example.com).

BROWSER_SLEEP

false

Cuando es true, el navegador se cierra después de 5 minutos de inactividad y se relanza en la siguiente solicitud. Ahorra memoria a costa de un retraso de arranque en frío.

Uso

MCP (para asistentes de IA)

Modo stdio (obsoleto, no recomendado): Añade el servidor a la configuración de tu cliente MCP: lo lanza como subproceso. Usa npm run start:stdio. Consulta AGENT_SETUP.md para la configuración de conexión.

Modo HTTP: Conecta tu cliente MCP a http://localhost:3000/mcp?key=YOUR_KEY mediante el transporte HTTP Streamable.

En cualquier caso, la IA obtiene acceso a las 30 herramientas — pregúntale sobre tus calificaciones, horario, tareas o mensajes en lenguaje natural.

Puerta de enlace de herramientas REST (modo HTTP)

Para agentes o aplicaciones que no admiten MCP, todas las herramientas se exponen como endpoints HTTP simples:

# List all available tools
curl http://localhost:3000/tools -H "x-mcp-auth: YOUR_KEY"

# Get your courses
curl -X POST http://localhost:3000/tools/get-courses-summary \
  -H "x-mcp-auth: YOUR_KEY" -d '{}'

# Check your grades
curl -X POST http://localhost:3000/tools/get-grades-summary \
  -H "x-mcp-auth: YOUR_KEY" -d '{}'

# Read your inbox
curl -X POST http://localhost:3000/tools/get-mio-messages \
  -H "x-mcp-auth: YOUR_KEY" -d '{}'

El endpoint de herramientas acepta cuerpos JSON independientemente de la cabecera Content-Type — no es necesario establecerla explícitamente.

Proxy de Omnivox (modo HTTP)

El servidor expone un proxy de paso en /Mobl/* que reenvía solicitudes directamente a la API móvil de Omnivox a través de la sesión de navegador autenticada. Se admite cualquier método HTTP y tipo de contenido.

# Example: hit an Omnivox mobile API endpoint directly
curl http://localhost:3000/Mobl/some/endpoint \
  -H "x-mcp-auth: YOUR_KEY" -H "Content-Type: application/json" -d '{}'

Esto es útil cuando necesitas llamar a un endpoint de Omnivox que no está envuelto por una herramienta MCP.

Crea tus propios proyectos

La puerta de enlace de herramientas REST no es solo para IA — es una API completa de Omnivox que puedes usar en cualquier proyecto:

  • Panel de calificaciones — lleva tus calificaciones a una aplicación web personalizada o una hoja de cálculo

  • Widget de horario — muestra tu horario semanal en una pantalla de inicio o widget de escritorio

  • Seguimiento de tareas — crea notificaciones para nuevas tareas o próximas fechas límite

  • Bot de Discord/Slack — recibe notificaciones cuando lleguen nuevas calificaciones o mensajes

  • Aplicación móvil — crea un cliente Omnivox personalizado solo con las funciones que te interesan

  • Exportación de datos — archiva tus calificaciones, documentos y mensajes para tu propio registro

Cualquier lenguaje que pueda hacer solicitudes HTTP funciona — Python, JavaScript, Swift, Kotlin, Go, lo que prefieras. Usa GET /tools para descubrir todas las herramientas disponibles y sus esquemas de entrada.

Documentación

Consulta la Wiki para obtener la documentación completa:

¿Es seguro?

Nunca vemos tu contraseña ni tus datos. Todo se ejecuta localmente en tu máquina (o en tu propio servidor):

  • Inicias sesión tú mismo a través de la aplicación Electron: tu contraseña de Omnivox se introduce directamente en la página de inicio de sesión oficial de Omnivox. Este proyecto nunca solicita, almacena ni transmite tu contraseña.

  • Sin servidores externos. El servidor MCP se ejecuta completamente en tu máquina. Tus datos nunca pasan por ningún servicio de terceros: todas las solicitudes van directamente entre tu servidor y Omnivox.

  • La sesión permanece local. La sesión del navegador y las cookies se almacenan en ~/.omnivox/ en tu disco. Solo tú tienes acceso a ellas.

  • Código abierto. Todo el código fuente está aquí para que lo inspecciones. No hay llamadas de red ocultas, análisis ni telemetría.

Buenas prácticas de seguridad

  • Nunca expongas el servidor sin HTTPS. Usa un proxy inverso (p. ej. Nginx) con TLS. Consulta la wiki de Configuración para ver un ejemplo de configuración.

  • Mantén ~/.omnivox/ privado. Contiene tu sesión de Omnivox y tu clave de acceso. Trata accessKey.txt como una contraseña: no la compartas con nadie.

  • Consulta Precauciones de seguridad para más detalles.

Este proyecto no es oficial y no está afiliado, respaldado ni asociado con Skytech Communications, Omnivox ni ningún colegio de Quebec. Se proporciona tal cual solo para uso personal y educativo. Úsalo bajo tu propio riesgo: los autores no son responsables de las consecuencias derivadas de su uso, incluidas, entre otras, restricciones de cuenta, pérdida de datos o violaciones de los términos de servicio de tu institución.

Licencia

ISC

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
5moRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Official MCP server for OmniDimension. Drive voice agents, dispatch calls, and run bulk campaigns.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

View all MCP Connectors

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/Beat-YT/omnivox-mcp'

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