57 lines
3.2 KiB
Markdown
57 lines
3.2 KiB
Markdown
# HMM MCP 데모 사용자 preset (#699)
|
|
|
|
> 상태: Verified / Deployed (2026-07-22)
|
|
> 추적: Redmine #699 / Git 브랜치: `hmm-backoffice`
|
|
> 대상: `hmm.cloud-handson.com` / `/opt/hmm-poc4`
|
|
|
|
## 목적
|
|
|
|
HMM AI 업무 에이전트에서 HMM 가상 HR 조직의 팀장·팀원을 선택해 같은 질문을 사용자 관점으로
|
|
시험한다. MCP 접속 토큰과 데모 사용자 정보를 분리하여 토큰 원문을 화면·JSON·Git에 남기지 않는다.
|
|
|
|
## 구성
|
|
|
|
```text
|
|
vpd_token_presets.json (사용자 ID·역할·팀·테스트 문맥·mcp_token_env)
|
|
→ Streamlit 데모 사용자 선택
|
|
→ HMM MCP gateway bearer token (HMM_MCP_BEARER_TOKEN, 서버 .env 전용)
|
|
→ hmm-mcp.cloud-handson.com/mcp
|
|
→ HMM HR Select AI Agent Tool
|
|
```
|
|
|
|
- JSON 파일명은 이전 배포 호환성을 위해 유지한다. 내용은 KB VPD 사용자가 아닌 HMM HR 데모 사용자다.
|
|
- 각 preset은 `mcp_token_env`로 서버 환경변수만 참조한다. token 원문은 절대 JSON에 쓰지 않는다.
|
|
- 선택한 사용자는 자연어의 ‘나’, ‘내’, ‘우리 팀’을 해석하는 데모 문맥이다. 현재 HMM MCP의 gateway
|
|
token은 공용이므로 이 선택 자체가 DB 행 수준 권한을 강제한다고 표시하지 않는다.
|
|
- HMM MCP 허용 도구는 `resolve_hr_term`, `search_hr_data`, `search_hr_policy` 세 개다.
|
|
- 호출 인자는 `tools/list`의 schema를 기준으로 생성한다. 기본 도구에도 레거시 `prompt`/`limit`를
|
|
강제하지 않으며 `search_hr_data`·`search_hr_policy`는 `query`, `resolve_hr_term`은 `term`을 전달한다.
|
|
|
|
## 런타임 구성
|
|
|
|
- Streamlit은 `requirements.txt`의 OCI SDK를 `/opt/hmm-poc4/.venv`에 설치해 사용한다.
|
|
- OCI Generative AI 인증은 `/home/opc/.oci/config`의 `DEFAULT` profile과 해당 private key를 사용한다.
|
|
- `OCI_AUTH_TYPE=config_file`, `OCI_CONFIG_FILE`, `OCI_PROFILE`, `OCI_GENAI_COMPARTMENT_ID`는
|
|
배포 서버 `/opt/hmm-poc4/.env`에서 관리하고 저장소에는 값을 기록하지 않는다.
|
|
- MCP 호출 상세 JSON/code 영역은 공통 `presentation.py`에서 배경·글자색을 함께 고정한다.
|
|
|
|
## 완료 기준
|
|
|
|
1. 팀장 E1001과 팀원 preset이 사이드바에서 선택된다.
|
|
2. MCP bearer token은 화면·대화 JSON·Git에 노출되지 않는다.
|
|
3. E1001의 ‘우리 팀 대기 휴가’와 E1005/E1007의 ‘내 휴가’가 HMM MCP로 정상 호출된다.
|
|
4. 기존 KB MCP·KB VPD 안내가 HMM HR 질문 생성 경로에 사용되지 않는다.
|
|
5. OCI SDK가 `DEFAULT` profile로 GPT-5.4-mini를 실제 호출한다.
|
|
6. MCP 호출 상세의 JSON·code가 밝은 테마에서 읽힌다.
|
|
|
|
## 배포 검증
|
|
|
|
- `/opt/hmm-poc4/config/vpd_token_presets.json`: E1001, E1002, E1003, E1005, E1007 및
|
|
`HMM_MCP_BEARER_TOKEN` 간접 참조 확인
|
|
- MCP `tools/list`: `search_hr_data`, `resolve_hr_term`, `search_hr_policy` 확인
|
|
- E1001 문맥의 한국어 `search_hr_data` 실제 호출 및 UTF-8 응답 확인
|
|
- `/opt/hmm-poc4/.venv/bin/python`에서 `openai.gpt-5.4-mini` 실제 호출 확인
|
|
- systemd `ExecStart`를 `/opt/hmm-poc4/.venv/bin/python -m streamlit ...`로 고정
|
|
- Chromium dark color-scheme에서 MCP JSON 계산값 확인:
|
|
배경 `rgb(246, 248, 250)`, 글자 `rgb(23, 43, 58)`
|