schoolbridge
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 |
|
Habilidad de agente ( | Hermes, OpenClaw, cualquier runtime de Agent-Skills |
|
CLI JSON | Agentes basados en shell, cron jobs, scripts |
|
Vigilante de eventos | Automatizaciones de tipo push |
|
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
Inicia sesión en Canvas en un navegador → Cuenta → Configuración → desplázate hasta Integraciones aprobadas → + Nuevo token de acceso. Copia el token inmediatamente.
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 checkRelated MCP server: Canvas LMS MCP Server
Uso con Claude (MCP)
Claude Code
claude mcp add schoolbridge -- npx -y schoolbridge mcpClaude 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 |
| Cursos activos con calificación/puntuación actual |
| Trabajo pendiente en los próximos N días (por defecto 7) + trabajo atrasado reciente, cada uno con una sugerencia de clasificación de |
| Una tarea con sus instrucciones completas como texto plano |
| Anuncios de profesores de los últimos N días |
| Calificaciones del curso + todo lo calificado en las últimas dos semanas |
| Todo lo que ha cambiado desde la última comprobación (consulta Eventos) |
Prompts MCP
Prompt | Hace |
| Comprueba los cambios e informa al estudiante |
| Clasifica el trabajo de la semana y elabora un plan día a día |
| Construye un plan de estudio día a día para un examen (argumentos: |
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.mdo directamente desde este repositorio con el instalador propio de Hermes:
hermes skills install https://raw.githubusercontent.com/Shoberman2/schoolbridge/main/skill/SKILL.mdHermes 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.mdPor 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. instructionsSondeo 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 baselineUn heartbeat de cron para un agente basado en shell:
*/15 8-22 * * * schoolbridge events --json | your-agent ingest-school-eventsModo 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/schoolLa 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 }
}
| Se activa cuando |
| Un profesor publica una tarea, prueba o examen |
| Se reprograma una tarea |
| Aparece una calificación en un trabajo previamente sin calificar |
| Se revisa una calificación existente |
| Un profesor publica un anuncio |
| 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 ( |
|
|
URL de Canvas |
|
|
Token de Canvas |
|
|
Directorio de configuración/estado | — |
|
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
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
- Alicense-qualityDmaintenanceEnables AI agents to interact with Canvas LMS and Gradescope, allowing users to query courses, assignments, modules, calendar events, and find relevant resources using natural language.59ISC
- AlicenseBqualityAmaintenanceMCP server for Canvas LMS, providing 115+ tools to read courses, assignments, submissions, rubrics, quizzes; grade, comment, manage course content, and handle Canvas admin workflows from any AI agent.241007235MIT
- AlicenseAqualityBmaintenanceMCP server that connects AI assistants to Instructure Canvas LMS, enabling teachers and administrators to manage courses, assignments, grades, and more through natural language.801841MIT
- AlicenseAqualityDmaintenanceTurns Canvas LMS into a scriptable pipeline and exposes it to AI assistants via MCP for querying courses, grades, assignments, and syncing files using natural language.143MIT
Related MCP Connectors
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
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/Shoberman2/schoolbridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server