Criterial

Conexión MCP

Criterial expone un servidor MCP (Model Context Protocol) que permite a cualquier agente de IA crear y gestionar aplicaciones LTI.

Conectar un agente

claude mcp add criterial-lti --transport http https://lti.criterial.cc/mcp

El agente descubrirá automáticamente 6 herramientas disponibles.

Herramientas disponibles

create_lti_app

Crea una nueva aplicación LTI. Devuelve un upload_url (presigned URL) donde debes subir el HTML.

Parámetros:

  • name (requerido) — Nombre de la aplicación
  • app_type (requerido) — quiz, form, simulation, o content
  • html_content (opcional) — HTML directo (max 1MB, se activa automáticamente)
  • tags (opcional) — Array de tags para organizar
  • config (opcional) — JSON con configuración de scoring
  • grading_enabled (opcional) — Si reporta calificaciones al LMS
  • ttl_days (opcional) — Días de vigencia (default: 7)

confirm_lti_app

Confirma que el HTML fue subido y activa la aplicación.

Parámetros:

  • app_id — UUID de la app a confirmar

update_lti_app

Publica una nueva versión de una app existente.

Parámetros:

  • app_id — UUID de la app
  • config (opcional) — Nueva configuración

list_lti_apps

Lista todas las aplicaciones con conteo de envíos.

get_submissions

Obtiene los envíos de una app específica con payload, calificación y telemetría.

get_lti_design_guidelines

Devuelve las reglas de diseño, contrato de API y restricciones de seguridad. Llámalo ANTES de generar HTML.

Autenticación

En producción, el MCP requiere un Bearer token OAuth 2.0. El flujo:

  1. Registra tu cliente: POST /api/auth/oauth2/register
  2. Autoriza: GET /api/auth/oauth2/authorize
  3. Obtén token: POST /api/auth/oauth2/token
  4. Usa en MCP: Authorization: Bearer <token>

En desarrollo (NODE_ENV !== 'production'), el MCP no requiere autenticación.

Flujo típico

1. Agente llama get_lti_design_guidelines → entiende restricciones
2. Agente genera HTML siguiendo las reglas
3. Agente llama create_lti_app → recibe upload_url
4. Agente sube HTML via PUT al upload_url
5. Agente llama confirm_lti_app → app activa
6. Profesor recibe launch_url → lo agrega a su LMS
7. Estudiantes interactúan → telemetría + calificaciones automáticas

On this page