siu-guarani-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@siu-guarani-mcplist my teaching periods"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
siu-guarani-mcp
CLI y servidor MCP para consultar SIU Guaraní Autogestión desde el perfil Docente.
El proyecto está pensado para automatizar consultas docentes de Guaraní sin depender de una instalación institucional específica. Por defecto apunta a Autogestión UNR, pero puede usarse con otras instalaciones configurando GUARANI_BASE_URL.
Proyecto no oficial. No está afiliado, avalado ni mantenido por SIU, UNR ni ninguna universidad. Usalo respetando las políticas de tu institución y las credenciales de una cuenta propia.
Estado
Funcional para consultas read-only probadas sobre el perfil Docente:
períodos lectivos visibles en
zona_clasescursadas/comisiones del docente desde
zona_clasesmesas de examen desde
zona_examenesagenda de exámenes desde
agenda_examenesexploración estructural de páginas detalle, como
zona_clases/home/<hash>yzona_examenes/home/<hash>
También expone herramientas MCP por stdio y puede empaquetarse como Agent Plugin v1.0.0.
Related MCP server: zyta-expedientes-mcp
Requisitos
Python 3.12+
Credenciales válidas de SIU Guaraní con perfil
Docente
Instalación local
git clone https://github.com/jpmanson/siu-guarani-mcp.git
cd siu-guarani-mcp
uv syncSi todavía no está publicado en GitHub, clonar desde tu copia local o inicializar el repo normalmente.
Configuración
Copiá el ejemplo y completá tus credenciales:
cp .env.example .envGUARANI_BASE_URL="https://autogestion-guarani.unr.edu.ar/"
GUARANI_USER="tu_usuario"
GUARANI_PASSWORD="tu_password"Variables:
Variable | Requerida | Descripción |
| No | URL base de la instalación Guaraní. Si se omite, usa |
| Sí | Usuario de SIU Guaraní. |
| Sí | Contraseña de SIU Guaraní. |
GUARANI_BASE_URL se normaliza con / final. El .env está ignorado por git.
Uso CLI
Validar login y perfil docente:
uv run siu-guarani-mcp login-check --jsonListar períodos lectivos:
uv run siu-guarani-mcp periodos --jsonListar cursadas/comisiones del docente:
uv run siu-guarani-mcp cursadas --jsonListar mesas de examen operables:
uv run siu-guarani-mcp mesas --jsonPor defecto usa un rango amplio (-90/+180 días) para no depender del rango corto de SIU. Se puede acotar --desde / --hasta en formato dd/mm/aaaa o ISO (YYYY-MM-DD, incluyendo datetime YYYY-MM-DDTHH:MM:SSZ):
uv run siu-guarani-mcp mesas --desde 2026-07-15 --hasta 2026-08-10 --json
uv run siu-guarani-mcp mesas --desde 15/07/2026 --hasta 10/08/2026 --jsonResolver los enlaces operativos de una cursada desde una sola URL:
uv run siu-guarani-mcp resolver-cursada "https://autogestion-guarani.unr.edu.ar/zona_clases/home/<hash>" --json
uv run siu-guarani-mcp resolver-cursada "https://autogestion-guarani.unr.edu.ar/zona_comisiones/home/<hash>" --jsonListar inscriptos de una comisión desde una sola URL:
uv run siu-guarani-mcp inscriptos-cursada "https://autogestion-guarani.unr.edu.ar/zona_comisiones/home/<hash>" --jsonDetalle de una cursada (clases por categoría) y de una mesa:
uv run siu-guarani-mcp detalle-cursada "https://autogestion-guarani.unr.edu.ar/zona_clases/home/<hash>" --json
uv run siu-guarani-mcp detalle-mesa "https://autogestion-guarani.unr.edu.ar/zona_examenes/home/<hash>" --jsonInscriptos a una mesa de examen (sin PII por defecto; --include-pii para email/teléfono):
uv run siu-guarani-mcp inscriptos-examen "https://autogestion-guarani.unr.edu.ar/zona_examenes/home/<hash>" --json
uv run siu-guarani-mcp inscriptos-examen "https://autogestion-guarani.unr.edu.ar/zona_examenes/home/<hash>" --include-pii --jsonActas de Reporte de Actas con filtros (origen R/E/P, período, actividad):
uv run siu-guarani-mcp reporte-actas --origen E --json
uv run siu-guarani-mcp reporte-actas --origen R --actividad "Procesamiento del Lenguaje Natural" --jsonListar agenda de exámenes:
uv run siu-guarani-mcp agenda-examenes --jsonExplorar una operación docente arbitraria:
uv run siu-guarani-mcp raw inscriptos_cursadas --text
uv run siu-guarani-mcp raw inscriptos_examenes --jsonResumir una página detalle del portal:
uv run siu-guarani-mcp detalle-url "https://autogestion-guarani.unr.edu.ar/zona_clases/home/<hash>" --json
uv run siu-guarani-mcp detalle-url "https://autogestion-guarani.unr.edu.ar/zona_examenes/home/<hash>" --jsondetalle-url devuelve una síntesis read-only con:
pagelets detectados
texto limpio
tablas y filas de muestra
formularios detectados
links internos descubiertos
Listar alumnos de una cursada desde su detalle o desde la URL de asistencia:
uv run siu-guarani-mcp alumnos-cursada "https://autogestion-guarani.unr.edu.ar/zona_clases/home/<hash>" --json
uv run siu-guarani-mcp alumnos-cursada "https://autogestion-guarani.unr.edu.ar/asistencias/<hash>" --jsonDevuelve nombre, legajo, alumno_hash y presente para la clase de asistencia mostrada. La salida puede contener datos personales.
Servidor MCP
Levantar el servidor MCP por stdio:
uv run siu-guarani-mcp serveConfig manual para clientes MCP/Hermes:
mcp_servers:
siu_guarani:
command: "uv"
args:
- "--directory"
- "/ruta/absoluta/a/siu-guarani-mcp"
- "run"
- "siu-guarani-mcp"
- "serve"
timeout: 120
connect_timeout: 60Herramientas MCP expuestas:
Tool | Descripción |
| Valida login y cambio al perfil Docente. |
| Lista períodos visibles en |
| Lista cursadas/comisiones del docente. |
| Lista mesas de examen operables, con rango de fechas por defecto y opcional. |
| Lista agenda de exámenes docente. |
| Trae una operación arbitraria del perfil Docente. |
| Resume una URL detalle del portal configurado. |
| Lista alumnos desde |
| Lista notas cargadas desde |
| Exporta alumnos + notas a CSV/XLSX/JSON. |
| Busca un acta de cursada por número. |
| Busca un acta de cursada y devuelve sus renglones. |
| Resuelve los enlaces operativos de una cursada desde una SOLA URL. |
| Lista inscriptos de una comisión desde una sola URL. |
| Detalle de cursada: clases por categoría (dictadas/sin dictar/anuladas). |
| Detalle de mesa de examen: metadatos. |
| Inscriptos a mesa de examen; sin PII por defecto. |
| Actas de Reporte de Actas (R/E/P) con filtros. |
El resolver (resolver_cursada) acepta una URL zona_clases/home/<hash> o zona_comisiones/home/<hash> y devuelve los enlaces a Cargar Notas, Alumnos, Evaluaciones, Actas y Asistencia, para no pasar dos URLs a mano.
Agent Plugins v1.0.0
El repositorio incluye manifiestos compatibles con la especificación Agent Plugins v1.0.0:
plugin.jsonmcp.json
mcp.json declara un servidor stdio llamado siu-guarani:
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"siu-guarani": {
"type": "stdio",
"command": "uv",
"args": ["run", "siu-guarani-mcp", "serve"],
"cwd": "${PLUGIN_ROOT}"
}
}
}La configuración portable no embebe credenciales ni URLs institucionales. El proceso toma GUARANI_BASE_URL, GUARANI_USER y GUARANI_PASSWORD desde el entorno o desde .env en el working directory del plugin.
Modelo de scraping
Guaraní Autogestión renderiza contenido en pagelets JavaScript del tipo:
kernel.renderer.on_arrival({...})El cliente:
inicia sesión con
acceso?auth=formcambia al perfil
Docentedescarga operaciones del portal
extrae pagelets
kernel.renderer.on_arrival(...)parsea tablas, links y formularios con BeautifulSoup
No usa Selenium ni navegador.
Alcance descubierto
Cursadas
zona_clases/home/<hash> expone:
detalle de comisión
clases dictadas / sin dictar / anuladas
links internos a:
temas_dictados/<hash>asistencias/<hash>asistencias_planilla/<hash>
Exámenes
zona_examenes/home/<hash> expone:
detalle de mesa
docentes, fecha, turno, llamado, ubicación e instancias
links internos a:
notas_mesa_examen/edicion/<hash>inscriptos_examen/info/<hash>actas_examen/<hash>
Las operaciones de carga de asistencia, temas o notas contienen formularios POST. Este proyecto por ahora solo las inspecciona en modo read-only; no envía modificaciones.
Seguridad y privacidad
No commitear
.envni credenciales.Las salidas pueden contener datos personales de estudiantes según la operación consultada.
Evitar publicar logs, JSON completos o capturas con información personal.
No usar contra cuentas ajenas ni para eludir controles institucionales.
Las herramientas implementadas son de consulta; cualquier operación POST de escritura debería agregarse explícitamente, con confirmaciones y validaciones fuertes.
Desarrollo
Requiere dependencias de desarrollo:
uv sync --all-extras --group devEjecutar la suite de tests (no necesita credenciales; usa fixtures HTML anonimizados):
uv run pytestChequeos básicos:
uv run python -m compileall -q src
uv run siu-guarani-mcp login-check --json
uv run siu-guarani-mcp periodos --jsonValidar manifiestos JSON:
uv run python -m json.tool plugin.json >/dev/null
uv run python -m json.tool mcp.json >/dev/nullCI: el workflow .github/workflows/ci.yml corre uv run pytest, compila fuentes y valida los manifiestos en cada push a main y PR.
Roadmap
Escritura con confirmación (asistencia/temas/notas) si se decide exponerla.
Export a XLSX de actas/inscriptos, no solo de cursos.
Mejor soporte para variaciones entre instalaciones Guaraní.
Licencia
MIT. Ver LICENSE.
This server cannot be installed
Maintenance
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
- Flicense-qualityDmaintenanceSimple MCP server that exposes a tool to fetch student result/CGPA data from MANIT ERP APIs.
- AlicenseBqualityCmaintenanceMCP server for managing Argentine judicial cases (expedientes) from portals like PJN, MEV, CABA, and custom cases, supporting CRUD operations, synchronization, and management of tasks, fees, and alerts.2411MIT
- AlicenseBqualityCmaintenanceMCP server for Universidade de São Paulo's student systems (Moodle, JupiterWeb) enabling assistants to query grades, schedule, tasks, and more via secure backend.204GPL 3.0
- AlicenseAqualityBmaintenanceMCP server for the DUTIC virtual classroom (Moodle) at UNSA. Allows viewing tasks (including hidden ones), courses, resources, and downloading files, from terminal or AI agents.24224MIT
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP server for Brazilian Federal Senate open data (legislative, administrative, e-Cidadania).
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jpmanson/siu-guarani-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server