# 서버단명령을 MCP서버로 사용하기

## Content

### **Forguncy 애플리케이션을 MCP 서버로 설정하기**

이 문서는 Forguncy 애플리케이션을 MCP 서버로 설정하는 방법을 설명합니다. 이 방식을 통해 애플리케이션 서버단의 업무 로직(즉 서버단 명령)을 표준 AI 도구로 캡슐화하여 외부 AI 애플리케이션(MCP 클라이언트)이 호출할 수 있도록 제공할 수 있습니다.

***

##### **1\. 핵심 개념**

Forguncy 애플리케이션이 MCP 서버로 동작할 때, 이는 "도구 제공자" 역할을 맡게 됩니다. 즉, 애플리케이션에서 생성한 서버단 명령(예: "주문 상태 조회", "신규 휴가 신청 생성" 등)이 모두 AI가 이해하고 호출할 수 있는 "도구"로 변환될 수 있다는 의미입니다.
이는 기업이 여러 업무 시스템을 운영하고 있을 때 특히 유용하며, 사용자 질문에 따라 서로 다른 Forguncy 애플리케이션이 제공하는 서비스를 지능적으로 호출하는 통합 AI 진입점을 만들 수 있습니다.

***

##### **2\. 설정 단계**

서버단 명령을 MCP 도구로 게시하는 과정은 매우 간단합니다.
**1\. MCP 서버 기능 활성화**

* 빌더 상단 메뉴에서 **"파일"** 을 클릭하고 **"애플리케이션 설정"** 을 선택합니다.
* 설정 화면에서 **"서버단 명령을 MCP 서버로 활성화"** 옵션을 체크합니다.
    ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260709.968bca.png?width=800)

**2\. 배포할 서버단 명령 선택**

* **"MCP 서버로 사용할 서버단 명령 선택"** 링크를 클릭하면 대화상자가 팝업됩니다.
* 이 대화상자에서 MCP 도구로 게시하고자 하는 서버단 명령을 체크합니다.
* **주의:** 공개(Public)로 설정되어 있고, HTTP 메서드가 POST 또는 GET인 서버단 명령만 선택할 수 있습니다.
* 선택 완료 후 **"확인"** 을 클릭합니다. 목록에서 선택된 명령들을 확인할 수 있습니다.

![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260709.964738.png?width=800)
**3\. \(선택 사항\) 서버단 명령에서 개별 설정**
개별 서버단 명령을 편집할 때, **"일반"** 설정 탭에서 **"MCP 활성화"** 옵션을 독립적으로 체크하거나 해제할 수도 있습니다.
![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260709.117a2b.png?width=800)

***

##### **3\. 연결 설정 정보 가져오기**

서버단 명령을 MCP 도구로 게시한 후, 다른 AI 애플리케이션(클라이언트)이 해당 서비스에 연결하는 방법을 알아야 합니다. Forguncy는 이를 위해 편리한 설정 정보 조회 방법을 제공합니다.
**1\. 빌더에서 가져오기**

* **"애플리케이션 설정"** 의 **"MCP 서버"** 설정 영역에서 **"MCP 서버 설정 보기"** 버튼을 클릭합니다.
* 시스템이 **"개발 환경(로컬 디버그)"** 과 **"운영 환경(배포 후)"** 두 가지 JSON 설정 예시를 제공합니다.

![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260709.f4e795.png?width=800)
**2\. 관리 콘솔에서 가져오기**

* 애플리케이션 배포 후, 관리 콘솔의 **"서버단 명령"** 페이지에서 **"MCP 서버 설정 보기"** 버튼을 클릭합니다.
* 팝업된 대화상자에는 두 가지 탭이 포함되어 있습니다.
    * **구성:** 현재 애플리케이션의 실제 주소가 자동으로 채워진 완전한 JSON 설정 정보를 표시합니다. 이 설정을 그대로 복사하여 MCP 클라이언트 설정에 사용할 수 있습니다.
        ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260624.55f5b1.png?width=800)
    * **MCP 도구 목록:** 현재 애플리케이션이 게시한 모든 MCP 도구와 그 설명을 나열하여, 클라이언트 개발자가 해당 애플리케이션이 제공하는 능력을 파악하는 데 도움을 줍니다.
        ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260624.c1e6f9.png)

***

##### **4\. 인증 방식 설명**

보안을 위해 배포된 애플리케이션은 OAuth 2.0을 통한 인증이 필요합니다. 단, 로컬 디버그 실행 시에는 인증이 필요하지 않습니다.
클라이언트가 MCP 서비스에 연결할 때 사용할 수 있는 두 가지 인증 설정 방식은 다음과 같습니다.
**방법 1: OAuth 2.0 자동 인증 (권장)**
이는 표준이자 권장되는 방식으로, 클라이언트가 액세스 토큰을 자동으로 획득하고 갱신할 수 있습니다.

1. **사전 준비:** Forguncy 관리 콘솔의 **"보안 설정" → "서드파티 인증"** 에서 클라이언트를 생성하고, 서버단 명령 접근 권한(예: `FGC_AllAppsServerCommands`)을 부여합니다. 이 과정에서 **클라이언트 ID(clientId)** 와 **클라이언트 시크릿(clientSecret)** 을 발급받게 됩니다.
2. **클라이언트 설정:** 호출하는 측(MCP 클라이언트) 애플리케이션에서 다음 형식으로 설정합니다. `url`, `clientId`, `clientSecret`, `tokenUrl`을 실제 정보로 교체합니다.

json

```auto
{
    "url": "http(s)://<애플리케이션 배포 주소>/api/mcp",
    "oauth": {
        "clientId": "여기에 클라이언트 ID를 입력",
        "clientSecret": "여기에 클라이언트 시크릿을 입력",
        "tokenUrl": "http(s)://<관리 콘솔 주소>/UserService/connect/token"
    }
}
```

![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260624.16211d.png?width=800)
**방법 2: 액세스 토큰 수동 설정**
이 방법은 테스트 목적이나 OAuth 자동 인증을 지원하지 않는 일부 클라이언트에 적합합니다.

1. **사전 준비:** 방법 1과 동일하게 먼저 서드파티 인증 클라이언트를 생성해야 합니다. 그런 다음 API 호출 도구(예: Postman)를 사용하여 `tokenUrl` 주소로 액세스 토큰(Access Token) 발급을 요청합니다.
2. **클라이언트 설정:** 발급받은 토큰을 요청 헤더(Headers)에 설정합니다.

json

```auto
{
    "url": "http(s)://<애플리케이션 배포 주소>/api/mcp",
    "headers": {
        "Authorization": "Bearer 여기에 발급받은 액세스 토큰을 입력"
    }
}
```

**주의:** 이 액세스 토큰에는 유효기간이 있으며, 만료 후에는 수동으로 다시 발급받아 설정을 갱신해야 합니다.

***

##### **5\. 중요 안내**

* **명령의 이름과 설명:** AI 모델은 도구의 이름과 설명에 의존하여 언제 해당 도구를 호출할지 판단합니다. 따라서 서버단 명령에 명확하고 정확한 이름과 설명을 작성하여 AI가 그 기능을 올바르게 이해할 수 있도록 해야 합니다.
* **서비스 주소:** Forguncy 애플리케이션이 MCP 서버로서 갖는 서비스 주소(Endpoint)는 고정 형식이며, `http(s)://<애플리케이션 배포 주소>/api/mcp` 형태입니다.