SIA UNAL MCP服务器
哥伦比亚国立大学学术信息系统MCP服务器。
它允许通过Claude或其他MCP客户搜索科目,查询时间表、配额、笔记和学业历史。
要求
- Node.js 20+
- Playwright(自动安装)
瞬间。
npm install
npx playwright install chromium
npm run build配置
创建新文件 .env 在带有必要变量的项目根目录中:
touch .env环境变量
| 变量 | 描述 | 默认 |
|---|---|---|
SIA_SEDE | 塞德:麦德林、波哥大、马尼萨莱斯、棕榈 | 麦德林 |
SIA_USERNAME | 用户A(仅适用于经过验证的工具) | - |
SIA_PASSWORD | 签一个(仅适用于经过验证的工具) | - |
PLAYWRIGHT_HEADLESS | 在没有窗口的情况下运行浏览器 | true |
RATE_LIMIT_DELAY | 中心请求延迟(毫秒) | 2000 |
CACHE_TTL | 缓存寿命(毫秒) | 300000 |
与克劳德桌面一起使用
添加到克劳德桌面配置文件(claude_desktop_config.json):
{
"mcpServers": {
"sia-unal": {
"command": "node",
"args": ["/user/mcps/sia-unal/dist/index.js"],
"env": {
"SIA_SEDE": "medellin"
}
}
}
}可用工具
观众(未经认证)
| 工具 | 描述 |
|---|---|
list-faculties | 列出可用于学术水平的学院 |
list-programs | 列出学院的课程 |
search-courses | 按学院和计划在目录中搜索主题 |
get-course-groups | 获得一门学科的小组、时间表、教师和沙龙 |
check-seat-availability | 按组实时查询可用配额 |
get-course-details | 科目的完整细节(描述,前提) |
已验证(需要凭据)
| 工具 | 描述 |
|---|---|
authenticate | 使用机构凭据登录 |
get-grades | 按期间或全部列出的笔记 |
get-current-schedule | 当前注册时间 |
get-academic-history | 完整的学术记录+教皇 |
get-enrollment-status | 注册和学分表 |
使用示例
没有身份验证
# Listar facultades de pregrado en Medellin
list-faculties(level="Pregrado", sede="MEDELLÍN")
# Listar programas de una facultad
list-programs(level="Pregrado", faculty="Facultad de Minas", sede="MEDELLÍN")
# Buscar asignaturas de un programa
search-courses(level="Pregrado", faculty="Facultad de Minas", program="Ingenieria de Sistemas e Informatica")
# Consultar cupos de una asignatura
check-seat-availability(courseCode="3007747")你也可以直接问克劳德:
- “麦德林的系统工程有哪些科目?”
- “3007747科目还有多少名额?”
- “给我看看算法时间表”
通过身份验证
# Iniciar sesion
authenticate(username="tuusuario", password="tucontrasena")
# Ver notas del semestre actual
get-grades()
# Ver historial academico completo con PAPA
get-academic-history()你也可以问克劳德:
- “与我的用户X登录并向我展示我的学期成绩”
- “我的爸爸积累了什么?”
建筑
- JSON-RPC:用于快速搜索的未记录的SIA端点(无身份验证)
- 剧作家+ADF:通过PlayWright Headless导航公共目录,该目录通过部分页面呈现(PPR)处理Oracle ADF下拉列表的级联。使用
list-faculties,list-programs,search-coursesyget-course-details. - 剧作家+OAM:通过Oracle Access Manager对需要会话的工具进行企业身份验证。
安全
- 凭据从未存储在磁盘上
- 会话在20分钟后自动过期
- 建议将环境变量用于凭据
- 速率限制器防止SIA服务器过载
