schoolbridge
schoolbridge
Canvas(및 기타 학교 플랫폼)를 AI 에이전트에 연결하세요.
schoolbridge는 학교의 LMS를 감시하여 AI 에이전트가 실제로 사용할 수 있는 형태로 변환합니다. 교사가 과제를 게시하거나, 성적을 업로드하거나, 마감일을 변경하거나, 공지사항을 올리면 에이전트가 이를 감지하여 사용자에게 브리핑하거나, 주간 일정을 정리하거나, 다음 시험을 위한 학습 계획을 세울 수 있습니다.
세 가지 인터페이스를 제공하므로 거의 모든 에이전트 설정과 호환됩니다:
인터페이스 | 대상 | 예시 |
MCP 서버 | Claude Code, Claude Desktop, Claude Cowork, 모든 MCP 클라이언트 |
|
에이전트 스킬 ( | Hermes, OpenClaw, 모든 Agent-Skills 런타임 |
|
JSON CLI | 셸 기반 에이전트, cron 작업, 스크립트 |
|
이벤트 감시자 | 푸시 방식 자동화 |
|
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에 로그인 → 계정 → 설정 → 승인된 통합까지 스크롤 → + 새 액세스 토큰. 토큰을 즉시 복사하세요.
실행:
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일) 내의 과제 + 최근 연체 과제, 각각 0–100 |
| 하나의 과제와 전체 지침을 일반 텍스트로 반환 |
| 최근 N일 동안의 교사 공지사항 |
| 과정 성적 + 지난 2주 동안 채점된 모든 항목 |
| 마지막 확인 이후 변경된 모든 사항 (이벤트 참조) |
MCP 프롬프트
프롬프트 | 기능 |
| 변경 사항을 확인하고 학생에게 브리핑 |
| 주간 과제 순위를 매기고 일별 계획 수립 |
| 시험을 위한 일별 학습 계획 수립 (인수: |
Hermes와 함께 사용
schoolbridge는 이식 가능한 Agent Skills SKILL.md를 제공하며, 이는 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을 추가하면 Hermes가 교사가 과제를 게시하거나, 성적을 업로드하거나, 공지사항을 올릴 때 사전에 알려줍니다.
OpenClaw와 함께 사용
동일한 스킬, OpenClaw 버전 — 프론트매터에 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 실행; 이벤트가 출력되면 나에게 알려줘."
다른 Agent-Skills 호환 런타임에서 사용하는 공유 ~/.agents/skills 디렉토리를 위한 schoolbridge install-skill agents도 있습니다.
다른 에이전트와 함께 사용 (셸/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셸 기반 에이전트를 위한 cron 하트비트:
*/15 8-22 * * * schoolbridge events --json | your-agent ingest-school-events푸시 모드
watch는 일정 간격으로 폴링하여 이벤트를 stdout에 JSON 라인으로 출력하고(로그는 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으로 감소).
의도적으로 힌트일 뿐, 최종 판단은 아닙니다 — 의도된 패턴은 AI가 이를 시작 순서로 사용하고 판단으로 재정의하는 것입니다(워크시트보다 에세이를 먼저 시작하더라도 워크시트 마감일이 더 빠른 경우).
라이브러리로 사용
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 URL |
|
|
Canvas 토큰 |
|
|
설정/상태 디렉토리 | — |
|
개인정보 보호 및 안전
토큰과 모든 상태는 사용자 기기에 남아 있습니다. schoolbridge는 사용자 학교의 Canvas 호스트(및 선택적으로 사용자 웹훅)와만 통신합니다.
모든 작업은 LMS에 대해 읽기 전용입니다.
Canvas 토큰을 비밀번호처럼 취급하세요. 언제든지 Canvas → 계정 → 설정에서 취소할 수 있습니다.
로드맵
공급자: Google Classroom, Schoology, Moodle, PowerSchool
캘린더 내보내기(ICS) 예정 과제
더 풍부한 학습 계획을 위한 Canvas 모듈/파일 컨텍스트
기관이 허용하는 경우 네이티브 푸시(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