Function Call 구성
Function Call 구성에서는 모델이 호출할 수 있는 서버 함수를 등록하고 입력 스키마, 위험 수준과 승인 여부를 관리합니다. MCP 서버 밖의 내부 기능을 모델에 연결할 때 사용합니다.
개요
각 구성은 Function Call Config ID와 Function Name으로 식별됩니다. 설명과 JSON 입력 스키마는 모델이 함수 선택과 인수 생성을 할 때 사용하며, Risk Level과 Requires Approval은 실제 실행 안전정책의 근거가 됩니다.
구성 항목
| 항목 | 설명 |
|---|---|
| Function Name | 실행기에서 찾는 고유 함수 이름입니다. |
| Description | 함수의 목적, 대상과 변경 여부입니다. |
| Input Schema JSON | 허용할 입력 필드와 형식을 정의합니다. |
| Input Summary | 운영자가 입력 범위를 빠르게 확인하는 설명입니다. |
| Risk Level | read, write, destructive 등 위험 수준입니다. |
| Requires Approval | 실행 전 사용자의 명시적 승인이 필요한지 나타냅니다. |
| Is Use | 모델에 노출할 활성 구성인지 나타냅니다. |
함수 등록
- 실행기에 구현된 정확한 Function Name을 확인합니다.
- 사용자 관점의 목적과 영향을 설명에 작성합니다.
- 필수 필드, 형식과 허용 범위를 JSON Schema로 정의합니다.
- 데이터 변경 여부에 맞는 위험 수준을 선택합니다.
- 쓰기 또는 삭제 작업은 승인을 요구하도록 설정합니다.
- 시험 환경에서 정상·잘못된 입력을 각각 호출합니다.
- 감사 이력과 오류 응답을 확인한 뒤 활성화합니다.
입력 스키마 작성
문자열, 숫자와 배열 형식을 정확히 지정하고 필수 필드를 구분합니다. tenantId, 대상 ID와 변경 내용처럼 권한 검증에 필요한 값은 생략하지 않습니다. 자유 형식 객체를 넓게 허용하면 모델이 예상하지 못한 인수를 만들 수 있습니다.
위험 수준 결정
조회만 수행하고 외부 상태를 바꾸지 않으면 read로 분류할 수 있습니다. DB 저장, 메시지 전송과 작업 시작은 write입니다. 삭제, 취소와 복구하기 어려운 변경은 destructive로 분류합니다. 위험이 분명하지 않으면 Unknown 또는 승인 필요로 시작합니다.
검증 절차
- 필수 인수가 없을 때 실행이 거부되는지 확인합니다.
- 다른 테넌트의 대상 ID가 차단되는지 확인합니다.
- 승인 전에는 실제 변경이 없는지 확인합니다.
- 같은 요청 재시도에서 중복 실행이 방지되는지 확인합니다.
- 실패 응답이 모델에게 실행 성공처럼 전달되지 않는지 확인합니다.
MCP 도구와의 구분
MCP 도구는 서버 카탈로그에서 동적으로 발견되지만 Function Call 구성은 Orchestrator DB에서 직접 관리합니다. 같은 기능을 두 경로로 중복 노출하지 말고 소유 서버와 정책 적용 위치를 하나로 정하십시오.
