HMM MCP 데모 사용자 preset (#699)
상태: Implementing 추적: Redmine #699 / Git 브랜치:
hmm-backoffice대상:hmm.cloud-handson.com//opt/hmm-poc4
목적
HMM AI 업무 에이전트에서 HMM 가상 HR 조직의 팀장·팀원을 선택해 같은 질문을 사용자 관점으로 시험한다. MCP 접속 토큰과 데모 사용자 정보를 분리하여 토큰 원문을 화면·JSON·Git에 남기지 않는다.
구성
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의DEFAULTprofile과 해당 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에서 배경·글자색을 함께 고정한다.
완료 기준
- 팀장 E1001과 팀원 preset이 사이드바에서 선택된다.
- MCP bearer token은 화면·대화 JSON·Git에 노출되지 않는다.
- E1001의 ‘우리 팀 대기 휴가’와 E1005/E1007의 ‘내 휴가’가 HMM MCP로 정상 호출된다.
- 기존 KB MCP·KB VPD 안내가 HMM HR 질문 생성 경로에 사용되지 않는다.
- OCI SDK가
DEFAULTprofile로 GPT-5.4-mini를 실제 호출한다. - MCP 호출 상세의 JSON·code가 밝은 테마에서 읽힌다.