Back to skills
SkillHub ClubShip Full StackFull StackIntegration

ku-portal

고려대학교 KUPID 포털 조회. 공지사항, 학사일정, 장학공지, 도서관 좌석, 시간표, 수강과목, LMS 연동. (SonAIengine/ku-portal-mcp 기반)

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,126
Hot score
99
Updated
March 20, 2026
Overall rating
C0.0
Composite score
0.0
Best-practice grade
B77.6

Install command

npx @skill-hub/cli install openclaw-skills-ku-portal

Repository

openclaw/skills

Skill path: skills/garibong-labs/ku-portal

고려대학교 KUPID 포털 조회. 공지사항, 학사일정, 장학공지, 도서관 좌석, 시간표, 수강과목, LMS 연동. (SonAIengine/ku-portal-mcp 기반)

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack, Integration.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install ku-portal into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding ku-portal to shared team environments
  • Use ku-portal for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: ku-portal
description: 고려대학교 KUPID 포털 조회. 공지사항, 학사일정, 장학공지, 도서관 좌석, 시간표, 수강과목, LMS 연동. (SonAIengine/ku-portal-mcp 기반)
metadata:
  openclaw:
    min: "2026.2.0"
    requires:
      bins: ["python3"]
      config:
        - "~/.config/ku-portal/credentials.json"
        - "~/.cache/ku-portal-mcp/session.json"
        - "~/.cache/ku-portal-mcp/lms_session.json"
        - "~/.cache/ku-portal-mcp/server.log"
        - "~/Downloads/ku_timetable.ics"
---

# KU Portal - 고려대학교 KUPID 포털 스킬

고려대학교 KUPID 포털, 도서관, LMS 정보를 조회하는 OpenClaw 스킬.

## 로컬 파일 접근

이 스킬은 로그인/캐시/내보내기 기능 때문에 아래 경로를 사용합니다.

- 읽기: `~/.config/ku-portal/credentials.json` — KUPID 자격 증명
- 쓰기/읽기: `~/.cache/ku-portal-mcp/session.json` — 포털 세션 캐시
- 쓰기/읽기: `~/.cache/ku-portal-mcp/lms_session.json` — LMS 세션 캐시
- 쓰기: `~/.cache/ku-portal-mcp/server.log` — MCP 서버 로그
- 쓰기: `~/Downloads/ku_timetable.ics` — 시간표 ICS 내보내기 (`timetable --ics` 사용 시)

자격 증명 파일은 스킬 디렉터리 밖(`~/.config`)에 두며, git/ClawHub 배포 대상에 포함되지 않습니다.

## 사용법

모든 명령은 스킬 디렉터리 기준으로 실행하거나, OpenClaw가 제공하는 `{baseDir}`를 사용하세요.

```bash
source {baseDir}/.venv/bin/activate
python3 {baseDir}/ku_query.py <command> [options]
```

또는:

```bash
cd <skill-dir>
source .venv/bin/activate
python3 ku_query.py <command> [options]
```

## 명령어

### 로그인 불필요
- `library` — 전체 도서관 좌석 현황
- `library --name 중앙도서관` — 특정 도서관 좌석
- `menu` — 오늘 전체 학식 메뉴 (koreapas.com 기반)
- `menu --restaurant 교직원식당` — 특정 식당만 필터
- `menu --date 2026-03-10` — 특정 날짜 메뉴

### 로그인 필요 (KUPID SSO)
자격 증명: `~/.config/ku-portal/credentials.json`
```json
{"id": "your-kupid-id", "pw": "your-kupid-password"}
```

- `notices [--limit 10]` — 공지사항 목록
- `notices --detail <message_id>` — 공지사항 상세
- `schedules [--limit 10]` — 학사일정
- `scholarships [--limit 10]` — 장학공지
- `search <keyword>` — 공지/일정/장학 통합 검색
- `timetable [--day 월]` — 시간표 (요일 지정 가능)
- `timetable --ics` — ICS 파일 생성
- `courses --college 정보대학 --dept 컴퓨터학과` — 개설과목 검색
- `syllabus <course_id>` — 강의계획서
- `mycourses` — 내 수강신청 내역

### LMS (Canvas)
- `lms courses` — LMS 수강과목
- `lms assignments <course_id>` — 과제 목록
- `lms modules <course_id>` — 강의자료
- `lms todo` — 할 일 목록
- `lms dashboard` — 대시보드
- `lms grades <course_id>` — 성적
- `lms submissions <course_id>` — 과제 제출 현황
- `lms quizzes <course_id>` — 퀴즈 목록

## 출처
- 원본: https://github.com/SonAIengine/ku-portal-mcp
- 포크: https://github.com/garibong-labs/ku-portal-mcp


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### README.md

```markdown
# KU Portal — 고려대학교 KUPID 포털 스킬

고려대학교 KUPID 포털, 도서관, Canvas LMS 정보를 OpenClaw에서 조회하는 스킬.

> 원본: [SonAIengine/ku-portal-mcp](https://github.com/SonAIengine/ku-portal-mcp) 패키지를 Python 라이브러리로 사용하는 OpenClaw CLI 래퍼.

## 아키텍처 (ku-portal-mcp와의 관계)

- **ku-portal-mcp** (upstream): MCP 서버 프로젝트이자 PyPI 패키지.
- **ku-portal 스킬** (이 저장소): `ku_query.py`가 ku-portal-mcp의 내부 모듈(`auth`, `courses`, `library` 등)을 **Python 라이브러리로 직접 import**하여 사용. MCP 프로토콜은 사용하지 않음.
- upstream 패키지 업데이트(`pip install --upgrade ku-portal-mcp`)로 신기능이 반영됨.
- fork 저장소 ([garibong-labs/ku-portal-mcp](https://github.com/garibong-labs/ku-portal-mcp))는 upstream 추적/참조용.

## 기능

| 기능 | 로그인 | 설명 |
|------|--------|------|
| 도서관 좌석 | 불필요 | 6개 도서관 53개 열람실 실시간 좌석 현황 |
| 공지사항 | SSO | 목록 조회 + 상세 + 키워드 검색 |
| 학사일정 | SSO | 학사일정 목록 + 상세 |
| 장학공지 | SSO | 장학공지 목록 |
| 시간표 | SSO | 주간 시간표 + ICS 내보내기 |
| 수강과목 | SSO | 수강신청 내역, 개설과목 검색, 강의계획서 |
| LMS | KSSO | 과제, 강의자료, 성적, 퀴즈, 대시보드 |

## 설치

```bash
# 1. 스킬 설치
clawhub install garibong-labs/ku-portal

# 2. 자동 설치 (venv 생성 + 패키지 설치 + 안내)
bash scripts/setup.sh
```

또는 수동 설치:

```bash
# 스킬 디렉터리로 이동
cd <skill-dir>

# Python venv 생성 + 패키지 설치
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install ku-portal-mcp

# 자격 증명 설정 (로그인 기능 사용 시)
mkdir -p ~/.config/ku-portal
cat > ~/.config/ku-portal/credentials.json << 'EOF'
{"id": "your-kupid-id", "pw": "your-kupid-password"}
EOF
chmod 600 ~/.config/ku-portal/credentials.json
```

OpenClaw 스킬 문서 안에서는 `{baseDir}`를 사용할 수 있습니다.

```bash
. {baseDir}/.venv/bin/activate
python3 {baseDir}/ku_query.py lms courses
```

## 사용법

```bash
# 먼저 스킬 디렉터리로 이동
cd <skill-dir>
. .venv/bin/activate

# 도서관 좌석 (로그인 불필요)
python3 ku_query.py library
python3 ku_query.py library --name 중앙도서관

# 공지사항
python3 ku_query.py notices --limit 10
python3 ku_query.py notices --detail <message_id>

# 학사일정 / 장학공지
python3 ku_query.py schedules
python3 ku_query.py scholarships

# 통합 검색
python3 ku_query.py search 수강신청

# 시간표
python3 ku_query.py timetable
python3 ku_query.py timetable --day 월
python3 ku_query.py timetable --ics

# 수강과목
python3 ku_query.py mycourses
python3 ku_query.py courses --college 정보대학 --dept 컴퓨터학과
python3 ku_query.py syllabus COSE101

# LMS
python3 ku_query.py lms courses
python3 ku_query.py lms assignments <course_id>
python3 ku_query.py lms todo
python3 ku_query.py lms dashboard
python3 ku_query.py lms grades <course_id>
```

## 로컬 파일 접근 / 보안

- 자격 증명 읽기: `~/.config/ku-portal/credentials.json` (chmod 600 권장)
- 포털 세션 캐시: `~/.cache/ku-portal-mcp/session.json` (30분 TTL)
- LMS 세션 캐시: `~/.cache/ku-portal-mcp/lms_session.json` (약 25분 TTL)
- 서버 로그: `~/.cache/ku-portal-mcp/server.log`
- ICS 내보내기: `~/Downloads/ku_timetable.ics` (`timetable --ics` 사용 시 생성)
- 자격 증명은 스킬 디렉터리 밖이라 git/ClawHub 번들에 포함되지 않음

## 라이선스

MIT — 원본 [ku-portal-mcp](https://github.com/SonAIengine/ku-portal-mcp) MIT 라이선스 준수.

## 문의

[email protected]

```

### _meta.json

```json
{
  "owner": "garibong-labs",
  "slug": "ku-portal",
  "displayName": "KU Portal",
  "latest": {
    "version": "0.3.0",
    "publishedAt": 1773129713895,
    "commit": "https://github.com/openclaw/skills/commit/045047fc7afdebf357b30e0c5813e7faa8c32234"
  },
  "history": [
    {
      "version": "0.2.2",
      "publishedAt": 1772471389800,
      "commit": "https://github.com/openclaw/skills/commit/8f86587d60b265a663da194af7e011ca84425974"
    }
  ]
}

```

### scripts/setup.sh

```bash
#!/usr/bin/env bash
# ku-portal 스킬 자동 설치 스크립트
set -e

SKILL_DIR="$(cd "$(dirname "$0")/.." && pwd)"
VENV_DIR="$SKILL_DIR/.venv"
PKG="ku-portal-mcp"

echo "📦 ku-portal 스킬 설치"
echo "  스킬 경로: $SKILL_DIR"

# 1) venv 생성
if [ ! -d "$VENV_DIR" ]; then
    echo "🔧 가상환경 생성 중..."
    python3 -m venv "$VENV_DIR"
else
    echo "✅ 가상환경 이미 존재"
fi

# 2) pip 업그레이드 + 패키지 설치
echo "📥 $PKG 설치/업데이트 중..."
"$VENV_DIR/bin/pip" install --upgrade pip -q
"$VENV_DIR/bin/pip" install --upgrade "$PKG" -q

# 3) 버전 확인
VERSION=$("$VENV_DIR/bin/python3" -c "import ku_portal_mcp; print(ku_portal_mcp.__version__)" 2>/dev/null || echo "unknown")
echo "✅ $PKG $VERSION 설치 완료"

# 4) 자격 증명 안내
CREDS="$HOME/.config/ku-portal/credentials.json"
if [ ! -f "$CREDS" ]; then
    echo ""
    echo "⚠️  KUPID 자격 증명 파일이 없습니다."
    echo "  도서관/메뉴 조회는 바로 가능하지만, 로그인 필요 기능은 아래 파일을 먼저 만들어주세요:"
    echo ""
    echo "  mkdir -p ~/.config/ku-portal"
    echo '  echo '\''{"id": "학번", "pw": "비밀번호"}'\'' > ~/.config/ku-portal/credentials.json'
    echo "  chmod 600 ~/.config/ku-portal/credentials.json"
else
    echo "✅ 자격 증명 파일 확인됨"
fi

echo ""
echo "🎉 설치 완료. 사용법:"
echo "  source $VENV_DIR/bin/activate"
echo "  python3 $SKILL_DIR/ku_query.py library"

```