snuETL-mcp
Integrates with Canvas LMS (SNU eTL) to provide tools for retrieving courses, assignments, announcements, grades, and files, as well as syncing and storing data locally.
Click on "Install 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., "@snuETL-mcplist my upcoming assignments"
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.
snuETL-mcp
SNU eTL(Canvas LMS)을 MCP 도구로 노출하는 Python MCP 서버. 강의·과제·공지·성적을 조회하고, 마감일/공지를 로컬에 누적 저장하며, 강의 자료를 의예과 폴더 구조에 맞춰 다운로드·정리한다.
구성
파일 | 역할 |
| FastMCP 진입점 — 도구 등록 |
| Canvas 인증 + raw 조회 → dict 변환 |
| SQLite 누적 저장소 (courses/announcements/assignments + change_history) |
| 강의 자료 다운로드(폴더 구조 매핑) + 강의록/과제물 정리 |
| 열린게시판(LearningX LTI) 글/댓글 조회 |
| 영상 강의(LearningX→LCMS→유튜브) 대본 추출 |
| 자동 동기화 잡 (cron 실행, 결과를 |
| 설계 문서 |
Related MCP server: canvas-parent-mcp
설정
.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-syncThis 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-qualityDmaintenanceA local MCP server for Canvas LMS that enables querying courses, assignments, grades, modules, and more from any MCP-compatible AI client.Last updated23MIT
- Alicense-qualityAmaintenanceMCP server for Canvas LMS enabling parent observers and students to access courses, assignments, grades, and more. Supports multiple authentication methods including token, OAuth, and a convenient fetchproxy fallback.Last updated335MIT
- Alicense-qualityDmaintenanceMCP server that provides tools to read UBC Canvas LMS data, including courses, assignments, announcements, submissions, and calendar, for use with Claude Desktop, Claude Code, or n8n AI agents.Last updated23MIT
- Alicense-qualityCmaintenanceA remote MCP server for querying Canvas LMS courses, assignments, and grades. Enables natural language interaction with Canvas data via MCP clients like Claude Desktop.Last updated23MIT
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
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/kdy565/snuETL-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server