Skip to main content
Glama

schoolbridge

Conecta Canvas (y otras plataformas escolares) a agentes de IA.

schoolbridge observa el LMS de tu escuela y lo convierte en algo que un agente de IA realmente pueda usar. Cuando un profesor publica una tarea, sube una calificación, cambia una fecha de entrega o hace un anuncio, tu agente se entera y puede informarte, clasificar tu semana o crear un plan de estudio para el próximo examen.

Habla tres dialectos, por lo que funciona con casi cualquier configuración de agente:

Interfaz

Para

Ejemplo

Servidor MCP

Claude Code, Claude Desktop, Claude Cowork, cualquier cliente MCP

schoolbridge mcp

Habilidad de agente (SKILL.md)

Hermes, OpenClaw, cualquier runtime de Agent-Skills

schoolbridge install-skill hermes

CLI JSON

Agentes basados en shell, cron jobs, scripts

schoolbridge upcoming --json

Vigilante de eventos

Automatizaciones de tipo push

schoolbridge watch --exec 'my-agent brief'

Canvas es el proveedor integrado. La interfaz del proveedor es pequeña y está documentada, por lo que se pueden agregar Google Classroom, Schoology, Moodle y otros; consulta docs/PROVIDERS.md.

schoolbridge es de solo lectura: nunca escribe nada de vuelta en tu LMS.


Inicio rápido

npm install -g schoolbridge     # or run everything below with: npx schoolbridge …

Pruébalo al instante (sin credenciales)

Cada comando acepta --provider mock, que proporciona datos de muestra realistas:

schoolbridge upcoming --provider mock
 1. [CRITICAL 73] Chapter 12 Reading Quiz
    US History · overdue by 20h · 10 pts · missing
 2. [HIGH 66] Unit 4 Test: Cellular Energetics
    AP Biology · due in 4d 23h · 100 pts · unsubmitted
 3. [HIGH 59] Reconstruction DBQ Essay
    US History · due in 2d 23h · 100 pts · unsubmitted
 ...

Conecta tu cuenta real de Canvas

  1. Inicia sesión en Canvas en un navegador → Cuenta → Configuración → desplázate hasta Integraciones aprobadas → + Nuevo token de acceso. Copia el token inmediatamente.

  2. Ejecuta:

schoolbridge init --base-url https://yourschool.instructure.com --token <paste-token>

init verifica la conexión y luego guarda la configuración en ~/.schoolbridge/config.json (creado con permisos 0600 — contiene tu token). También puedes omitir el archivo por completo y usar las variables de entorno CANVAS_BASE_URL y CANVAS_ACCESS_TOKEN.

Luego:

schoolbridge upcoming          # ranked work due this week (+ recent overdue work)
schoolbridge grades            # course grades + recently graded assignments
schoolbridge announcements     # recent teacher announcements
schoolbridge events            # what changed since the last check

Related MCP server: Canvas LMS MCP Server

Uso con Claude (MCP)

Claude Code

claude mcp add schoolbridge -- npx -y schoolbridge mcp

Claude Desktop / Claude Cowork

Agrega a tu configuración de MCP (ej. claude_desktop_config.json):

{
  "mcpServers": {
    "schoolbridge": {
      "command": "npx",
      "args": ["-y", "schoolbridge", "mcp"],
      "env": {
        "CANVAS_BASE_URL": "https://yourschool.instructure.com",
        "CANVAS_ACCESS_TOKEN": "your-token"
      }
    }
  }
}

(Si ejecutaste schoolbridge init, el bloque env es opcional — el servidor lee la configuración guardada).

Luego solo pregunta:

"¿Qué hay de nuevo en la escuela?" · "Clasifica todo lo que tengo que entregar esta semana y planifica mis días." · "Hazme un plan de estudio para el examen de biología."

Herramientas MCP

Herramienta

Devuelve

list_courses

Cursos activos con calificación/puntuación actual

list_upcoming_work

Trabajo pendiente en los próximos N días (por defecto 7) + trabajo atrasado reciente, cada uno con una sugerencia de clasificación de prioridad de 0 a 100

get_assignment_details

Una tarea con sus instrucciones completas como texto plano

list_announcements

Anuncios de profesores de los últimos N días

get_grades

Calificaciones del curso + todo lo calificado en las últimas dos semanas

check_new_events

Todo lo que ha cambiado desde la última comprobación (consulta Eventos)

Prompts MCP

Prompt

Hace

whats_new

Comprueba los cambios e informa al estudiante

plan_my_week

Clasifica el trabajo de la semana y elabora un plan día a día

study_plan

Construye un plan de estudio día a día para un examen (argumentos: course, opcional assignment)


Uso con Hermes

schoolbridge incluye un SKILL.md portátil de Agent Skills que le enseña a Hermes todo el flujo de trabajo (configuración, clasificación, planes de estudio y monitoreo de eventos). Instálalo de cualquiera de estas formas:

npm install -g schoolbridge
schoolbridge install-skill hermes      # writes ~/.hermes/skills/schoolbridge/SKILL.md

o directamente desde este repositorio con el instalador propio de Hermes:

hermes skills install https://raw.githubusercontent.com/Shoberman2/schoolbridge/main/skill/SKILL.md

Hermes descubre automáticamente la habilidad al iniciar y la activa siempre que la conversación tenga un tema escolar ("¿qué tarea tengo?", "planifica mi semana", "haz un plan de estudio para el examen de biología"). Agrega schoolbridge events --json a un heartbeat/programación y Hermes te informará de forma proactiva cuando un profesor publique una tarea, suba una calificación o haga un anuncio.

Uso con OpenClaw

Misma habilidad, versión OpenClaw: el frontmatter contiene un bloque metadata.openclaw que se activa con el binario schoolbridge y apunta el instalador de OpenClaw al paquete npm:

npm install -g schoolbridge
schoolbridge install-skill openclaw    # writes ~/.openclaw/skills/schoolbridge/SKILL.md

Por espacio de trabajo: copia skill/ en <workspace>/skills/schoolbridge/. Para alertas proactivas, agrega una línea a tu HEARTBEAT.md como: "Ejecuta schoolbridge events --json; si imprime eventos, dímelo."

También existe schoolbridge install-skill agents para el directorio compartido ~/.agents/skills utilizado por otros runtimes compatibles con Agent-Skills.

Uso con cualquier otro agente (shell/JSON)

Cada comando de lectura acepta --json e imprime JSON limpio y estable — envíalo directamente al contexto de tu agente:

schoolbridge upcoming --json --days 7
schoolbridge grades --json
schoolbridge announcements --json --days 3
schoolbridge assignment 101 5002 --json     # full details incl. instructions

Sondeo de cambios

schoolbridge events compara el LMS con la ejecución anterior e imprime solo lo que cambió. La primera ejecución guarda una línea base y no imprime nada. El estado se encuentra en ~/.schoolbridge/state.<provider>.json.

schoolbridge events --json      # one JSON event per line; empty output = nothing new
schoolbridge events --reset     # start over from a fresh baseline

Un heartbeat de cron para un agente basado en shell:

*/15 8-22 * * * schoolbridge events --json | your-agent ingest-school-events

Modo push

watch sondea en un intervalo, imprime eventos en stdout como líneas JSON (los registros van a stderr) y puede enviar cada lote a otro lugar:

schoolbridge watch --interval 15m --exec 'your-agent brief --stdin'   # JSON payload on stdin
schoolbridge watch --interval 15m --webhook https://your-agent.example/hooks/school

La carga útil del webhook/exec:

{
  "source": "schoolbridge",
  "provider": "canvas",
  "generatedAt": "2026-08-17T20:15:00.000Z",
  "events": [ … ]
}

Eventos

Cada evento tiene la misma forma, por lo que los agentes pueden hacer coincidir patrones en type:

{
  "type": "grade_posted",
  "occurredAt": "2026-08-17T20:15:00.000Z",
  "courseId": "101",
  "courseName": "AP Biology",
  "title": "Cell Respiration Lab Report",
  "summary": "Grade posted in AP Biology: “Cell Respiration Lab Report” — 47/50 (94%).",
  "url": "https://yourschool.instructure.com/courses/101/assignments/5001",
  "data": { "assignmentId": "5001", "score": 47, "grade": "47", "pointsPossible": 50 }
}

type

Se activa cuando

new_assignment

Un profesor publica una tarea, prueba o examen

due_date_changed

Se reprograma una tarea

grade_posted

Aparece una calificación en un trabajo previamente sin calificar

grade_changed

Se revisa una calificación existente

new_announcement

Un profesor publica un anuncio

course_grade_changed

Tu calificación general del curso se mueve

summary es siempre una oración lista para decir; data contiene los valores estructurados de antes/después.


Clasificación de prioridad

list_upcoming_work / schoolbridge upcoming adjuntan una puntuación de prioridad (0–100) y una etiqueta (critical / high / medium / low) a cada elemento. Considera:

  • Proximidad de la fecha de entrega (factor más pesado),

  • Valor en puntos,

  • Similitud con un examen (pruebas, o nombres que coincidan con test/exam/midterm/final),

  • Estado de falta/atraso (aumento) y ya entregado (cae a ~0).

Es deliberadamente una sugerencia, no un veredicto; el patrón previsto es que la IA lo use como orden inicial y lo anule con su criterio (comienza el ensayo antes que la hoja de ejercicios, incluso si la hoja de ejercicios se entrega primero).

Uso como biblioteca

import { CanvasProvider, listUpcoming, checkEvents, StateStore } from "schoolbridge";

const provider = new CanvasProvider({ baseUrl: "https://yourschool.instructure.com", token: process.env.CANVAS_ACCESS_TOKEN! });
const ranked = await listUpcoming(provider, 7);
const { events } = await checkEvents(provider, new StateStore(provider.name));

Referencia de configuración

Orden de resolución para cada ajuste: Indicador CLI → variable de entorno → ~/.schoolbridge/config.json.

Ajuste

Indicador

Variable de entorno

Proveedor (canvas / mock)

--provider

SCHOOLBRIDGE_PROVIDER

URL de Canvas

--base-url

CANVAS_BASE_URL

Token de Canvas

--token

CANVAS_ACCESS_TOKEN (o CANVAS_TOKEN)

Directorio de configuración/estado

—

SCHOOLBRIDGE_HOME (por defecto ~/.schoolbridge)

Privacidad y seguridad

  • Tu token y todo el estado permanecen en tu máquina; schoolbridge solo se comunica con el host de Canvas de tu escuela (y, si optas por ello, con tu propio webhook).

  • Todas las operaciones son de solo lectura contra el LMS.

  • Trata tu token de Canvas como una contraseña. Puedes revocarlo en cualquier momento desde Canvas → Cuenta → Configuración.

Hoja de ruta

  • Proveedores: Google Classroom, Schoology, Moodle, PowerSchool

  • Exportación de calendario (ICS) del trabajo pendiente

  • Contexto de módulos/archivos de Canvas para planes de estudio más completos

  • Push nativo (eventos en vivo de Canvas) donde las instituciones lo permitan

Contribuciones

Se aceptan PRs, especialmente de nuevos proveedores. Consulta CONTRIBUTING.md y docs/PROVIDERS.md. El proveedor mock y npm test te permiten desarrollar sin necesidad de credenciales escolares.

Licencia

MIT

Related MCP Connectors

Related MCP Servers