Skip to main content
Glama

schoolbridge

Подключайте Canvas (и другие школьные платформы) к AI-агентам.

schoolbridge следит за школьной LMS и превращает её в то, что AI-агент может реально использовать. Когда учитель публикует задание, выставляет оценку, меняет срок сдачи или делает объявление, ваш агент узнаёт об этом — и может сообщить вам, ранжировать вашу неделю или составить план подготовки к следующему тесту.

Он говорит на трёх диалектах, поэтому работает почти с любой настройкой агента:

Интерфейс

Для

Пример

MCP-сервер

Claude Code, Claude Desktop, Claude Cowork, любой MCP-клиент

schoolbridge mcp

Навык агента (SKILL.md)

Hermes, OpenClaw, любая среда Agent-Skills

schoolbridge install-skill hermes

JSON CLI

Агенты, управляемые через оболочку, cron-задачи, скрипты

schoolbridge upcoming --json

Наблюдатель событий

Автоматизации push-типа

schoolbridge watch --exec 'my-agent brief'

Canvas — встроенный провайдер. Интерфейс провайдера небольшой и документирован, поэтому Google Classroom, Schoology, Moodle и другие могут быть добавлены — см. docs/PROVIDERS.md.

schoolbridge только для чтения: он никогда ничего не записывает обратно в вашу LMS.


Быстрый старт

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

Попробуйте мгновенно (без учётных данных)

Каждая команда принимает --provider mock, который предоставляет реалистичные примеры данных:

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
 ...

Подключите свою реальную учётную запись Canvas

  1. Войдите в Canvas в браузере → Account → Settings → прокрутите до Approved Integrations+ New Access Token. Скопируйте токен сразу.

  2. Выполните:

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

init проверяет соединение, затем сохраняет конфигурацию в ~/.schoolbridge/config.json (создаётся с правами 0600 — в нём хранится ваш токен). Вы также можете полностью пропустить файл и использовать переменные окружения CANVAS_BASE_URL и CANVAS_ACCESS_TOKEN.

Затем:

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

Использование с Claude (MCP)

Claude Code

claude mcp add schoolbridge -- npx -y schoolbridge mcp

Claude Desktop / Claude Cowork

Добавьте в вашу конфигурацию MCP (например, 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"
      }
    }
  }
}

(Если вы выполнили schoolbridge init, блок env необязателен — сервер читает сохранённую конфигурацию.)

Затем просто спросите:

"Что нового в школе?" · "Отсортируй всё, что мне нужно сдать на этой неделе, и распланируй мои дни." · "Составь мне план подготовки к контрольной по биологии."

MCP-инструменты

Инструмент

Возвращает

list_courses

Активные курсы с текущей оценкой/баллом

list_upcoming_work

Работы, которые нужно сдать в ближайшие N дней (по умолчанию 7) + недавние просроченные работы, каждая с подсказкой приоритета priority от 0 до 100

get_assignment_details

Одно задание с полными инструкциями в виде обычного текста

list_announcements

Объявления учителей за последние N дней

get_grades

Оценки по курсам + всё оценённое за последние две недели

check_new_events

Всё, что изменилось с момента последней проверки (см. События)

MCP-подсказки

Подсказка

Делает

whats_new

Проверить изменения и сообщить студенту

plan_my_week

Отсортировать работу на неделю и составить пошаговый план

study_plan

Составить пошаговый план подготовки к тесту (аргументы: course, опционально assignment)


Использование с Hermes

schoolbridge поставляется с портативным SKILL.md для Agent Skills, который обучает Hermes всему рабочему процессу — настройке, ранжированию, планам подготовки и мониторингу событий. Установите любым способом:

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

или напрямую из этого репозитория с помощью установщика Hermes:

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

Hermes автоматически обнаруживает навык при запуске и активирует его, когда разговор касается школы ("какое у меня домашнее задание?", "спланируй мою неделю", "составь план подготовки к контрольной по биологии"). Добавьте schoolbridge events --json в heartbeat/расписание, и Hermes будет проактивно сообщать вам, когда учитель публикует задание, выставляет оценку или делает объявление.

Использование с OpenClaw

Тот же навык, но в варианте OpenClaw — в frontmatter есть блок metadata.openclaw, который проверяет наличие бинарного файла schoolbridge и указывает установщику OpenClaw на npm-пакет:

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

Для отдельного рабочего пространства: скопируйте skill/ в <workspace>/skills/schoolbridge/. Для проактивных оповещений добавьте строку в ваш HEARTBEAT.md, например: "Выполни schoolbridge events --json; если он выведет события, расскажи мне о них."

Также есть schoolbridge install-skill agents для общей директории ~/.agents/skills, используемой другими средами, совместимыми с Agent-Skills.

Использование с любым другим агентом (оболочка/JSON)

Каждая команда чтения принимает --json и выводит чистый, стабильный JSON — передавайте его напрямую в контекст вашего агента:

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

Опрос на предмет изменений

schoolbridge events сравнивает LMS с предыдущим запуском и выводит только то, что изменилось. Первый запуск сохраняет базовое состояние и ничего не выводит. Состояние хранится в ~/.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

Heartbeat cron для агента на основе оболочки:

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

Push-режим

watch опрашивает с интервалом, выводит события в stdout в формате JSON lines (логи идут в stderr) и может отправлять каждый пакет дальше:

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

Полезная нагрузка вебхука/exec:

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

События

Каждое событие имеет одинаковую структуру, поэтому агенты могут сопоставлять по 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

Срабатывает, когда

new_assignment

Учитель публикует задание, тест или контрольную

due_date_changed

Задание переносится

grade_posted

Оценка появляется за ранее неоценённую работу

grade_changed

Существующая оценка изменяется

new_announcement

Учитель публикует объявление

course_grade_changed

Ваша общая оценка по курсу меняется

summary — всегда готовая к произнесению фраза; data содержит структурированные значения "до/после".


Ранжирование по приоритету

list_upcoming_work / schoolbridge upcoming добавляют каждому элементу оценку priority (0–100) и метку (critical / high / medium / low). Учитывается:

  • близость срока сдачи (самый важный фактор),

  • количество баллов,

  • похожесть на тест (контрольные работы или названия, совпадающие с test/exam/midterm/final),

  • статус пропущенного/просроченного (повышение) и уже сданного (снижается до ~0).

Это намеренно подсказка, а не вердикт — предполагается, что ИИ будет использовать это как начальный порядок и переопределять его по своему усмотрению (начать с эссе раньше рабочего листа, даже если рабочий лист нужно сдать раньше).

Использование в качестве библиотеки

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));

Справочник по конфигурации

Порядок разрешения для каждого параметра: флаг CLI → переменная окружения → ~/.schoolbridge/config.json.

Параметр

Флаг

Переменная окружения

Провайдер (canvas / mock)

--provider

SCHOOLBRIDGE_PROVIDER

URL Canvas

--base-url

CANVAS_BASE_URL

Токен Canvas

--token

CANVAS_ACCESS_TOKEN (или CANVAS_TOKEN)

Директория конфигурации/состояния

SCHOOLBRIDGE_HOME (по умолчанию ~/.schoolbridge)

Конфиденциальность и безопасность

  • Ваш токен и все состояние остаются на вашем компьютере; schoolbridge общается только с хостом Canvas вашей школы (и, если вы согласитесь, с вашим собственным вебхуком).

  • Все операции только для чтения по отношению к LMS.

  • Относитесь к своему токену Canvas как к паролю. Вы можете отозвать его в любое время в Canvas → Account → Settings.

План развития

  • Провайдеры: Google Classroom, Schoology, Moodle, PowerSchool

  • Экспорт календаря (ICS) предстоящих работ

  • Контекст модулей/файлов Canvas для более детальных планов подготовки

  • Нативный push (события Canvas в реальном времени) там, где это разрешено учреждением

Участие в разработке

PR приветствуются — особенно новые провайдеры. См. CONTRIBUTING.md и docs/PROVIDERS.md. Провайдер mock и npm test позволяют вам разрабатывать без каких-либо школьных учётных данных.

Лицензия

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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