Skip to main content
Glama

UniMCP: el puente entre tu agente y los sistemas de tu universidad

Este es un Model Context Protocol server NO OFICIAL para universidades argentinas. Con él podés pedirle a tu agente (Claude, ChatGPT, etc.) que lea los apuntes del aula virtual (Moodle) y consulte tu SIU Guaraní y, con tu confirmación, que publique en los foros o entregue tareas. Corre en tu computadora o como servidor HTTP con OAuth.

Qué podés pedirle

  • "¿Cuándo es el recuperatorio del primer parcial de Álgebra?"

  • "¿Qué avisó la profesora de Física esta semana?"

  • "Resumime la guía de la unidad 3 de Sistemas Operativos."

  • "¿Qué nota me pusieron en el TP1 y qué me corrigieron?"

  • "¿Qué finales tengo aprobados y cuál es mi promedio?" (Guaraní)

  • "¿En qué materias estoy inscripto este cuatrimestre?" (Guaraní)

  • "¿Qué mesas de examen hay para Análisis II?" (Guaraní)

Related MCP server: moodle-mcp

Universidades y campus

Id

Universidad

Campus

Aula (Moodle)

Guaraní

unju

UNJu

Universidad Nacional de Jujuy

virtual.unju.edu.ar

alumnos.unju.edu.ar

unsa-exactas

UNSa

Facultad de Ciencias Exactas

exavirtual.unsa.edu.ar

autogestiong3.unsa.edu.ar

unsa-salud

UNSa

Facultad de Ciencias de la Salud

saludvirtual.unsa.edu.ar

autogestiong3.unsa.edu.ar

unsa

UNSa

Otras facultades

—

autogestiong3.unsa.edu.ar

unt-facet

UNT

FACET

facetvirtual.facet.unt.edu.ar

guarani.unt.edu.ar

unt-face

UNT

Ciencias Económicas

campus2.unt.edu.ar

guarani.unt.edu.ar

unt-filo

UNT

Filosofía y Letras

campus.filo.unt.edu.ar

guarani.unt.edu.ar

unt

UNT

Otras facultades

—

guarani.unt.edu.ar

uba-fiuba

UBA

Ingeniería (FIUBA)

campusgrado.fi.uba.ar

guaraniautogestion.fi.uba.ar

uba-exactas

UBA

Ciencias Exactas y Naturales

campus.exactas.uba.ar (SSO idEx)

inscripciones.exactas.uba.ar

utn-frba

UTN

Regional Buenos Aires

aulasvirtuales.frba.utn.edu.ar (SSO)

—

utn-frt

UTN

Regional Tucumán

frt.cvg.utn.edu.ar

—

Cada aula se verificó con tool_mobile_get_public_config (el servicio móvil de Moodle tiene que estar habilitado) y cada Guaraní con su página de login de autogestión. Falta probarlos con usuarios reales: si probás el tuyo, contanos cómo te fue.

Sumar tu campus

Si el tuyo no está, podés usarlo igual con variables de entorno (o un .env, ver .env.example):

UNI_AULA_BASE_URL=https://virtual.tu-universidad.edu.ar
UNI_GUARANI_URL=https://autogestion.tu-universidad.edu.ar/autogestion
# UNI_SSO_HOST=sso.tu-universidad.edu.ar   # solo si el aula entra por Keycloak

y en el login elegís personalizado. Para sumarlo para todos, agregá una entrada en CAMPUSES de src/shared/campus.ts. Para saber si un Moodle sirve:

curl -s -X POST "https://TU-AULA/lib/ajax/service-nologin.php?info=tool_mobile_get_public_config" \
  -H 'content-type: application/json' -d '[{"index":0,"methodname":"tool_mobile_get_public_config","args":{}}]'

Tiene que contestar "enablemobilewebservice":1. Si trae identityproviders, el login pasa por un SSO y hay que cargar su host en ssoHost.

Tools

Aula virtual (Moodle)

Tool

Qué hace

aula_list_courses

Lista tus cursos. Es el punto de partida.

aula_open

Entra a un curso, una sección, un módulo, un foro o una discusión. Cada respuesta trae las direcciones de lo que hay adentro y de un nivel más arriba, así el agente navega sin perderse. Un curso grande llega como índice de secciones con sus actividades, y cada sección se abre aparte.

aula_search

Busca palabras en uno o en todos tus cursos: secciones, módulos, nombres de archivo y discusiones de los foros. Sirve cuando no sabés en qué materia está algo.

aula_read_file

Lee un archivo del aula, por partes cuando es largo.

aula_get_site_info

Datos de tu usuario en el aula virtual.

aula_forum_post

Abre un hilo en un foro o responde en una discusión.

aula_forum_edit_post

Edita una publicación tuya.

aula_forum_delete_post

Borra una publicación tuya.

aula_assign_submit

Entrega una tarea: sube archivos de tu compu, escribe el texto en línea y confirma el envío.

aula_assign_upload_link

Solo en modo HTTP: un link para subir los archivos de una entrega.

aula_choice_answer

Responde una elección o te anota en un grupo.

aula_send_message

Manda un mensaje privado a un docente o compañero.

aula_calendar_add_event

Agrega un recordatorio a tu calendario del aula.

SIU Guaraní (autogestión, G3W)

Tool

Qué hace

guarani_menu

Lista las operaciones que tu universidad habilitó (historia académica, plan, inscripciones, mesas…) con su dirección.

guarani_open

Abre una página de Guaraní y la devuelve como texto, con las tablas fila por fila, los avisos y los enlaces a otras páginas.

Guaraní no tiene API: el servidor entra con tu usuario y lee las páginas como lo harías vos. Por ahora solo lee: para inscribirte, el agente te pasa el link. Las tools solo aparecen si tu campus tiene esa plataforma.

Cómo instalar

Necesitás Node.js 20 o superior.

1. Iniciar sesión

npx -y unimcp login

Elegís tu campus de la lista, y te pide el usuario y la contraseña del aula y después los de Guaraní (que suele ser tu DNI). Se hace una sola vez: después el servidor renueva las sesiones solo.

2. Agregarlo a tu cliente

Claude Code

claude mcp add uni -- npx -y unimcp

Claude Desktop: en Settings → Developer → Edit Config, dentro de mcpServers:

"uni": {
  "command": "npx",
  "args": ["-y", "unimcp"]
}

En Windows, si no arranca, usá "command": "cmd" y "args": ["/c", "npx", "-y", "unimcp"].

Codex: codex mcp add uni -- npx -y unimcp · Gemini CLI: gemini mcp add uni npx -y unimcp

Cursor (~/.cursor/mcp.json) y VS Code (.vscode/mcp.json): un servidor STDIO con "command": "npx" y "args": ["-y", "unimcp"].

Cualquier cliente MCP que lance servidores por STDIO sirve con npx -y unimcp.

Modo HTTP (opcional)

Necesita Node 22.13 o más nuevo:

npx -y unimcp login --http   # una vez: te muestra el token para el header Authorization
npx -y unimcp --http --port 3000

Hosteado, el servidor también hace de servidor de autorización OAuth: el cliente MCP abre una página donde el alumno elige su campus y entra con su usuario del aula. La contraseña se usa una sola vez y no se guarda. La configuración (quién puede entrar, URL pública, clave de cifrado) está en .env.example, con las variables UNIMCP_*.

En modo HTTP SIU Guaraní todavía no está disponible: su sesión vence en minutos y renovarla necesita la contraseña, que el servidor hosteado no guarda.

Con Docker:

docker build -t unimcp .
docker run -d --name unimcp --network host --restart unless-stopped \
  -e HOST=127.0.0.1 -e PORT=8100 -e UNIMCP_PUBLIC_URL=https://mcp.tu-dominio.com \
  -e UNIMCP_KEY=$(openssl rand -base64 32) -v unimcp-data:/data unimcp

Dónde se guardan tus datos

Instalado en tu computadora, todo queda ahí:

  • Usuarios y contraseñas (aula y Guaraní): en el gestor de credenciales del sistema (Windows Credential Manager, Keychain en macOS, Secret Service en Linux). Sin gestor, por variables de entorno: UNI_USER/UNI_PASS y UNI_GUARANI_USER/UNI_GUARANI_PASS.

  • Campus elegido, token del aula y cookies de sesión: en %APPDATA%\unimcp\ (Windows) o ~/.config/unimcp/ (Linux y macOS).

  • En modo HTTP: la contraseña no se guarda; la sesión va cifrada en unimcp.db, con la clave de store.key (o la de UNIMCP_KEY). Del token del cliente solo se guarda el hash.

Los links que el agente te pasa abren con la sesión de tu navegador y nunca incluyen tu token.

Desarrollo

npm install
npm run login   # una vez
npm run dev     # servidor por STDIO desde src/, con tsx
npm run build   # compila a build/

Aviso

Este proyecto no está afiliado ni avalado por ninguna universidad ni por el SIU. Usalo bajo tu responsabilidad.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables agents to interact with a university Moodle LMS via MCP, surfacing deadlines hidden inside course documents along with grades, assignments, and submission capabilities.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides read-only access to a university's Moodle virtual campus, letting an AI assistant browse courses, sections and files, check upcoming deadlines, view assignment status and grades, and read forum announcements and threads. Authentication uses a Moodle token stored locally, with support for both undergraduate and postgraduate campus URLs.
    8
    MIT