Sakai LMS용 MCP 서버 제작 및 사용 방법 안내
요약
본 기사는 LMS인 Sakai의 비공식 MCP 서버 제작 및 사용 방법을 안내합니다. 이 서버는 AI 어시스턴트(Claude Desktop 등)와 연동되어 과제 목록 가져오기, 강의 자료 일괄 다운로드, 시간표 자동 생성 등의 기능을 제공합니다. 특히 API 호출과 인증 과정을 안정화하여 사용자 편의성을 높였습니다.
핵심 포인트
- MCP 서버를 통해 AI가 외부 도구(함수)를 안전하게 사용하도록 연결합니다.
- Sakai Direct API를 활용해 구조화된 데이터를 가져와 정보 수집의 안정성을 확보했습니다.
- 로그인 쿠키 및 WebView 프로파일을 유지하여 재인증 과정 없이 편리하게 이용 가능합니다.
- 강의 자료 일괄 다운로드, 시간표 자동 생성 등 학업 효율성을 높이는 기능을 제공합니다.
나고야 대학의 tact나 교토 대학의 KULMS 등에서 사용되는 LMS(학습관리시스템)인 Sakai의 비공식 MCP 서버를 제작하여 도입 방법, 사용감, 간단한 작동 원리 등을 기사로 작성했습니다.
이 사이트에서 압축 파일을 다운로드하고 원하는 폴더에 해제합니다.
해제된 폴더 내에 있는 실행 스크립트(run.bat 또는 run.sh)의 절대 경로를 복사하여 Claude Desktop이나 Antigravity 등의 MCP 설정 파일(예: claude_desktop_config.json)에 추가합니다.
Windows
{
"mcpServers": {
"sakai-tasks": {
...
macOS
{
"mcpServers": {
"sakai-tasks": {
...
AI에게 경로를 알려주어 "이 MCP 서버를 등록해 줘"와 같이 지시하는 것이 더 확실하다고 생각합니다.
MCP 클라이언트 설정을 완료한 후 AI 앱을 재시작해 주세요.
AI에게 "설정 화면을 열어줘"라고 말하면 다음과 같은 설정 화면이 나타나므로, 대학의 Sakai 도메인을 입력하고 설정을 닫아주세요.

도메인 입력 후, AI에게 알림이나 과제를 가져오도록 지시하면 대학 로그인 화면이 표시됩니다. 여기서 로그인을 완료하면 도입이 끝납니다.
로그인 쿠키와 WebView 프로파일을 유지하는 구조로 되어 있어, 첫 사용 이후에는 로그인 작업을 요청받는 경우가 거의 없습니다. 또한, 세션이 만료되어 재인증이 필요한 타이밍에만 로그인 화면이 열리는 방식이라 평소 브라우저에서 Sakai를 사용하는 것과 다름없는 간편함으로 이용할 수 있습니다.
flash 모델의 경우 10초 이상 걸리는 경우가 많습니다. 따라서 직접 브라우저로 보는 것이 더 빠르다고 느끼는 경우가 종종 있습니다. 하지만 느린 원인은 기본적으로 대학 서버의 성능과 AI의 사고 시간이 대부분을 차지하며, 이들에 따라 훨씬 빠르게 동작할 수도 있습니다.
강의 자료 일괄 다운로드 및 정리
여러 강의의 자료를 한 번에 다운로드하고 폴더별로 정리해 줍니다. Sakai에서 강의 페이지를 여러 번 이동하며 수동으로 하는 것보다 훨씬 편리합니다.
시간표 자동 생성
강의 정보를 교차하여 가져와 그 자리에서 시간표를 만들어 줍니다.
본 툴이 어떻게 작동하는지 MCP, Sakai API, 그리고 인증 주위 세 가지 관점으로 간단히 설명하겠습니다.
MCP는 Claude Desktop과 같은 AI 어시스턴트와 외부 도구나 데이터 소스를 안전하고 통일된 프로토콜로 연결하기 위한 오픈 표준입니다.
AI가 웹사이트나 데이터베이스를 직접 조작하는 대신, 본 MCP 서버가 "과제 목록을 가져오기", "강의 자료 다운로드하기"와 같은 구체적인 도구(함수)를 AI용으로 공개하고, AI는 필요에 따라 이를 호출하여 결과를 받습니다.
Sakai에는 외부 시스템과의 연동을 위해 REST 형식의 Direct API(/direct/...)가 표준으로 갖춰져 있습니다.
본 툴에서는 이 Direct API를 호출하여 JSON 형태로 과제나 강의 정보, 공지사항 등의 구조화된 데이터를 가져옵니다. 이를 통해 화면 레이아웃 변경에 영향을 받기 어려워 안정적인 정보 수집이 가능합니다.
대학의 Sakai는 학적 인증(IdP/SSO)이나 다중 요소 인증(MFA)이 도입되어 있는 경우가 많아, API 키나 ID/비밀번호를 직접 전송하는 것만으로는 인증을 통과시키기 어렵다는 문제가 있습니다.
그래서 본 툴에서는 다음과 같은 방법으로 인증을 수행합니다.
- WebView를 이용한 브라우저 인증
인증이 필요할 때, 툴 측에서 독립된 브라우저(WebView) 창을 팝업시킵니다. 대학 고유의 로그인 화면이나 일회용 비밀번호 입력은 사용자가 평소처럼 해당 화면에서 직접 진행합니다. -
쿠키 및 프로파일 영속화
로그인 성공 시 발급되는 세션 쿠키나 브라우저 프로파일을 로컬 환경에 저장합니다. 이후 Direct API 호출 시에는 이 인증된 쿠키를 첨부하여 요청을 보내기 때문에, 두 번째 사용부터는 자동으로 인증이 유지됩니다. -
세션 만료 시 온디맨드 재인증
쿠키의 유효 기간이 지나거나 세션이 무효화되면, API 에러를 감지하여 다시 로그인 화면을 자동으로 열고 재로그인을 요청합니다.
인증 및 세션 관리는 모두 로컬 환경(본 도구 내)에서 완결되어 작동합니다. 이메일 주소, 비밀번호, 로그인 세션 정보, 그리고 브라우저 프로파일이 AI나 제3자에게 전송되는 일은 전혀 없습니다. 또한, 로그인 세션은 OS의 보안 저장소(Keyring / 자격 증명 관리자 등)에서 보호된 암호화 키를 사용하여 Fernet (AES 암호화) 방식으로 로컬에 암호화 저장되므로 안전하게 보관됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기