Command Palette

Search for a command to run...

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

CAU E Class

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

Enables Claude to access Chung-Ang University's e-class platform, including dashboard, daily briefing, course details, VOD links, and smart file download.

GitHubEmbed

Описание

Enables Claude to access Chung-Ang University's e-class platform, including dashboard, daily briefing, course details, VOD links, and smart file download.

README

Python 3.10+ License: MIT

브라우저 없이 Claude에서 바로 중앙대 e-class를 확인하세요!

공지사항, 과제, 강의자료를 Claude와 대화하면서 확인할 수 있는 MCP 서버입니다.

⚠️ 학생이 만든 비공식 도구입니다. 중앙대학교와 무관하며, 사용에 따른 책임은 본인에게 있습니다.


✨ 이런 걸 할 수 있어요

기능 설명
📋 대시보드 수강 중인 전체 과목 한눈에 보기
📅 데일리 브리핑 오늘 할 일, 쪽지, 공지사항을 한 번에 요약
📝 통합 상세 조회 과목별 강의(출석 포함), 과제, 자료실 정보 조회
🎥 VOD 직링크 동영상 강의의 실제 스트리밍 주소 추출
📂 지능형 다운로드 파일명 변경 및 과목별 폴더 자동 관리 다운로드
🌐 Web UI 브라우저에서 인증 설정 + 서버 모니터링

🚀 시작하기

필요한 것

  • Python 3.10 이상
  • 중앙대 포탈 계정 (학번 + 비밀번호)
  • Claude Code (설치 링크)

Step 1: 설치

방법 A) GitHub에서 바로 설치 (가장 간단)

pip install git+https://github.com/legendwon/cau-eclass-mcp.git

방법 B) 직접 클론해서 설치 (개발용)

git clone https://github.com/legendwon/cau-eclass-mcp.git
cd cau-eclass-mcp
pip install -e .

💡 venv를 쓰고 있다면? 반드시 해당 venv의 pip으로 설치하세요:

# Windows
.\venv\Scripts\pip.exe install -e .

# macOS/Linux
./venv/bin/pip install -e .

Step 2: 인증 설정

최초 1회만 하면 됩니다. 3가지 방법 중 편한 걸 골라주세요:

🔐 방법 1: OS 키링에 저장 (추천)

가장 안전합니다. 비밀번호가 운영체제의 보안 저장소에 암호화되어 저장돼요.

python -c "from cau_eclass_mcp.utils.credentials import CredentialManager; m = CredentialManager(); m.prompt_for_credentials()"

학번과 비밀번호를 입력하면 끝!

  • Windows → 자격 증명 관리자
  • macOS → 키체인
  • Linux → GNOME Keyring / KWallet

🌐 방법 2: Web UI에서 설정

터미널이 불편하다면 웹 브라우저에서도 설정할 수 있어요:

python -m cau_eclass_mcp --sse

브라우저에서 http://localhost:8000 을 열고, 학번/비밀번호를 입력하면 됩니다.

⚡ 방법 3: 환경변수

임시로 쓰거나 CI/CD에서 유용합니다:

# Windows (PowerShell)
$env:CAU_USERNAME="학번"
$env:CAU_PASSWORD="비밀번호"

# macOS/Linux
export CAU_USERNAME="학번"
export CAU_PASSWORD="비밀번호"

🤷 방법 4: 그냥 실행하기

아무 설정 안 해도 첫 실행 시 자동으로 물어봅니다!

Step 3: Claude Code에 연결

Claude Code가 이 MCP 서버를 인식하도록 설정 파일을 추가해주세요.

모든 프로젝트에서 쓰고 싶다면~/.claude/claude.json 편집:

{
  "mcpServers": {
    "cau-eclass": {
      "command": "python",
      "args": ["-m", "cau_eclass_mcp"]
    }
  }
}

Windows 경로: C:\Users\사용자이름\.claude\claude.json

특정 프로젝트에서만 쓰고 싶다면 → 프로젝트 루트에 .mcp.json 생성:

{
  "mcpServers": {
    "cau-eclass": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "cau_eclass_mcp"]
    }
  }
}

💡 venv를 쓰고 있다면? "command"를 venv의 python 경로로 바꿔주세요:

{
  "mcpServers": {
    "cau-eclass": {
      "type": "stdio",
      "command": "D:\\경로\\cau-eclass-mcp\\venv\\Scripts\\python.exe",
      "args": ["-m", "cau_eclass_mcp"],
      "cwd": "D:\\경로\\cau-eclass-mcp",
      "env": {
        "PYTHONPATH": "D:\\경로\\cau-eclass-mcp\\src"
      }
    }
  }
}

설정 후 Claude Code를 재시작하면 끝!


💬 사용법

Claude Code에서 자연스럽게 말하면 됩니다:

나: "e-class 오늘 무슨 일 있어?"
Claude: [오늘 마감인 과제, 읽지 않은 쪽지, 최신 공지사항 요약 표시]

나: "운체보 이번 주 강의 목록 보여줘"
Claude: [주차별 강의 목록 + 동영상 시청 완료 여부 표시]

나: "인공지능 과제 확인해줘"
Claude: [과제 목록 + 마감일 + 제출 상태 표시]

나: "1주차 강의안 다운로드해줘"
Claude: [파일명을 '1주차_강의안.pdf'로 바꾸고 '운체보' 폴더에 저장]

나: "강의 영상 링크 추출해줘"
Claude: [동영상 직링크와 화질별 URL 제공]

🌐 Web UI 모드 (SSE)

터미널 대신 브라우저에서 쓰고 싶다면 SSE 모드로 실행하세요:

# 기본 실행 (http://localhost:8000)
python -m cau_eclass_mcp --sse

# 포트 변경
python -m cau_eclass_mcp --sse --port 9000

브라우저에서 http://localhost:8000 을 열면:

  • 인증 설정 — 학번/비밀번호 등록, 확인, 삭제
  • 서버 상태 — 실시간 모니터링, 인증 상태, 가동 시간
  • API 문서http://localhost:8000/docs 에서 Swagger UI 확인

종료하려면 터미널에서 Ctrl+C


🔧 MCP 도구 목록

Claude Code에서 자동으로 사용되는 도구들입니다:

도구 설명 파라미터
get_dashboard 전체 수강 과목 조회 없음
get_daily_briefing (추천) 통합 데일리 브리핑 없음
get_course_details 강의/과제/자료실 상세 조회 course_id, content_type ('weekly', 'assignments', 'files')
download_file 스마트 파일 다운로드 course_id, file_id, save_path
get_vod_info 동영상 스트리밍 링크 추출 content_id

🏗️ 기술 구조

CAU-ON & LearningX 통합

중앙대는 Canvas 기반의 CAU-ON과 동영상/출석 관리를 위한 LearningX를 혼합하여 사용합니다. 본 MCP 서버는 이 두 시스템의 데이터를 통합하여 제공합니다.

  1. CAU SSO 포탈에서 RSA 암호화로 로그인
  2. API가 활성화된 세션 쿠키 및 JWT 토큰 획득
  3. Canvas API 및 LearningX API (xn_api_token) 통합 요청
  4. OCS XML 파싱을 통한 VOD 스트리밍 주소 추출

인증 흐름

학번/비밀번호 입력 → SSO 로그인 → RSA 비밀번호 암호화 → Canvas 세션
                → API 활성 쿠키 획득 → CAU-ON API 요청
  • 서버가 제공하는 RSA 개인키로 클라이언트 측 암호화 (특이한 구조!)
  • PKCS1v15 패딩
  • HTTP/2 필수
  • Referer 헤더가 세션 업그레이드에 필수
  • 세션 쿠키: 208자 (기본) → 421자 (API 활성)

❓ 문제 해결

"Failed to authenticate with CAU SSO"

  • 학번/비밀번호가 맞는지 확인
  • Web UI에서 다시 설정: http://localhost:8000 (SSE 모드)
  • 또는 기존 인증 정보 삭제 후 재등록:
    python -c "from cau_eclass_mcp.utils.credentials import CredentialManager; m = CredentialManager(); m.delete_credentials()"
    

"Keyring not available"

키링이 안 되면 환경변수를 사용하세요:

$env:CAU_USERNAME="학번"
$env:CAU_PASSWORD="비밀번호"

MCP 서버가 응답하지 않을 때

  1. 직접 실행해서 에러 확인:
    python -m cau_eclass_mcp          # stdio 모드
    python -m cau_eclass_mcp --sse    # SSE 모드
    
  2. Claude Code 로그 확인
  3. .mcp.json 또는 claude.json 설정 확인

세션 만료 에러

세션은 30분 동안 캐시되며, 만료 시 자동으로 재로그인됩니다. 그래도 에러가 나면 Claude Code를 재시작하세요.


🛠️ 개발 참여

테스트 실행

pip install -e .[dev]
pytest tests/ -v

코드 포맷팅

black src/ tests/
ruff check src/ tests/

기여하기

  1. 이 repository를 Fork
  2. 기능 브랜치 생성 (git checkout -b feature/멋진기능)
  3. 커밋 (git commit -m '멋진 기능 추가')
  4. 푸시 (git push origin feature/멋진기능)
  5. Pull Request 생성

🔒 보안

  • 비밀번호는 OS 키링에 암호화 저장
  • 비밀번호를 절대 Git에 커밋하지 마세요
  • 보안 이슈 발견 시 GitHub Issues로 알려주세요

📄 라이선스

MIT License — LICENSE 파일 참고

🙏 감사


궁금한 점이나 버그는?GitHub Issues에 남겨주세요!

from github.com/legendwon/cau-eclass-mcp

Установка CAU E Class

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

▸ github.com/legendwon/cau-eclass-mcp

FAQ

CAU E Class MCP бесплатный?

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

Нужен ли API-ключ для CAU E Class?

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

CAU E Class — hosted или self-hosted?

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

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

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

Похожие MCP

Compare CAU E Class with

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

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

Автор?

Embed-бейдж для README

Похожее

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