ku门户网站mcp
](https://pypi.org/project/ku-portal-mcp/)  
在高丽大学KUPID门户网站MCP服务器-Claude Code中直接查看大学生活所需的信息
“请出示公告事项”、“图书馆有空位吗?”、“这周有什么课题?”等自然语言可以使用门户网站和LMS。
"수업 뭐가 있나?" — LMS 수강과목 조회
"공지사항 보여줘" — 전체 + 학과 공지 조회
我可以做这些。
1.公告事项/学士日程/奖学公告
可以浏览KUPID门户网站上的各种公告栏,并使用关键字进行搜索。
> 최근 공지사항 보여줘
> "수강신청" 관련 공지 검색해줘
> 이번 달 학사일정 알려줘
> 장학금 관련 공지 있어?
> 공지사항 3번째 글 상세 내용 보여줘- 公告事项,学士日程,奖学公告 查询列表 + 阅览详细信息
- 标题条件 关键字综合搜索 (可同时搜索公告/日程/奖学金)
- 包括附件列表、创建者、创建日期等元信息
2.图书馆座位情况(无需登录)
6个图书馆,53个阅览室的 实时座位情况确认。无需登录即可立即查看。
> 중앙도서관 빈자리 몇 개야?
> 과학도서관 좌석 현황 보여줘
> 전체 도서관 좌석 현황 알려줘
> 노트북 사용 가능한 열람실 어디야?- 目标图书馆:中央图书馆、中央广场、百周年纪念学术信息馆、科学图书馆、Hana Square、法学图书馆
- 阅览室 总座位/使用中/剩余座位 实时显示
- 是否允许使用笔记本电脑,包括生产时间信息
- 提供全部图书馆合计使用率(%)
3.导出课程表+ICS
浏览门户网站上注册的个人课程表,并将其导出为可添加到谷歌日历等的ICS文件。
> 이번 주 시간표 보여줘
> 월요일 수업 뭐 있어?
> 시간표를 ICS 파일로 만들어줘
> 오늘 수업 몇 시에 시작해?- 周一至周五 按星期查询 或 整周时间表 一次性查看
- 课时→实际时间自动转换(第一课时=09:00~10:15,第二课时=10:30~11:45…)
- ICS日历文件 创建→谷歌日历,可直接添加到Apple日历
- 包括课程名称、教室和课程信息
4.我的听课申请明细
确认选课科目的学号、授课时间、教室、教授等详细信息。研究生课程也报名。
> 내 수강과목 보여줘
> 이번 학기 뭐 듣고 있어?
> 내 수업 강의실 어디야?
> 총 몇 학점 신청했어?- 学号,分班,选修,课程名称,教授,学分,授课时间/教室
- 是否复课,确认申请状态
- 总申请学分合计
- 包括研究生课程(通过搜索现有时间表/开设课程没有出现的课程)
5.总成绩/累计GPA/获得学分
KUPID的 查看全部成绩 在屏幕上查看最终确定成绩和累计成绩。
> 전체 성적 보여줘
> 누적 GPA 얼마야?
> 취득학점 얼마나 됐어?
> 2024학년도 2학기 성적만 보여줘- 最终确定的总成绩 查询(年度/学期筛选器支持)
- 确认各科目的分数、等级、评分、复课是否反映
- 累计GPA/总评分/获得学分 查询
- 提供可用于计算毕业要求的原始成绩数据
6.开设科目搜索+课程计划书
搜索各学科/单科大学的开设课程,并查看课程计划书。
> 정보대학 컴퓨터학과 개설과목 보여줘
> 이번 학기 경영대학에 어떤 학과가 있어?
> COSE101 강의계획서 보여줘
> AAI110 강의계획서 보여줘
> 공과대학 개설과목 검색해줘
> SW·AI융합대학원 인공지능융합학과 개설과목 보여줘- 单科大学→学科→科目 逐步搜索(不需要知道代码)
- 首尔校园本科22个单科大学+研究生院38个单科大学支援
- 本科示例:经营、文科、信息、工科、理科、媒体、师范、保健科学、本科大学等 - 研究生院示例:软件•AI融合、融合数据科学、信息保护、工程、管理专业、医学专业等
is_grad: true将研究生模式转换为参数(kupid_search_courses(is_grad=true))- 各科目的学号、分班、教授名、学分、时间表信息
- 查询课程计划书:自动提取教授/学分/时间表等科目信息(90+学科映射)
7.教室时间表-“这个教室今天空了吗?”
通过本科+研究生院合并查询特定建筑、号房的正规课程。 确认可等待时间段。
> 애기능 301호 오늘 수업 뭐 있어?
> 정운오IT교양관 B102 화요일 시간표
> 정보통신관 604호 비는 시간 있어?- 建筑物名称、房间部分一致(例如:
building="애기능",room="301") - 本科22个+研究生院38个单科大学传唤→结果合并(并列,约30~60秒)
- 星期、课时、时间(HH:MM)、学号、授课名称、教授、学科/大学、区分(本科/研究生院) 返还
- 按时间顺序+重复数据删除
- ⚠️ 只上正规课 能拍到。学会、研讨会、临时活动等非正规占有
spacek.korea.ac.kr 需要单独检查空间预留系统
8.Canvas LMS-课程/作业/课程材料
登录高丽大学Canvas LMS(mylms.korea.ac.kr)查询课程信息。
> LMS에 어떤 과목 듣고 있어?
> 딥러닝 과제 목록 보여줘
> 아직 안 낸 과제 있어?
> 자연어처리 강의자료 보여줘
> 텍스트마이닝 1주차 PDF 다운로드해줘
> 이번 주 제출할 과제 뭐야?
> LMS 대시보드 보여줘
> 딥러닝 성적 어때?
> 과제 제출 현황 보여줘
> 퀴즈 일정 있어?- 听课科目目录:当前学期正在听课的科目和学期信息
- 课题列表:确认各科目的作业、提交期限、评分、提交方式
- 课程材料(模块):每周授课模块和包含的资料(授课视频、PDF、测验等)
- 下载文件:将课堂资料PDF等直接保存到指定的本地目录
- 查看公告栏:探索Q&A留言板/讲课资料室等教授亲自上传的资料
- 待办事项列表:将即将结束的任务和活动一目了然
- 仪表板:听课科目卡+收集各科目公告
- 查询成绩/分数:确认各科目的当前分数、最终分数、学分
- 课题提交情况:确认是否提交、评分分数、迟到/未提交状态
- 测验/考试列表:检查测验日程、时间限制和问题数
更多使用示例包括: 示例.md请参考。
______________________________________________________________________
完整的工具列表
| #Tool | 说明 | 认证 | |
|---|---|---|---|
| 1 | kupid_login | 门户登录/会话验证 | SSO |
| 2 | kupid_get_notices | 公告列表 | SSO |
| 3 | kupid_get_notice_detail | 公告详情 | SSO |
| 4 | kupid_get_schedules | 学士课程列表 | SSO |
| 5 | kupid_get_schedule_detail | 学士课程详细信息 | SSO |
| 6 | kupid_get_scholarships | 奖学金公告列表 | SSO |
| 7 | kupid_get_scholarship_detail | 奖学金公告详情 | SSO |
| 8 | kupid_search | 公告/日程/奖学综合搜索 | SSO |
| 9 | kupid_get_library_seats | 图书馆阅览室座位情况 | 不必要 |
| 10 | kupid_get_timetable | 个人课程表+导出ICS | SSO |
| 11 | kupid_search_courses | 搜索开设科目(本科/研究生院, is_grad 可选)SSO | |
| 12 | kupid_get_syllabus 查询课程计划书SSO | ||
| 13 | kupid_my_courses | 我的课程申请历史记录(学号/小时/教室) | SSO |
| 14 | kupid_room_schedule | 建筑物/房间的正规课程表(本科+研究生院合并) | SSO |
| 15 | kupid_get_all_grades | 查询总成绩/累计GPA/获得学分 | SSO |
| 16 | kupid_lms_courses | LMS课程列表 | KSSO |
| 17 | kupid_lms_assignments | LMS作业列表(按科目) | KSSO |
| 18 | kupid_lms_modules | LMS课程材料(按周分类模块) | KSSO |
| 19 | kupid_lms_todo | LMS待办事宜/即将发生的事件 | KSSO |
| 20 | kupid_lms_dashboard | LMS仪表板+公告 | KSSO |
| 21 | kupid_lms_grades | LMS成绩/分数查询 | KSSO |
| 22 | kupid_lms_submissions | LMS挑战提交情况 | KSSO |
| 23 | kupid_lms_quizzes | LMS测验/考试列表 | KSSO |
| 24 | kupid_lms_download_file 下载LMS课程资源文件(PDF等)KSSO | ||
| 25 | kupid_lms_list_boards | LMS科目公告栏列表(Q&A、教学资料室等)KSSO | |
| 26 | kupid_lms_list_board_posts | 公告栏帖子列表 | KSSO |
| 27 | kupid_lms_get_board_post | 帖子详细信息+附件(包括canvas_file_id) | KSSO |
认证指南:SSO=KUPID门户认证,KSSO=高丽大学综合SSO(Canvas LMS)。它们都使用相同的ID/PW,只需设置环境变量即可自动登录。
安装
方法1:uvx(建议)
始终运行最新版本,无需安装。与Claude Code的兼容性最好。
uvx ku-portal-mcp方法2:pip
pip install ku-portal-mcp方法3:从源安装
git clone https://github.com/SonAIengine/ku-portal-mcp.git
cd ku-portal-mcp
pip install -e .在Claude Code中使用
1.注册MCP服务器
claude mcp add 通过CLI命令注册:
使用uvx(建议):
claude mcp add -s user \
-e KU_PORTAL_ID=your-kupid-id \
-e KU_PORTAL_PW=your-kupid-password \
ku-portal \
uvx ku-portal-mcp@latest如果使用pip安装:
claude mcp add -s user \
-e KU_PORTAL_ID=your-kupid-id \
-e KU_PORTAL_PW=your-kupid-password \
ku-portal \
ku-portal-mcp-KU_PORTAL_ID哇KU_PORTAL_PW是用于登录KUPID门户网站的学号和密码。 --s user是全局(所有项目)注册。仅在特定项目中使用的步骤-s project请更改为。
2.应用设置
MCP服务器设置为Claude Code 开始时1次 加载。
- 方法A:重新启动Claude Code
- 方法B:在会话中
/mcp执行命令→直接应用MCP服务器添加/重新启动,无需重新启动
3.确认动作
在Claude Code中,用自然语言问:
> 도서관 좌석 현황 보여줘如果在没有登录的情况下立即显示结果,则说明安装正常。
> 최근 공지사항 보여줘
> 이번 주 과제 뭐 있어?
> 내 시간표 보여줘4. /ku 利用斜杠命令
examples/commands/ku.md注册为Claude Code的自定义斜杠命令: /ku 通过一行可以更快地浏览门户。
设置: examples/commands/ku.md 将文件 .claude/commands/ 或 ~/.claude/commands/复制到。
# 글로벌 커맨드로 등록 (모든 프로젝트에서 사용)
mkdir -p ~/.claude/commands
cp examples/commands/ku.md ~/.claude/commands/ku.md使用示例:
> /ku 도서관
> /ku 공지 수강신청
> /ku 과제
> /ku 시간표
> /ku 성적
> /ku 검색 장학금斜杠命令行只自动允许所需的MCP工具,因此比自然语言查询操作更快、更准确。详细的关键字列表包括: examples/commands/ku.md请参考。项目结构
ku_portal_mcp/
├── server.py # MCP 서버 + 21개 tool 등록
├── auth.py # KUPID SSO 로그인, 세션 캐싱 (30분 TTL)
├── scraper.py # GRW 공지/일정/장학 파싱
├── library.py # 도서관 좌석 현황 (librsv.korea.ac.kr)
├── timetable.py # 수업시간표 + ICS export
├── courses.py # 개설과목 검색, 강의계획서 (infodepot.korea.ac.kr)
├── grades.py # 전체 성적 / 누적 GPA / 취득학점
└── lms.py # Canvas LMS 연동 (mylms.korea.ac.kr, KSSO SAML)技术堆栈
| 领域 | 技术 | 说明 |
|---|
MCPFastMCP(mcp\[cli\])Claude Code联合协议 HTTP httpx(async)异步HTTP客户端 |解析| Beautiful Soup4+lxml | HTML编写| |门户认证| KUPID SSO |动态表单字段+ssotoken提取| | LMS身份验证| KSSO SAML SSO | SAML IdP登录+RSA解密| 加密加密Canvas临时密码RSA解密 |图书馆| HODI REST API | librsv.korea.ac.kr(无需身份验证)| |开设课程| infodepot | SSO token handoff会话集成| LMS API Canvas REST API mylms.korea.ac.kr会话Cookie认证
故障射击
当MCP服务器无法连接时
- 验证服务器是否正常运行:
ku-portal-mcp --version- 验证服务器是否已注册:
claude mcp list列表中 ku-portal如果没有 安装>1.注册MCP服务器请参考。
- 重新启动Claude Code后
/mcp通过命令检查服务器状态
当MCP服务器不在列表中时
Claude Code将MCP服务器设置 ~/.claude.json在中读取。 ~/.claude/settings.json的 mcpServers放入 无法识别。
必须 claude mcp add 请按命令注册:
claude mcp add -s user \
-e KU_PORTAL_ID=your-id \
-e KU_PORTAL_PW=your-pw \
ku-portal \
uvx ku-portal-mcp@latest服务器启动时发生超时
服务器初始化可能需要几秒钟。如果由于默认超时时间较短而导致连接失败, ~/.claude/settings.json的 env请在上延长超时时间:
{
"env": {
"MCP_TIMEOUT": "30000"
}
}环境变量相关
claude mcp add诗-e将环境变量设置为选项- 更改已注册服务器的环境变量的步骤
claude mcp remove ku-portal之后请重新添加
许可证
麻省理工学院
