Repository navigation
Releases
mcp-usc 0.11.0
mcp-usc 0.11.0 — horario personal y sesión HTTP reforzada
La v0.11 consolida el trabajo de horarios lectivos, amplía las lecturas disponibles con
MoodleSession y añade un perfil académico local. Todas las consultas normales siguen siendo HTTP:
REST, AJAX same-origin, formularios explícitos o GET públicos USC. El navegador se reserva al
inicio de sesión interactivo con Microsoft/MFA.
Horarios y perfil académico
list_degree_timetablesdescubre las páginas oficiales enlazadas por una titulación y sus centros.get_degree_class_timetableconsulta curso, año, semestre, semana, grupos, materia yprogram_id.get_my_class_timetableusa un perfil local validado para no repetir titulación, curso, plan y
grupos en cada consulta.
Los planes homónimos nunca se mezclan. Cada sesión conserva centro, program_id, URL de horario y
fuente. Cuando la USC no publica datos, el resultado lo declara expresamente; no sustituye el plan
por otro de nombre parecido.
Campus mediante sesión HTTP
Cuando no existe token REST, list_quizzes, list_course_contents, list_course_resources y
list_forums pueden usar core_courseformat_get_state. Este fallback devuelve CMID y metadatos
limitados sin abrir páginas de actividades ni registrar visitas. No inventa IDs internos ni enlaces
descargables.
La detección de expiración reconoce redirecciones, errores de autenticación y páginas de login que
un proxy devuelva con HTTP 200, incluidas respuestas AJAX acotadas. Los diagnósticos de CLI no
incluyen cookie, sesskey ni cuerpo remoto y explican si hay que importar o renovar la sesión.
El proceso MCP también silencia el logging detallado del cliente HTTP para que las URLs AJAX con
sesskey y las cabeceras autenticadas no puedan aparecer en stderr.
Finalización confirmada
Se añaden dos pares preview/ejecución:
- marcar o desmarcar la finalización manual de una actividad propia;
- marcar el criterio Moodle
SELFde un curso como completado.
El preview comprueba identidad, curso, módulo, tipo de seguimiento y estado actuales. La ejecución
requiere un token de cinco minutos, ligado a esos parámetros y a la cuenta, y realiza una sola
mutación. Un timeout o respuesta inesperada se trata como resultado ambiguo y nunca se reintenta.
Superficie y compatibilidad
La superficie pasa a 91 herramientas: 49 lecturas puras, 21 previews, 20 operaciones con efecto y
una inspección potencialmente stateful. Continúan disponibles cuatro recursos y cuatro prompts MCP.
La suite incluye el contrato común de sesión para Moodle 4.5, 5.0 y 5.2. Esto no certifica cualquier
plugin o instalación: cada función sigue dependiendo del servicio, permisos, fase y contexto que
Moodle exponga a la cuenta.
Límites conservados
Los calendarios estructurados de examen solo se amplían cuando existe un vínculo verificable entre
titulación, plan, materia y calendario del centro. Feedback, Survey, Lesson, Workshop, Wiki,
Glossary y Database permanecen sin ejecutor contextual mientras sus esquemas, propietario o fase no
puedan demostrarse antes de una mutación. Tampoco se consultan correo, Teams ni Turnitin directamente.
mcp-usc 0.9.0
mcp-usc 0.9.0 — experiencia MCP y compatibilidad
La v0.9 conserva las 84 herramientas de v0.8 y añade una capa de descubrimiento y flujos guiados sin
ampliar permisos ni ejecutar operaciones por sí misma.
Consulta la revisión completa de v0.9,
incluida la matriz de seis jobs en Linux, Windows y macOS. La suite contiene 463 pruebas.
Novedades
- cuatro recursos locales:
usc://about,usc://safety,usc://compatibilityy
usc://workflows; - cuatro prompts elegidos por el usuario: resumen académico, planificación de exámenes, revisión de
tareas y preparación segura de una entrega; mcp-usc manifest, con esquemas completos, recuentos y SHA-256 determinista;mcp-usc doctor --compactpara copiar un diagnóstico sanitizado en una sola línea;- CI en Linux, Windows y macOS con Python 3.11 y 3.13;
- workflow de release que valida el tag, prueba, construye, instala el wheel limpio, genera
SHA256SUMSy publica los artefactos; - documentación específica de superficie MCP, compatibilidad y releases.
Compatibilidad
No cambian nombres ni parámetros de las 84 herramientas de v0.8. Los hosts sin interfaz para
recursos o prompts pueden seguir usando todas las herramientas. El mínimo del SDK pasa a
mcp>=1.29,<2 para fijar el contrato probado.
Seguridad
Los recursos y prompts son funciones locales sin red. Ningún prompt ejecuta una herramienta por sí
mismo. prepare_assignment_submission exige detenerse después del preview y mantiene la
confirmación humana para un turno posterior. El manifiesto no carga configuración, keyring o datos
del Campus y no incluye contenido de los recursos.
No se enviaron mensajes ni se realizaron operaciones sobre el Campus durante el desarrollo.
mcp-usc 0.8.0 — beta comunitaria
mcp-usc 0.8.0 — beta comunitaria
La versión 0.8 convierte el repositorio en un proyecto que una persona nueva puede descubrir,
instalar, evaluar y contribuir sin conocer su historia previa.
La evidencia completa de validación está en la
revisión de release.
Para usuarios
- El README explica primero qué problema resuelve, para quién es y qué peticiones admite.
mcp-usc doctordistingue una instalación lista para datos privados de una instalación
public_only, sin usar la red ni imprimir credenciales.describe_mcp_uscpermite que el propio asistente explique el alcance, los límites y las 84
herramientas disponibles.- La nueva guía separa instalación, autenticación, conexión MCP, subidas y diagnóstico.
Para contribuidores
- CI ejecuta lint, 450 tests y build con
uv.lockcongelado. - El inventario autodescriptivo se compara con el servidor STDIO real en tests.
- Se añaden arquitectura, roadmap, changelog, seguridad, contribución, conducta, soporte y plantillas
estructuradas de GitHub. - Los metadatos del paquete incluyen URLs, palabras clave y clasificadores.
Compatibilidad
No hay cambios incompatibles en nombres ni parámetros de las 83 herramientas de v0.7. La única
herramienta MCP nueva es describe_mcp_usc. doctor es un nuevo subcomando local.
Seguridad y privacidad
No se enviaron mensajes, foros, entregas ni otras operaciones al Campus durante el desarrollo de
esta versión. Las pruebas usan dobles locales. El diagnóstico lee como máximo la presencia de
moodle-session en keyring y nunca devuelve su contenido.