CAU e-class MCP
Provides tools for interacting with the CAU e-class (Canvas-based) system, including dashboard, daily briefing, course details, file downloads, and VOD streaming link extraction.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CAU e-class MCP오늘 데일리 브리핑 해줘"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🎓 CAU e-class MCP
브라우저 없이 Claude에서 바로 중앙대 e-class를 확인하세요!
공지사항, 과제, 강의자료를 Claude와 대화하면서 확인할 수 있는 MCP 서버입니다.
⚠️ 학생이 만든 비공식 도구입니다. 중앙대학교와 무관하며, 사용에 따른 책임은 본인에게 있습니다.
✨ 이런 걸 할 수 있어요
기능 | 설명 |
📋 대시보드 | 수강 중인 전체 과목 한눈에 보기 |
📅 데일리 브리핑 | 오늘 할 일, 쪽지, 공지사항을 한 번에 요약 |
📝 통합 상세 조회 | 과목별 강의(출석 포함), 과제, 자료실 정보 조회 |
🎥 VOD 직링크 | 동영상 강의의 실제 스트리밍 주소 추출 |
📂 지능형 다운로드 | 파일명 변경 및 과목별 폴더 자동 관리 다운로드 |
🌐 Web UI | 브라우저에서 인증 설정 + 서버 모니터링 |
Related MCP server: Canvas MCP
🚀 시작하기
필요한 것
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에서 자동으로 사용되는 도구들입니다:
도구 | 설명 | 파라미터 |
| 전체 수강 과목 조회 | 없음 |
| (추천) 통합 데일리 브리핑 | 없음 |
| 강의/과제/자료실 상세 조회 |
|
| 스마트 파일 다운로드 |
|
| 동영상 스트리밍 링크 추출 |
|
🏗️ 기술 구조
CAU-ON & LearningX 통합
중앙대는 Canvas 기반의 CAU-ON과 동영상/출석 관리를 위한 LearningX를 혼합하여 사용합니다. 본 MCP 서버는 이 두 시스템의 데이터를 통합하여 제공합니다.
CAU SSO 포탈에서 RSA 암호화로 로그인
API가 활성화된 세션 쿠키 및 JWT 토큰 획득
Canvas API 및 LearningX API (
xn_api_token) 통합 요청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 서버가 응답하지 않을 때
직접 실행해서 에러 확인:
python -m cau_eclass_mcp # stdio 모드 python -m cau_eclass_mcp --sse # SSE 모드Claude Code 로그 확인
.mcp.json또는claude.json설정 확인
세션 만료 에러
세션은 30분 동안 캐시되며, 만료 시 자동으로 재로그인됩니다. 그래도 에러가 나면 Claude Code를 재시작하세요.
🛠️ 개발 참여
테스트 실행
pip install -e .[dev]
pytest tests/ -v코드 포맷팅
black src/ tests/
ruff check src/ tests/기여하기
이 repository를 Fork
기능 브랜치 생성 (
git checkout -b feature/멋진기능)커밋 (
git commit -m '멋진 기능 추가')푸시 (
git push origin feature/멋진기능)Pull Request 생성
🔒 보안
비밀번호는 OS 키링에 암호화 저장
비밀번호를 절대 Git에 커밋하지 마세요
보안 이슈 발견 시 GitHub Issues로 알려주세요
📄 라이선스
MIT License — LICENSE 파일 참고
🙏 감사
13시간의 CAU-ON API 디버깅에서 탄생 🐛
궁금한 점이나 버그는? → GitHub Issues에 남겨주세요!
This server cannot be deployed
Maintenance
Related MCP Connectors
AI-powered corporate learning platform — manage courses, users, and insights via Claude.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Give Claude only the Google Drive files you choose. Every action logged.
Create projects, nodes, and tasks in UluP Spaces by conversation with Claude.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides secure access to Canvas LMS at Texas Tech University, enabling Claude to retrieve courses, assignments, grades, announcements, discussions, and calendar events from your student account.MIT
- AlicenseBqualityCmaintenanceEnables Claude to interact with Canvas LMS, allowing natural language queries about courses, deadlines, grades, and feedback.29MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude to read Canvas LMS deadlines, announcements, and grades using an existing browser session, with no admin token required.14 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to safely automate Kwangwoon University KLAS tasks, including viewing academic schedules, assignment deadlines, lecture progress, and downloading course materials, with secure session recovery and credential isolation.8MIT