# io.github.santinohicke/uca-mcp (npm · uca-mcp)

MCP no oficial para estudiantes de la UCA: EVA y SIU Guaraní (materias, notas, horarios, exámenes).

- Trust score: 73/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `uca-mcp`: 73/100 (this document), [markdown](https://verifymcp.io/servers/santinohicke-uca-mcp/uca-mcp.md), [page](https://verifymcp.io/servers/santinohicke-uca-mcp/uca-mcp)

## Channel facts

- Registry: `npm`
- Package: `uca-mcp`
- Version: `1.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 32 of 116 dependencies flagged as unhealthy (1 deprecated).
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3797 tokens (~122/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 31 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 32 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.santinohicke/uca-mcp server?

io.github.santinohicke/uca-mcp runs locally as an npm package, launched with npx -y uca-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add santinohicke-uca-mcp -- npx -y uca-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "santinohicke-uca-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "uca-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "santinohicke-uca-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "uca-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add santinohicke-uca-mcp -- npx -y uca-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "santinohicke-uca-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "uca-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add santinohicke-uca-mcp --command npx --arg -y --arg uca-mcp
```

### Hermes

```yaml
mcp_servers:
  santinohicke-uca-mcp:
    command: "npx"
    args: ["-y", "uca-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "santinohicke-uca-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "uca-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add santinohicke-uca-mcp -t stdio -c npx -a -y uca-mcp
```

### Other

```json
{
  "mcpServers": {
    "santinohicke-uca-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "uca-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 71, +15)

- [security regression] Tool safety: pass → unverified
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 1.0.10 → 1.1.0

### 2026-10-31 (score 56)

First indexed and scored.

## MCP tools (31)

### `uca_diagnosticar_sistema` (~35 tokens)

Diagnóstico del Sistema UCA

Audita conectividad, estado de sesión cifrada, validez del entorno gráfico y rutas de almacenamiento.

### `uca_iniciar_sesion` (~128 tokens)

Iniciar Sesión Institucional UCA

Inicia o renueva la sesión institucional abriendo el navegador. Si ya hay una sesión activa responde SESION_ACTIVA (ya está iniciada) sin abrir el navegador. NO hace falta llamarla antes de consultar: cada herramienta renueva la sesión sola. Usar solo si una consulta devolvió error de sesión expirada o si el usuario pide iniciar sesión o cambiar de cuenta.

Input parameters:

- `forzar_relogin` (boolean): Si es true, purga la sesión previa y el perfil del navegador para permitir ingresar con otra cuenta @uca.edu.ar (por defecto: false)

### `eva_materias` (~113 tokens)

Materias y Cursos en EVA

Lista las aulas virtuales y materias matriculadas en EVA con sus identificadores de curso. Por defecto lista cursos activos; con incluir_archivadas: true lista también los cursos pasados u ocultos.

Input parameters:

- `forzar_refresco` (boolean): Si es true, invalida la caché en memoria y consulta directamente a EVA (por defecto: false)
- `incluir_archivadas` (boolean): Si es true, incluye también los cursos ocultados o de semestres anteriores (por defecto: false)

### `eva_contenido_curso` (~145 tokens)

Contenido del Curso en EVA

Lista las secciones, módulos, tareas y recursos pertenecientes a un curso en EVA. Permite filtrar por tipo o sección para presupuestar contexto.

Input parameters:

- `curso_id` (integer, required): ID numérico del curso en EVA
- `filtro_tipo` (string): Filtro opcional por tipo de recurso (ej: 'assign', 'resource', 'folder', 'url')
- `forzar_refresco` (boolean): Si es true, invalida la caché en memoria y consulta directamente a EVA (por defecto: false)
- `seccion_id` (integer): ID numérico de la sección a consultar (opcional, omite para todas)

### `eva_tareas_y_notas` (~75 tokens)

Tareas y Notas en EVA

Obtiene tareas, plazos de entrega, estado de entregas y fechas límite en EVA.

Input parameters:

- `curso_id` (integer): ID del curso (opcional, omite para todas las materias)
- `incluir_cerradas` (boolean): Si es true, incluye tareas vencidas (por defecto: false)

### `eva_foros` (~108 tokens)

Foros y Avisos en EVA

Obtiene los últimos avisos institucionales y mensajes de foros de cátedra (etiquetados con aviso de seguridad).

Input parameters:

- `curso_id` (integer): ID del curso (opcional)
- `forzar_refresco` (boolean): Si es true, ignora la caché de 45-60 s y consulta de nuevo (por defecto: false)
- `limit` (integer): Cantidad máxima de mensajes (máx 50) (por defecto: 10)

### `eva_hilo_foro` (~57 tokens)

Hilo Completo de Foro en EVA

Obtiene el debate o hilo completo de un foro de cátedra en EVA, incluyendo todas las respuestas y mensajes ordenados.

Input parameters:

- `discusion_id` (integer, required): ID numérico del debate o discusión del foro en EVA

### `eva_buscar_materiales` (~73 tokens)

Buscar Materiales en EVA

Busca recursos, consignas y documentos en EVA por palabra clave.

Input parameters:

- `curso_id` (integer): ID del curso (opcional)
- `limite` (integer): Máximo de resultados a devolver (por defecto 25)
- `query` (string, required): Término de búsqueda (1-100 caracteres)

### `eva_descargar_materiales` (~274 tokens)

Descargar Materiales de EVA a una Carpeta

Descarga archivos de EVA (parciales, apuntes, guías, incluso los que están dentro de carpetas) a una carpeta de tu computadora. Ej: todos los parciales de una materia. Usá 'curso_id' (de eva_materias) y 'query' para filtrar por nombre. Guarda en Descargas/UCA si no indicás 'carpeta_destino'. No modifica nada en EVA.

Input parameters:

- `carpeta_destino` (string): Ruta absoluta de la carpeta donde guardar (admite ~). Por defecto Descargas/UCA/<materia>
- `curso_id` (integer): ID del curso en EVA (recomendado; obtenelo con eva_materias)
- `forzar_refresco` (boolean): Si es true, ignora la caché y vuelve a bajar de EVA (por defecto: false)
- `max_archivos` (integer): Máximo de archivos a bajar (por defecto 300, máx 500)
- `query` (string): Filtro por nombre, ej. 'parcial'. Sin filtro baja todos los archivos del curso (obligatorio si no hay curso_id)
- `seccion` (string): Filtro por nombre de sección, ej. 'Archivo de Examenes' (coincidencia parcial)

### `eva_leer_archivo` (~194 tokens)

Lectura de Archivos en EVA

Descarga de forma segura (con allowlist HTTPS) y extrae texto de PDFs y Office, o retorna bloques de imagen en escaneados. Nota: La consulta de recursos o carpetas en EVA registra la visualización en la plataforma.

Input parameters:

- `cmid` (integer): ID numérico de la actividad o recurso (cmid) alternativo a la URL
- `desde_pagina` (integer): Página inicial desde donde extraer contenido (por defecto 1)
- `forzar_refresco` (boolean): Si es true, omite la caché local y vuelve a descargar el archivo de EVA (por defecto: false)
- `max_paginas` (integer): Límite de páginas a extraer (máx 50) (por defecto: 15)
- `url` (string): URL completa del archivo o recurso en EVA (debe pertenecer a eva.uca.edu.ar)

### `eva_cuestionarios` (~102 tokens)

Cuestionarios y Exámenes Parciales en EVA

Consulta cuestionarios, exámenes parciales online, fechas de apertura/cierre, intentos y calificaciones en EVA (Lectura pura).

Input parameters:

- `curso_id` (integer): ID del curso en EVA. Si se omite, busca cuestionarios activos en el calendario y materias actuales.
- `forzar_refresco` (boolean): Si es true, ignora la caché de 45-60 s y consulta de nuevo (por defecto: false)

### `eva_cronograma` (~129 tokens)

Cronograma, Programa y Fechas de Parciales en EVA

Busca el archivo de cronograma o programa de una materia en EVA y extrae las fechas de parciales, recuperatorios y entregas. Elige el programa/cronograma por nombre; si no hay uno claro devuelve candidatos para elegir. Incluye fechasDetectadas y avisoFechas (avisa si el documento no publica fechas concretas). Si no existe cronograma ni programa en el aula virtual, informa explícitamente que no hay.

Input parameters:

- `materia` (string, required): Nombre o código de la materia (ej: 'Álgebra', 'Física III', 'Ingeniería de Software')

### `eva_entregas_proximas` (~89 tokens)

Entregas Próximas y Avisos de la Semana en EVA

Consulta qué tareas, trabajos prácticos o actividades tienen fecha de vencimiento en los próximos días (por defecto 7 días / la semana que viene) y avisos recientes de cátedra.

Input parameters:

- `curso_id` (integer): ID de curso en EVA opcional
- `dias` (integer): Cantidad de días a futuro (por defecto 7 para la próxima semana)

### `uca_resumen_semanal` (~69 tokens)

Resumen Semanal del Alumno

Tool Compuesta: Trae en paralelo tareas próximas de EVA, avisos de cátedra, cursada/inasistencias, clases de hoy e inscripciones a finales de Guaraní.

Input parameters:

- `carrera` (string): Nombre o código de la carrera (opcional)

### `guarani_estado_cursada` (~53 tokens)

Estado de Cursadas en Guaraní

Detalla cursadas activas, horarios, regularidad e inasistencias acumuladas en SIU Guaraní.

Input parameters:

- `carrera` (string): Nombre o código de la carrera (opcional)

### `guarani_horario_semanal` (~150 tokens)

Horario Semanal de Clases en Guaraní

Consulta el horario semanal de clases estructurado con día, horario de inicio y fin, aula y comisión desde SIU Guaraní. Soporta filtro para el día de hoy ('¿qué tengo hoy?').

Input parameters:

- `carrera` (string): Nombre o código de la carrera
- `dia` (string): Filtro opcional por día (ej: 'hoy', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'). Si se omite, devuelve toda la semana.
- `forzar_refresco` (boolean): Si es true, ignora la caché de 45-60 s y consulta de nuevo (por defecto: false)

### `guarani_cronograma_evaluaciones` (~176 tokens)

Cronograma de Evaluaciones en Guaraní

Fechas oficiales de parciales, recuperatorios y otras evaluaciones de tus cursadas actuales (SIU Guaraní), con hora y comisión. Por defecto solo las próximas. IMPORTANTE: no siempre incluye todas las materias; el campo materiasSinFechasCargadas lista las materias en curso sin fechas en Guaraní, para las cuales hay que usar eva_cronograma, eva_entregas_proximas y eva_cuestionarios.

Input parameters:

- `carrera` (string): Nombre o código de la carrera
- `forzar_refresco` (boolean): Si es true, ignora la caché de 60 s y consulta de nuevo (por defecto: false)
- `incluir_pasadas` (boolean): Si es true, incluye también evaluaciones ya pasadas (por defecto: false)

### `guarani_historia_academica` (~52 tokens)

Historia Académica y Analítico en Guaraní

Analítico completo: finales aprobados, materias pendientes, notas y promedios en SIU Guaraní.

Input parameters:

- `carrera` (string): Nombre o código de la carrera (opcional)

### `guarani_mesas_disponibles` (~118 tokens)

[EXPERIMENTAL] Mesas de Examen en Guaraní

[EXPERIMENTAL] Mesas de examen final con fechas, turnos, tribunales y condición en SIU Guaraní. Parser experimental hasta contar con fixtures HTML anonimizados de turnos activos.

Input parameters:

- `carrera` (string, required): Nombre o código de la carrera
- `forzar_refresco` (boolean): Si es true, ignora la caché de 45-60 s y consulta de nuevo (por defecto: false)
- `materia` (string, required): Nombre o código de la materia a consultar

### `guarani_correlatividades_y_plan` (~98 tokens)

Plan de Estudios, Correlatividades e Impacto en Guaraní

Consulta el plan de estudios interactivo, materias por año, estado de aprobación y correlatividades para cursar y rendir final. Si se especifica una materia, analiza qué correlativas la traban y qué materias futuras dependen de ella.

Input parameters:

- `carrera` (string): Nombre o código de la carrera (opcional)
- `materia` (string): Nombre o código de la materia a analizar (opcional)

### `guarani_materias_habilitadas` (~68 tokens)

Materias Habilitadas para Cursar en Guaraní

Calcula qué materias del plan de estudio el alumno está en condiciones de cursar el próximo período según su grafo de correlatividades y materias ya regularizadas o aprobadas.

Input parameters:

- `carrera` (string): Nombre o código de la carrera en Guaraní

### `guarani_progreso_carrera` (~76 tokens)

Progreso de Carrera y Materias Faltantes para Recibirse

Calcula exactamente cuántas materias te faltan para recibirte en SIU Guaraní ('Te faltan X materias'), cuántas tenés aprobadas, cursando actualmente y el desglose de materias pendientes por año.

Input parameters:

- `carrera` (string): Nombre o código de la carrera en Guaraní

### `guarani_plan_optimo` (~110 tokens)

Plan Óptimo de Cursada y Desbloqueo de Correlatividades

Rankea las materias habilitadas para cursar según su impacto multiplicador en el grafo de correlatividades (cierre transitivo de materias desbloqueadas) y calcula la altura del camino crítico y la estimación de cuatrimestres mínimos para recibirse.

Input parameters:

- `carrera` (string): Nombre o código de la carrera
- `max_sugerencias` (integer): Cantidad máxima de materias a sugerir prioritariamente para el próximo cuatrimestre (por defecto 5)

### `guarani_mis_inscripciones_examen` (~86 tokens)

Mis Inscripciones a Examen Final en Guaraní

Consulta las inscripciones activas a mesas de examen final y actuaciones provisorias del alumno en SIU Guaraní.

Input parameters:

- `carrera` (string): Nombre o código de la carrera
- `forzar_refresco` (boolean): Si es true, ignora la caché de 45-60 s y consulta de nuevo (por defecto: false)

### `guarani_encuestas_pendientes` (~49 tokens)

Encuestas Docentes Pendientes en Guaraní

Consulta si el alumno tiene encuestas docentes institucionales obligatorias o pendientes de responder en SIU Guaraní.

Input parameters:

- `carrera` (string): Nombre o código de la carrera

### `guarani_historial_constancias` (~73 tokens)

Historial de Solicitudes de Constancias en Guaraní

Consulta el historial de solicitudes de constancias y certificados emitidos en SIU Guaraní, con opción de descarga de PDFs.

Input parameters:

- `carrera` (string): Nombre o código de la carrera
- `descargar` (boolean): Si es true, descarga automáticamente los archivos PDF disponibles (por defecto: false)

### `campus_aranceles_y_tramites` (~89 tokens)

[EXPERIMENTAL] Aranceles y Trámites en Campus

[EXPERIMENTAL] Consulta aranceles al día/pendientes y estado de trámites administrativos en Campus Autogestión. Incluye saldo, habilitación para cursar/rendir y trámites en curso.

Input parameters:

- `consulta` (string): Filtro de consulta: 'todo', 'aranceles' o 'tramites' (por defecto: todo)

### `eva_guardar_borrador_tarea` (~107 tokens)

[EXPERIMENTAL] Guardar Borrador de Tarea en EVA

[EXPERIMENTAL] Sube un archivo o texto a EVA en modo borrador editable. Requiere confirmación del usuario.

Input parameters:

- `cmid` (integer, required): ID numérico de la tarea o módulo en EVA (cmid)
- `ruta_archivo` (string): Ruta absoluta local del archivo a subir como borrador
- `texto_en_linea` (string): Texto en línea para el borrador de entrega (máx 350 caracteres)

### `eva_responder_foro` (~77 tokens)

Responder en Foro de Cátedra en EVA

Publica una respuesta en un foro de cátedra de EVA. Muestra el texto completo y requiere confirmación del usuario.

Input parameters:

- `discusion_id` (integer, required): ID numérico del hilo o debate de foro
- `mensaje` (string, required): Mensaje exacto a publicar en el foro (máx 350 caracteres)

### `guarani_inscribir_examen` (~84 tokens)

Inscripción a Examen Final en Guaraní

Inscribe a examen final en SIU Guaraní mediante ciclo en dos fases y confirmación del usuario.

Input parameters:

- `carrera` (string, required): Nombre o código de la carrera
- `llamado_id` (string, required): ID del turno/llamado obtenido previamente de 'guarani_mesas_disponibles'
- `materia` (string, required): Nombre de la materia

### `guarani_certificado_alumno_regular` (~199 tokens)

Solicitud y Descarga de Constancia de Alumno Regular en Guaraní

Emite y descarga formalmente en PDF la Constancia de Alumno Regular (o de actividades aprobadas/promedio) con código de validación institucional desde SIU Guaraní. Protegida por confirmación del usuario.

Input parameters:

- `carrera` (string): Nombre o código de la carrera
- `copias` (integer): Cantidad de copias a solicitar (1 a 5) (por defecto: 1)
- `forzar_nueva` (boolean): Si es true, fuerza la emisión de una nueva solicitud en Guaraní omitiendo constancias ya emitidas (por defecto: false)
- `observaciones` (string): Observaciones adicionales opcionales
- `presentar_a` (string): Destinatario ante quien se presentará la constancia (por defecto: A quien corresponda)
- `tipo_constancia` (string): Tipo de constancia institucional a solicitar (por defecto: alumno_regular)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/santinohicke-uca-mcp/uca-mcp#diagnostics

## Score history

- 2026-11-05: 73
- 2026-11-04: 73
- 2026-11-03: 72
- 2026-11-02: 72
- 2026-11-01: 71
- 2026-10-31: 56

## Common questions

### What is the io.github.santinohicke/uca-mcp server?

io.github.santinohicke/uca-mcp is listed in the public MCP registry as io.github.santinohicke/uca-mcp. MCP no oficial para estudiantes de la UCA: EVA y SIU Guaraní (materias, notas, horarios, exámenes). This page covers its npm package (uca-mcp).

### Is the io.github.santinohicke/uca-mcp server safe to use?

io.github.santinohicke/uca-mcp scores 73 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.santinohicke/uca-mcp server expose?

io.github.santinohicke/uca-mcp exposes 31 tools: uca_diagnosticar_sistema, uca_iniciar_sesion, eva_materias, eva_contenido_curso, eva_tareas_y_notas, and 26 more. Their descriptions and schemas cost roughly 3,256 tokens of context every time the server is loaded.

### Is the io.github.santinohicke/uca-mcp server still maintained?

io.github.santinohicke/uca-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.santinohicke/uca-mcp server under?

io.github.santinohicke/uca-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/uca-mcp
- Socket report: https://socket.dev/npm/package/uca-mcp
- Repository: https://github.com/santinohicke/UCA-MCP
- Website: https://ucamcp.com/
- Changelog RSS feed: https://verifymcp.io/servers/santinohicke-uca-mcp/uca-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/santinohicke-uca-mcp/uca-mcp.json
- HTML version of this page: https://verifymcp.io/servers/santinohicke-uca-mcp/uca-mcp
