> 인사책 MCP 문서 — 관리자 확인. 서버 주소 https://insacheck.com/api/mcp. 전체판 https://insacheck.com/docs/mcp.md · 색인 https://insacheck.com/docs/mcp/llms.txt

# 관리자 확인 (admin)

인사 권한 · AI 연결 점검 · 세무사 접근 · 알림 규칙.

## 할 수 있는 일

- 도구 13개 · 흐름 22개 (AI 로 끝까지 17개 · 화면 안내 5개)
- ADM-01 직원이 어떤 관리 권한을 가졌는지 봐요.
- ADM-02 직원에게 관리 권한을 줘요.
- ADM-03 우리 회사에 연결된 AI 앱을 봐요.
- ADM-04 AI 가 어떤 일을 했는지 기록을 봐요.
- ADM-05 한 직원의 AI 연결을 켜고 꺼요.
- ADM-06 직원의 AI 사용 등급을 정해요.
- ADM-07 근태가 이상한 직원을 찾아봐요.
- ADM-08 부서별 인원을 봐요.
- ADM-09 오늘 아침 브리핑을 받아요.
- ADM-10 오늘 출근율을 봐요.
- ADM-11 켜 둔 알림 규칙을 봐요.
- ADM-12 주 52시간 위험 알림 규칙을 만들어요.
- ADM-13 외부 노무사에게 열어 둔 접근을 봐요.
- ADM-19 이번 달 새로 들어온 직원을 봐요.
- ADM-20 이번 달 그만둔 직원을 봐요.
- ADM-21 곧 끝나는 근로계약을 봐요.
- ADM-22 발급을 기다리는 증명서를 봐요.

## 도구

조회는 `run_read`, 쓰기는 `run_write` 에 도구 이름(`tool`)과 값(`args`)을 넣어 불러요. 「이름 그대로」인 기본 도구는 바로 불러요. 등급은 0 바로 조회 · 1 바로 하고 5분 안에 되돌리기 · 2 미리보기 → 확정 · 3 앱 승인이에요.

| 이름 | 조회/쓰기 | 등급 | 필요 역할 | 범위 | 설명 | 부르는 길 |
|---|---|---|---|---|---|---|
| `query_hr_permissions` | 조회 | 0 바로 조회 | owner (대표) | view | 특정 직원의 인사 권한 설정 현황 (회사/부서 관리, 조회 권한, 카테고리 권한). "이주영 권한 뭐 있어?", "박철수 인사카드 볼 수 있어?" 같은 질문에 사용. 대표(owner) 전용. | run_read |
| `set_hr_permission` | 쓰기 | 3 앱 승인 | owner (대표) | admin | 직원에게 인사 권한을 부여하거나 해제. "이주영 부서관리 권한 줘"(부서장 임명), "박철수 전사조회 권한 줘", "김영희 인사카드 조회 빼줘" 같은 명령. 부서관리 권한을 켜면 부서장 포털(자기 부서 출퇴근/연차 결재) 접근 가능. 대표(owner) 전용. | run_write |
| `grant_mcp_role` | 쓰기 | 3 앱 승인 | owner (대표) | admin | 직원의 AI비서(MCP) 권한 등급을 변경. "이주영을 인사 권한으로 올려줘", "박철수를 대표 권한으로", "김영희 일반 직원으로 내려줘". 등급: owner(대표)>hr_manager(인사 권한)>dept_manager(부서장)>employee(직원), auto=기본값. 대표(owner) 전용. | run_write |
| `toggle_mcp_enabled` | 쓰기 | 3 앱 승인 | owner (대표) | admin | 직원의 AI비서(MCP) 사용 자체를 허용/차단. "박철수 MCP 못 쓰게 꺼줘", "이주영 AI비서 다시 켜줘". 끄면 그 직원의 MCP 토큰 인증이 즉시 거부됨. 대표(owner) 전용. | run_write |
| `audit_connected_ai` | 조회 | 0 바로 조회 | hr_manager (관리자 이상) | view | 회사에 연결된 AI 와 최근 AI 실행 기록을 봅니다(누가 · 언제 · 어느 AI · 무엇을 · 결과). what=connections 는 연결 목록, what=runs 는 실행 기록. 읽기만 합니다. | run_read |
| `grant_advisor_access` | 쓰기 | 3 앱 승인 | hr_manager (관리자 이상) | admin | 외부 노무사/세무사에게 우리 회사 데이터 접근 권한을 부여합니다. 노무사가 알려준 토큰 prefix(ic_pat_xxxx)로 연결. "최노무사한테 우리 회사 권한 줘" 같은 명령에 사용. 인사 권한 필요. | run_write |
| `list_advisor_access` | 조회 | 0 바로 조회 | hr_manager (관리자 이상) | view | 우리 회사 데이터에 접근 권한이 걸린 외부 노무사/세무사 링크 목록을 봅니다(회수할 링크 번호 확인용). "노무사 권한 누구한테 줬어?" 같은 질문에 사용. 인사 권한 필요. | run_read |
| `revoke_advisor_access` | 쓰기 | 2 미리보기 → 확정 | hr_manager (관리자 이상) | admin | 외부 노무사/세무사의 우리 회사 접근 권한을 회수합니다. list_advisor_access 의 link_id 로 지정. "최노무사 권한 빼줘" 같은 명령에 사용. 인사 권한 필요. | run_write |
| `query_advisor_companies` | 조회 | 0 바로 조회 | employee (직원) | view | (노무사 전용) 내가 접근 가능한 고객사 목록을 조회합니다. "내 고객사 뭐있어?", "관리하는 회사 목록" 같은 질문에 사용. | run_read |
| `advisor_company_briefing` | 조회 | 0 바로 조회 | employee (직원) | view | (노무사 전용) 특정 고객사의 오늘 상황을 브리핑합니다. "A사 오늘 어때?", "ABC물산 52시간 위반 있어?" 같은 질문에 사용. query_advisor_companies 의 enterprise_id 로 호출. | run_read |
| `register_alert_rule` | 쓰기 | 2 미리보기 → 확정 | hr_manager (관리자 이상) | admin | 능동 알림 규칙을 등록합니다. "야근 50시간 넘으면 알려줘", "주52시간 임박하면 푸시", "계약 만료 30일 전 알림" 같은 명령에 사용. 등록된 규칙은 인사책이 주기적으로 체크해 푸시 알림. 인사 권한 필요. | run_write |
| `query_alert_rules` | 조회 | 0 바로 조회 | hr_manager (관리자 이상) | view | 등록된 알림 규칙 목록. "알림 규칙 뭐있어?", "설정된 알림" 같은 질문에 사용. 인사 권한 필요. | run_read |
| `deactivate_alert_rule` | 쓰기 | 2 미리보기 → 확정 | hr_manager (관리자 이상) | admin | 알림 규칙을 비활성화합니다. "그 알림 끄줘" 같은 명령에 사용. 인사 권한 필요. | run_write |

도구마다 따로 읽는 문서: [query_hr_permissions](https://insacheck.com/docs/mcp/tools/query_hr_permissions.md) · [set_hr_permission](https://insacheck.com/docs/mcp/tools/set_hr_permission.md) · [grant_mcp_role](https://insacheck.com/docs/mcp/tools/grant_mcp_role.md) · [toggle_mcp_enabled](https://insacheck.com/docs/mcp/tools/toggle_mcp_enabled.md) · [audit_connected_ai](https://insacheck.com/docs/mcp/tools/audit_connected_ai.md) · [grant_advisor_access](https://insacheck.com/docs/mcp/tools/grant_advisor_access.md) · [list_advisor_access](https://insacheck.com/docs/mcp/tools/list_advisor_access.md) · [revoke_advisor_access](https://insacheck.com/docs/mcp/tools/revoke_advisor_access.md) · [query_advisor_companies](https://insacheck.com/docs/mcp/tools/query_advisor_companies.md) · [advisor_company_briefing](https://insacheck.com/docs/mcp/tools/advisor_company_briefing.md) · [register_alert_rule](https://insacheck.com/docs/mcp/tools/register_alert_rule.md) · [query_alert_rules](https://insacheck.com/docs/mcp/tools/query_alert_rules.md) · [deactivate_alert_rule](https://insacheck.com/docs/mcp/tools/deactivate_alert_rule.md)

## 말 → 호출 순서 (흐름)

### ADM-01 직원이 어떤 관리 권한을 가졌는지 봐요.
- 누가: 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「이가상 님 관리 권한 뭐 있어?」 「인사 담당자 권한 누구한테 있는지 보여줘」 「박가상이 전사 근태 볼 수 있어?」 「이 직원 권한 확인해 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「누구 권한을 볼까요?」)
  1. tools/call {"name":"run_read","arguments":{"tool":"query_hr_permissions","args":{"worker":"이가상"}}}
     서버: 몸통 src/routes/mcp-tools/policies.ts:query_hr_permissions · 웹 API GET /api/enterprises/:eid/hr-permissions
     다음으로 넘길 값: 켜진 권한 · 꺼진 권한
     그다음: 후보가 여럿이면(needs_choice) 「같은 이름이 여럿이에요. 누구예요?」 → 고른 id 로 같은 줄을 다시
```

- 필요한 값 · 되묻기: 직원 이름이 꼭 필요해요. / 대표만 쓸 수 있어요.
- 끝: 그 직원의 관리 권한 켜짐과 꺼짐을 보여 줘요.
- 화면: 관리자 (/admin/enterprise/sub-admins)
- 하면 안 되는 것: 권한을 바꾸지 않아요. / 다른 회사 직원은 보지 않아요.

### ADM-02 직원에게 관리 권한을 줘요.
- 누가: 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「이가상 님에게 부서 근태 보는 권한 줘」 「인사 담당자 권한 켜 줘」 「박가상에게 전사 근태 열람 권한 줘」 「관리 권한 하나 부여해 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「누구에게 어떤 권한을 줄까요?」)
  1. tools/call {"name":"run_write","arguments":{"tool":"set_hr_permission","args":{"worker":"이가상","permission":"view_dept","enabled":true}}}
     서버: 몸통 src/routes/mcp-tools/hr-permissions.ts:set_hr_permission
     다음으로 넘길 값: 바뀐 권한
     그다음: 앱에서 사람이 승인한 뒤 같은 인자로 다시 불러요
```

- 필요한 값 · 되묻기: 직원 이름과 권한 이름이 필요해요. / 앱에서 대표가 승인해야 바뀌어요. / 끄려면 꺼 달라고 말해요.
- 끝: 그 직원의 권한이 바뀌고 기록이 남아요.
- 화면: 관리자 (/admin/enterprise/sub-admins)
- 하면 안 되는 것: 승인 전에는 권한을 바꾸지 않아요. / 대표 권한은 이 흐름으로 바꾸지 않아요.

### ADM-03 우리 회사에 연결된 AI 앱을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「우리 회사에 연결된 AI 뭐 있어?」 「AI 앱 연결 현황 보여줘」 「누가 AI를 연결했는지 알려 주세요」 「연결된 AI 목록 확인할래」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"audit_connected_ai","args":{"what":"connections"}}}
     서버: 몸통 src/routes/mcp-tools/audit-connected-ai.ts:auditConnectedAi · 함수 src/lib/mcp-oauth-connected-ai.ts:readConnectedAiPage
     다음으로 넘길 값: 연결한 사람 · 연결한 앱 · 마지막 사용
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요. / 내 회사에 연결된 것만 보여요.
- 끝: 연결한 사람과 앱, 마지막 사용 시각을 보여 줘요.
- 화면: AI 연동 → 연결된 앱 (/admin/enterprise/ai-integrations)
- 하면 안 되는 것: 연결을 끊거나 바꾸지 않아요.

### ADM-04 AI 가 어떤 일을 했는지 기록을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「AI가 우리 회사에서 뭘 했는지 보여줘」 「AI 사용 기록 확인할래」 「최근에 AI로 바꾼 거 있어?」 「AI 작업 내역 알려 주세요」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"audit_connected_ai","args":{"what":"runs"}}}
     서버: 몸통 src/routes/mcp-tools/audit-connected-ai.ts:auditConnectedAi · 함수 src/lib/mcp-oauth-connected-ai.ts:readConnectedAiPage
     다음으로 넘길 값: 한 일 · 시각 · 결과
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요. / 기록이 많으면 최근 것부터 보여요.
- 끝: AI 가 한 일의 최근 기록을 보여 줘요.
- 화면: AI 연동 → 연결된 앱 (/admin/enterprise/ai-integrations)
- 하면 안 되는 것: 기록을 지우거나 고치지 않아요.

### ADM-05 한 직원의 AI 연결을 켜고 꺼요.
- 누가: 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「한신입 AI 연결 꺼줘」 「이 직원은 AI 못 쓰게 해줘」 「박가상 AI 사용 다시 켜 줘」 「직원별 AI 연결을 막아 주세요」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「누구의 AI 연결을 바꿀까요?」)
  1. tools/call {"name":"run_write","arguments":{"tool":"toggle_mcp_enabled","args":{"worker":"한신입","enabled":false}}}
     서버: 몸통 src/routes/mcp-tools/hr-permissions.ts:toggle_mcp_enabled
     다음으로 넘길 값: 바뀐 상태
     그다음: 앱에서 사람이 승인한 뒤 같은 인자로 다시 불러요
```

- 필요한 값 · 되묻기: 직원 이름과 켤지 끌지가 필요해요. / 앱에서 대표가 승인해야 바뀌어요.
- 끝: 그 직원의 AI 연결이 켜지거나 꺼져요.
- 화면: AI 연동 → AI 연동 권한 (/admin/enterprise/mcp-permissions)
- 하면 안 되는 것: 승인 전에는 아무것도 바꾸지 않아요. / 이미 한 일은 되돌리지 않아요.

### ADM-06 직원의 AI 사용 등급을 정해요.
- 누가: 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「이가상을 인사 담당 등급으로 올려줘」 「부서장 등급으로 AI 쓰게 해줘」 「AI 등급을 자동으로 돌려 줘」 「직원 AI 권한 등급 바꿔 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「누구를 어느 등급으로 할까요?」)
  1. tools/call {"name":"run_write","arguments":{"tool":"grant_mcp_role","args":{"worker":"이가상","role":"hr_manager"}}}
     서버: 몸통 src/routes/mcp-tools/hr-permissions.ts:grant_mcp_role
     다음으로 넘길 값: 바뀐 등급
     그다음: 앱에서 사람이 승인한 뒤 같은 인자로 다시 불러요
```

- 필요한 값 · 되묻기: 직원 이름과 등급이 필요해요. / 자동으로 두면 직책에 맞게 정해져요. / 앱에서 대표가 승인해야 바뀌어요.
- 끝: 그 직원이 AI 로 할 수 있는 일의 등급이 바뀌어요.
- 화면: AI 연동 → AI 연동 권한 (/admin/enterprise/mcp-permissions)
- 하면 안 되는 것: 승인 전에는 등급을 바꾸지 않아요.

### ADM-07 근태가 이상한 직원을 찾아봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「근태 이상한 사람 있어?」 「출근 기록 이상 징후 보여줘」 「지각 잦은 직원 확인해 줘」 「이번 달 근태 이상 알려 주세요」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"query_attendance_anomaly","args":{"limit":20}}}
     서버: 몸통 src/routes/mcp-tools/insights.ts:query_attendance_anomaly
     다음으로 넘길 값: 이상 징후 직원 · 이유
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요. / 많으면 20명씩 나눠 보여요.
- 끝: 근태 이상 징후가 있는 직원과 이유를 보여 줘요.
- 화면: 근무 규칙 (/admin/enterprise/attendance-policies)
- 하면 안 되는 것: 직원에게 알림을 보내지 않아요. / 근태 기록을 고치지 않아요.

### ADM-08 부서별 인원을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「부서별 인원 몇 명이야?」 「영업부 인원 알려줘」 「개발부랑 경영지원 사람 수 보여줘」 「조직 인원 현황 확인할래」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"query_headcount_by_department","args":{}}}
     서버: 몸통 src/routes/mcp-tools/org-payroll.ts:query_headcount_by_department
     다음으로 넘길 값: 부서 · 인원
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요.
- 끝: 부서마다 현재 인원을 보여 줘요.
- 화면: 회사 현황 (/admin/enterprise)
- 하면 안 되는 것: 직원 개인 정보는 이 흐름으로 보여 주지 않아요.

### ADM-09 오늘 아침 브리핑을 받아요.
- 누가: 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「오늘 브리핑 해줘」 「오늘 우리 팀 현황 요약해 줘」 「아침에 볼 거 알려줘」 「오늘 챙길 일 정리해 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"daily_briefing","args":{}}}
     서버: 몸통 src/routes/mcp-tools/insights.ts:daily_briefing
     다음으로 넘길 값: 오늘 출근 · 승인 대기
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요. / 내가 볼 수 있는 범위만 요약해요.
- 끝: 오늘 출근과 승인 대기를 한 번에 보여 줘요.
- 화면: 회사 현황 (/admin/enterprise)
- 하면 안 되는 것: 보지 못하는 부서는 요약에 넣지 않아요.

### ADM-10 오늘 출근율을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「오늘 출근율 몇 퍼센트야?」 「지금 몇 명 출근했어?」 「오늘 출근 현황 알려줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"query_attendance_rate_today","args":{}}}
     서버: 몸통 src/routes/mcp-tools/org-payroll.ts:query_attendance_rate_today
     다음으로 넘길 값: 출근율 · 출근 인원
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요.
- 끝: 오늘 출근율과 출근 인원을 보여 줘요.
- 화면: 회사 현황 (/admin/enterprise)
- 하면 안 되는 것: 지각자 이름을 이 흐름으로 말하지 않아요.

### ADM-11 켜 둔 알림 규칙을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「알림 규칙 뭐 걸려 있어?」 「야근 알림 설정돼 있는지 보여줘」 「지금 켜진 알림 목록 알려 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"query_alert_rules","args":{}}}
     서버: 몸통 src/routes/mcp-tools/alerts.ts:query_alert_rules
     다음으로 넘길 값: 규칙 종류 · 기준값
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요.
- 끝: 켜 둔 알림 규칙과 기준값을 보여 줘요.
- 화면: 알림 → 알림 규칙 (/admin/enterprise/alert-rules)
- 하면 안 되는 것: 규칙을 켜거나 끄지 않아요.

### ADM-12 주 52시간 위험 알림 규칙을 만들어요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「주 48시간 넘으면 알려주는 규칙 만들어줘」 「야근이 많아지면 알림 받고 싶어」 「연장근로 알림 규칙 추가해 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「몇 시간부터 알려 드릴까요?」)
  1-미리보기. tools/call {"name":"run_write","arguments":{"tool":"register_alert_rule","args":{"rule_type":"weekly_52h_risk","threshold_value":48,"description":"주 48시간을 넘으면 알려 줘요."}}}
     서버: 몸통 src/routes/mcp-tools/alerts.ts:register_alert_rule
     다음으로 넘길 값: confirmation_id
     그다음: 미리보기를 사용자에게 보여 주고 「네」를 받아요
  1-확정. tools/call {"name":"run_write","arguments":{"tool":"register_alert_rule","args":{"rule_type":"weekly_52h_risk","threshold_value":48,"description":"주 48시간을 넘으면 알려 줘요."},"confirmation_id":"<1-미리보기.confirmation_id>"}}
     넘겨받는 값: 1-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/alerts.ts:register_alert_rule
     다음으로 넘길 값: 규칙 번호
```

- 필요한 값 · 되묻기: 규칙 종류와 기준값이 필요해요. / 만들기 전에 한 번 더 확인해요.
- 끝: 알림 규칙이 하나 생기고 기준이 넘으면 알려 줘요.
- 화면: 알림 → 알림 규칙 (/admin/enterprise/alert-rules)
- 하면 안 되는 것: 확인 없이 규칙을 만들지 않아요.

### ADM-13 외부 노무사에게 열어 둔 접근을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「노무사한테 열어 둔 접근 있어?」 「외부 전문가 접근 목록 보여줘」 「누가 우리 자료를 볼 수 있어?」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"list_advisor_access","args":{"include_revoked":false}}}
     서버: 몸통 src/routes/mcp-tools/advisor.ts:list_advisor_access
     다음으로 넘길 값: 접근 대상 · 열어 준 날
```

- 필요한 값 · 되묻기: 끝난 접근은 따로 말하면 같이 보여요.
- 끝: 지금 열려 있는 외부 접근 목록을 보여 줘요.
- 화면: 노무사 접근 화면 (메뉴에는 없어요) (/admin/enterprise/advisors)
- 하면 안 되는 것: 접근을 새로 열거나 닫지 않아요.

### ADM-14 연결된 AI 앱을 끊어요.
- 누가: 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「연결된 AI 앱 끊어줘」 「이 앱 연결 해지해 줘」 「AI 연결을 모두 정리해 줘」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 끊는 일은 화면에서 직접 눌러요.
- 끝: 연결된 앱 화면에서 끊는 길을 안내해요.
- 화면: AI 연동 → 연결된 앱 (/admin/enterprise/ai-integrations)
- 하면 안 되는 것: AI 가 스스로 연결을 끊지 않아요.

### ADM-15 AI 가 올린 승인 요청을 앱에서 승인해요.
- 누가: 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「AI가 승인 요청했다는데 어디서 해?」 「권한 바꾸기 승인해야 한다고 떴어」 「앱에서 승인할 게 있대요」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / AI 는 스스로 승인할 수 없어요.
- 끝: 앱의 승인 요청 화면에서 누르는 길을 안내해요.
- 화면: AI 승인 요청 (/worker/mcp-approvals)
- 하면 안 되는 것: AI 가 대신 승인하지 않아요.

### ADM-16 AI 연결 감사 기록을 파일로 받아요.
- 누가: 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「AI 연결 기록 엑셀로 줘」 「감사용으로 AI 사용 내역 파일 받을래」 「AI 기록을 내려받고 싶어요」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 파일은 화면의 내려받기 단추로 받아요.
- 끝: 감사 기록 파일을 받는 화면 길을 안내해요.
- 화면: AI 연동 → 연결된 앱 → 감사 기록 파일 (/admin/enterprise/ai-integrations/audit.csv)
- 하면 안 되는 것: 파일 내용을 대화에 붙이지 않아요.

### ADM-17 결재 진행 현황을 한눈에 봐요.
- 누가: 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「결재 현황 전체 보여줘」 「어디서 결재가 밀려 있어?」 「회사 전체 결재 진행 상황 알려 줘」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 전체 현황은 결재 화면에서 봐요.
- 끝: 결재 현황 화면으로 가는 길을 안내해요.
- 화면: 결재함 (/admin/enterprise/approval-status)
- 하면 안 되는 것: AI 로 승인이나 반려를 하지 않아요.

### ADM-18 근무 규칙이 언제 바뀌었는지 봐요.
- 누가: 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「근무 규칙 누가 바꿨어?」 「근무 규칙 변경 기록 보여줘」 「언제부터 규칙이 달라졌어?」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 바뀐 기록은 근무 규칙 화면에서 봐요.
- 끝: 근무 규칙 화면에서 기록을 보는 길을 안내해요.
- 화면: 근무 규칙 (/admin/enterprise/attendance-policies)
- 하면 안 되는 것: 규칙을 이 흐름으로 바꾸지 않아요.

### ADM-19 이번 달 새로 들어온 직원을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「이번 달 신규 입사자 누구야?」 「최근에 입사한 사람 보여줘」 「10월에 들어온 직원 알려줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「몇 월 입사자를 볼까요?」)
  1. tools/call {"name":"run_read","arguments":{"tool":"query_new_hires","args":{"month":"2026-10"}}}
     서버: 몸통 src/routes/mcp-tools/org-payroll.ts:query_new_hires
     다음으로 넘길 값: 이름 · 입사일 · 부서
```

- 필요한 값 · 되묻기: 달을 말하지 않으면 이번 달이에요.
- 끝: 그달에 입사한 직원 목록을 보여 줘요.
- 화면: 설정 → 사람·권한 → 직원 명단 (/admin/enterprise/people-roster)
- 하면 안 되는 것: 입사일이나 직원 정보를 고치지 않아요.

### ADM-20 이번 달 그만둔 직원을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「이번 달 퇴사자 누구야?」 「최근에 그만둔 사람 보여줘」 「9월 퇴사자 알려줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「몇 월 퇴사자를 볼까요?」)
  1. tools/call {"name":"run_read","arguments":{"tool":"query_recent_resignations","args":{"month":"2026-10"}}}
     서버: 몸통 src/routes/mcp-tools/org-payroll.ts:query_recent_resignations
     다음으로 넘길 값: 이름 · 퇴사일 · 부서
```

- 필요한 값 · 되묻기: 달을 말하지 않으면 이번 달이에요.
- 끝: 그달에 퇴사한 직원 목록을 보여 줘요.
- 화면: 설정 → 사람·권한 → 직원 명단 (/admin/enterprise/people-roster)
- 하면 안 되는 것: 퇴사 처리나 되돌리기는 이 흐름으로 하지 않아요.

### ADM-21 곧 끝나는 근로계약을 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「이번 달 만료되는 계약 누구야?」 「30일 안에 끝나는 계약 보여줘」 「갱신해야 할 직원 알려줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「며칠 안에 끝나는 계약을 볼까요?」)
  1. tools/call {"name":"run_read","arguments":{"tool":"query_expiring_contracts","args":{"within_days":30}}}
     서버: 몸통 src/routes/mcp-tools/recruit-contract.ts:query_expiring_contracts
     다음으로 넘길 값: 이름 · 계약 끝나는 날
```

- 필요한 값 · 되묻기: 날수를 말하지 않으면 30일이에요.
- 끝: 곧 끝나는 계약과 직원 이름을 보여 줘요.
- 화면: 근로계약서 (/admin/enterprise/contracts)
- 하면 안 되는 것: 계약을 새로 보내거나 고치지 않아요.

### ADM-22 발급을 기다리는 증명서를 봐요.
- 누가: 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「증명서 발급할 거 뭐 있어?」 「대기 중인 재직증명서 보여줘」 「발급 기다리는 증명서 알려줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"run_read","arguments":{"tool":"query_pending_certificates","args":{}}}
     서버: 몸통 src/routes/mcp-tools/ops.ts:query_pending_certificates
     다음으로 넘길 값: 신청 번호 · 증명서 종류 · 신청한 사람
```

- 필요한 값 · 되묻기: 따로 말할 값은 없어요.
- 끝: 발급을 기다리는 증명서 신청을 보여 줘요.
- 화면: 재직/해촉/위촉 증명서 발급 (/admin/enterprise/certificate)
- 하면 안 되는 것: 목록만 보고 발급은 하지 않아요.

### 이 영역 도구가 나오는 다른 흐름

- MSG-07 주 52시간이 임박하면 알림을 받게 해요. → https://insacheck.com/docs/mcp/messenger.md

## 안 되는 것 · 대안

아직 AI 로 안 되는 일이에요. 대신 화면에서 해요.

- 연결된 AI 앱을 끊어요. → AI 연동 → 연결된 앱 (/admin/enterprise/ai-integrations)
- AI 가 올린 승인 요청을 앱에서 승인해요. → AI 승인 요청 (/worker/mcp-approvals)
- AI 연결 감사 기록을 파일로 받아요. → AI 연동 → 연결된 앱 → 감사 기록 파일 (/admin/enterprise/ai-integrations/audit.csv)
- 결재 진행 현황을 한눈에 봐요. → 결재함 (/admin/enterprise/approval-status)
- 근무 규칙이 언제 바뀌었는지 봐요. → 근무 규칙 (/admin/enterprise/attendance-policies)
