Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

SnuETL

БесплатноНе проверен

MCP server that provides tools to interact with SNU eTL (Canvas LMS), including viewing courses, assignments, announcements, grades, downloading and organizing

GitHubEmbed

Описание

MCP server that provides tools to interact with SNU eTL (Canvas LMS), including viewing courses, assignments, announcements, grades, downloading and organizing course files, with persistent local storage and automatic sync.

README

SNU eTL(Canvas LMS)을 MCP 도구로 노출하는 Python MCP 서버. 강의·과제·공지·성적을 조회하고, 마감일/공지를 로컬에 누적 저장하며, 강의 자료를 의예과 폴더 구조에 맞춰 다운로드·정리한다.

구성

파일 역할
server.py FastMCP 진입점 — 도구 등록
canvas_client.py Canvas 인증 + raw 조회 → dict 변환
store.py SQLite 누적 저장소 (courses/announcements/assignments + change_history)
materials.py 강의 자료 다운로드(폴더 구조 매핑) + 강의록/과제물 정리
openboard.py 열린게시판(LearningX LTI) 글/댓글 조회
video.py 영상 강의(LearningX→LCMS→유튜브) 대본 추출
sync_job.py 자동 동기화 잡 (cron 실행, 결과를 store/sync.log에 누적)
DESIGN.md 설계 문서

설정

.env (git 제외):

ETL_BASE_URL=https://myetl.snu.ac.kr
ETL_TOKEN=<개인 액세스 토큰>
ETL_DOWNLOAD_DIR=/Users/.../의예과   # 강의 자료 저장 기본 경로
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

실행

.venv/bin/python server.py        # MCP 서버 (stdio)
.venv/bin/mcp dev server.py       # MCP Inspector 디버깅
.venv/bin/python sync_job.py      # 동기화 1회 수동 실행

MCP 클라이언트 등록:

claude mcp add snu-etl -- /abs/path/.venv/bin/python /abs/path/server.py

도구 (v0.1, 18개)

  • 조회: whoami, list_courses, list_assignments, get_upcoming, list_announcements, get_grades, list_files
  • 누적 저장: sync_all, sync_courses, sync_announcements, sync_assignments, get_stored_courses, get_stored_announcements, get_stored_assignments, get_change_history
  • 강의 자료: download_course_files(과제 첨부 포함), organize_course_files
  • 영상 대본: list_lecture_videos, get_lecture_transcript(eTL 영상→유튜브 자막), get_youtube_transcript(공개 유튜브 링크 범용)

자동 실행

sync_job.py를 cron으로 매시 실행하여 공지·마감 변경을 자동 누적한다:

0 * * * * /abs/.venv/bin/python /abs/sync_job.py >> /abs/store/cron.out 2>&1 # snuETL-mcp-sync

from github.com/kdy565/snuETL-mcp

Установка SnuETL

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/kdy565/snuETL-mcp

FAQ

SnuETL MCP бесплатный?

Да, SnuETL MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для SnuETL?

Нет, SnuETL работает без API-ключей и переменных окружения.

SnuETL — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить SnuETL в Claude Desktop, Claude Code или Cursor?

Открой SnuETL на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare SnuETL with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории design