schoolbridge
schoolbridge
Подключайте Canvas (и другие школьные платформы) к AI-агентам.
schoolbridge следит за школьной LMS и превращает её в то, что AI-агент может реально использовать. Когда учитель публикует задание, выставляет оценку, меняет срок сдачи или делает объявление, ваш агент узнаёт об этом — и может сообщить вам, ранжировать вашу неделю или составить план подготовки к следующему тесту.
Он говорит на трёх диалектах, поэтому работает почти с любой настройкой агента:
Интерфейс | Для | Пример |
MCP-сервер | Claude Code, Claude Desktop, Claude Cowork, любой MCP-клиент |
|
Навык агента ( | Hermes, OpenClaw, любая среда Agent-Skills |
|
JSON CLI | Агенты, управляемые через оболочку, cron-задачи, скрипты |
|
Наблюдатель событий | Автоматизации push-типа |
|
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
Войдите в Canvas в браузере → Account → Settings → прокрутите до Approved Integrations → + New Access Token. Скопируйте токен сразу.
Выполните:
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 checkRelated MCP server: Canvas LMS MCP Server
Использование с Claude (MCP)
Claude Code
claude mcp add schoolbridge -- npx -y schoolbridge mcpClaude 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-инструменты
Инструмент | Возвращает |
| Активные курсы с текущей оценкой/баллом |
| Работы, которые нужно сдать в ближайшие N дней (по умолчанию 7) + недавние просроченные работы, каждая с подсказкой приоритета |
| Одно задание с полными инструкциями в виде обычного текста |
| Объявления учителей за последние N дней |
| Оценки по курсам + всё оценённое за последние две недели |
| Всё, что изменилось с момента последней проверки (см. События) |
MCP-подсказки
Подсказка | Делает |
| Проверить изменения и сообщить студенту |
| Отсортировать работу на неделю и составить пошаговый план |
| Составить пошаговый план подготовки к тесту (аргументы: |
Использование с 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.mdHermes автоматически обнаруживает навык при запуске и активирует его, когда разговор касается школы ("какое у меня домашнее задание?", "спланируй мою неделю", "составь план подготовки к контрольной по биологии"). Добавьте 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 baselineHeartbeat cron для агента на основе оболочки:
*/15 8-22 * * * schoolbridge events --json | your-agent ingest-school-eventsPush-режим
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 }
}
| Срабатывает, когда |
| Учитель публикует задание, тест или контрольную |
| Задание переносится |
| Оценка появляется за ранее неоценённую работу |
| Существующая оценка изменяется |
| Учитель публикует объявление |
| Ваша общая оценка по курсу меняется |
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.
Параметр | Флаг | Переменная окружения |
Провайдер ( |
|
|
URL Canvas |
|
|
Токен Canvas |
|
|
Директория конфигурации/состояния | — |
|
Конфиденциальность и безопасность
Ваш токен и все состояние остаются на вашем компьютере; 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 позволяют вам разрабатывать без каких-либо школьных учётных данных.
Лицензия
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