> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sifi.life/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP 서버 연동과 Agent 모드 실전 팁

> Genie Code에서 MCP 서버를 조합하여 워크플로를 자동화하고, Agent 모드를 안전하고 효과적으로 활용하는 방법을 다룹니다.

> [설정 & 모범사례](settings-best-practices) 페이지에서 이어지는 내용입니다.

***

## 5. MCP 서버 연동

### 5.1 MCP 서버 추가 방법

MCP 서버는 Genie Code가 외부 도구를 호출할 수 있게 해주는 연결 통로입니다. Agent 모드에서만 동작합니다.

**설정 경로:**

1. Genie Code 패널 > **Settings** > **MCP servers**
2. **"Add MCP server"** 클릭
3. MCP 서버 이름, URL, 인증 정보 입력
4. 연결 테스트 후 저장

> **참고**
> MCP 서버 연동의 상세 설정 방법과 아키텍처는 [MCP 연동](mcp) 페이지에서 자세히 다룹니다. 이 섹션에서는 **어떤 서버를 어떻게 조합하면 효과적인지** 에 집중합니다.

### 5.2 유용한 MCP 서버 조합

단일 MCP 서버도 유용하지만, 여러 서버를 **조합** 하면 워크플로 자동화의 진정한 가치가 드러납니다. 다음은 역할별로 검증된 조합입니다.

**데이터 엔지니어 추천 조합:**

| MCP 서버             | 활용 시나리오                            |
| ------------------ | ---------------------------------- |
| **Databricks MCP** | Unity Catalog 탐색, SQL 실행, 파이프라인 관리 |
| **GitHub MCP**     | 파이프라인 코드 검색, PR 생성, 코드 리뷰          |
| **Slack MCP**      | 파이프라인 실패 알림, 팀 채널에 결과 공유           |

이 조합으로 가능한 워크플로 예시: "파이프라인 실패 원인을 분석하고, 수정 코드를 GitHub PR로 올리고, #data-eng 채널에 요약을 공유해줘"

**데이터 분석가 추천 조합:**

| MCP 서버             | 활용 시나리오                |
| ------------------ | ---------------------- |
| **Databricks MCP** | 테이블 탐색, 쿼리 실행, 대시보드 생성 |
| **Slack MCP**      | 분석 결과를 팀/경영진 채널에 공유    |
| **JIRA MCP**       | 분석 요청 티켓 관리, 완료 보고     |

**ML 엔지니어 추천 조합:**

| MCP 서버             | 활용 시나리오                   |
| ------------------ | ------------------------- |
| **Databricks MCP** | 실험 관리, 모델 레지스트리, 서빙 엔드포인트 |
| **GitHub MCP**     | 학습 코드 버전 관리, 모델 배포 파이프라인  |
| **Slack MCP**      | 학습 완료 알림, 모델 성능 리포트 공유    |

***

## 6. Agent 모드 실전 팁

Agent 모드에서 Genie Code는 단순한 코드 생성기에서 **자율적으로 계획하고, 실행하고, 검증하는 AI 에이전트** 로 변환됩니다. 이 자율성은 강력하지만, 제대로 다루지 않으면 의도하지 않은 결과를 초래할 수 있습니다.

### 6.1 컨텍스트 격리 전략

Genie Code의 대화 세션은 **컨텍스트 윈도우** 를 공유합니다. 하나의 세션에서 여러 작업을 처리하면 이전 작업의 맥락이 새 작업에 영향을 줍니다.

**원칙: 하나의 세션 = 하나의 작업 단위**

| 상황                      | 권장 행동                  |
| ----------------------- | ---------------------- |
| 새로운 데이터셋을 분석할 때         | 새 채팅 세션 시작             |
| 이전 분석과 관련 없는 코드를 작성할 때  | 새 채팅 세션 시작             |
| 이전 분석 결과를 기반으로 후속 작업할 때 | 같은 세션에서 계속             |
| 에러가 반복되어 세션이 혼란스러울 때    | 새 채팅 세션에서 문제를 깔끔하게 재정의 |

> **주의**
> 브라우저 탭을 전환하면 Agent 모드가 **일시정지** 됩니다. 장시간 작업을 실행 중일 때 탭을 떠나면 작업이 중단될 수 있습니다. 또한 **브라우저 새로고침** 은 현재 세션의 실행 상태를 초기화합니다.

### 6.2 권한 관리: "Always Allow" 주의

Agent 모드에서 Genie Code가 도구를 호출하거나 코드를 실행할 때, 사용자에게 **승인(Approve)** 을 요청합니다. 이때 **"Always Allow"** 옵션이 표시됩니다.

**"Always Allow"를 사용해도 되는 경우:**

* 읽기 전용 작업 (테이블 스키마 조회, SELECT 쿼리)
* sandbox/dev 환경에서의 개발 작업

**"Always Allow"를 사용하면 안 되는 경우:**

* 프로덕션 데이터에 대한 쓰기 작업
* 외부 시스템으로의 데이터 전송 (Slack 메시지, JIRA 티켓 생성)
* DROP, DELETE, UPDATE 등 파괴적 작업이 포함될 수 있는 경우

> **주의**
> "Always Allow"는 편리하지만 **안전망을 제거** 합니다. Agent가 자율적으로 판단하여 실행하는 작업의 범위가 넓어질수록, 개별 액션 확인이 더 중요해집니다. 특히 프로덕션 환경에서는 매 액션을 직접 확인하는 것을 원칙으로 하세요.

### 6.3 작업 정의 방식: 목표 중심 + 제한 설정

Agent 모드에서는 **단계별 지시** 보다 **최종 목표 + 제한 조건** 을 주는 것이 더 효과적입니다. Agent가 스스로 최적 경로를 찾도록 하되, 넘지 말아야 할 경계를 명확히 하는 것입니다.

**비효과적인 프롬프트 (단계별 지시):**

```
1. orders 테이블을 읽어줘
2. customer_id로 그룹핑해줘
3. 매출 합계를 계산해줘
4. 상위 10개를 정렬해줘
5. 결과를 차트로 보여줘
```

**효과적인 프롬프트 (목표 + 제한):**

```
@main_catalog.sales.orders 테이블에서 상위 10 고객의 매출 분석 대시보드를 만들어줘.

제한사항:
- 최근 90일 데이터만 사용
- 개발 중에는 1000행으로 제한하여 먼저 테스트
- 결과는 dev_catalog.sandbox.simyung에 저장
- Plotly 차트 사용
```

이 접근법이 더 나은 이유는, Agent가 중간 단계에서 최적화할 여지를 갖게 되기 때문입니다. 예를 들어 데이터 크기에 따라 파티셔닝 전략을 자율적으로 결정하거나, 더 효율적인 집계 방식을 선택할 수 있습니다.

### 6.4 보안 제한 설정

Agent 모드에서 가장 중요한 것은 **위험한 작업을 사전에 차단** 하는 것입니다. 프롬프트에 명시적 제한을 포함하세요:

```
분석 진행하되 다음 규칙을 반드시 지켜줘:
- DROP TABLE, DELETE, UPDATE, ALTER 문을 실행하지 마
- 프로덕션 카탈로그(prod_catalog)에 절대 쓰기하지 마
- 외부 API 호출 시 민감 데이터를 전송하지 마
- 모든 중간 결과는 dev_catalog.sandbox.{내이름}에만 저장해
```

> **팁**
> 이 보안 규칙들은 User Instructions에 한 번 설정해두면 매 프롬프트에 반복하지 않아도 됩니다. 하지만 특히 민감한 작업에서는 **프롬프트에서 한 번 더 강조** 하는 이중 방어가 안전합니다.

### 6.5 개발/테스트 시 제한 설정

Agent가 대규모 테이블에 대해 작업할 때, 처음부터 전체 데이터를 처리하면 시간과 비용이 낭비됩니다:

```
먼저 1000행 샘플로 로직을 검증한 뒤, 확인되면 전체 데이터로 실행해줘.
```

이 한 줄이 클러스터 비용을 크게 절약합니다. Agent가 로직을 완성하고 사용자의 확인을 받은 후에만 전체 스케일로 확장하기 때문입니다.

### 6.6 무한 루프 대응

Agent 모드에서 드물게 **오류 → 수정 → 오류 → 수정** 의 무한 루프에 빠질 수 있습니다. 같은 에러가 2-3번 반복되면 Agent가 스스로 벗어나지 못할 가능성이 높습니다.

**대응 방법:**

1. 즉시 **Stop** 버튼으로 실행 중단
2. 현재까지의 에러 메시지를 복사
3. **새 채팅 세션** 을 열어서 에러 원인을 텍스트로 설명하고 해결 방향을 질문
4. Agent에게 단계별로 실행시키되, 각 단계를 확인한 후 다음으로 진행

> **주의**
> 무한 루프가 발생하면 **같은 세션에서 계속 시도하지 마세요.** 세션의 컨텍스트가 이미 에러 정보로 가득 차 있어서, Agent가 잘못된 맥락에서 벗어나기 어렵습니다. 깔끔한 새 세션에서 문제를 다시 정의하는 것이 훨씬 빠릅니다.

***

## 7. 추천 설정 조합 (역할별)

모든 설정을 처음부터 완벽하게 구성할 필요는 없습니다. 역할에 맞는 핵심 설정부터 시작하고, 사용하면서 점진적으로 확장하세요.

다음 표는 Databricks 데이터 팀의 주요 역할별로 검증된 설정 조합을 보여줍니다.

| 역할           | User Instructions 중점          | 추천 Workspace 스킬      | 추천 MCP 서버                 |
| ------------ | ----------------------------- | -------------------- | ------------------------- |
| **데이터 엔지니어** | PySpark 패턴, DLT 규칙, 에러 핸들링 표준 | 파이프라인 템플릿, 데이터 품질 검증 | Databricks, GitHub, Slack |
| **데이터 분석가**  | SQL 스타일, 시각화 선호, 리포트 형식       | 대시보드 생성, 리포트 자동화     | Databricks, Slack         |
| **ML 엔지니어**  | MLflow 규칙, 실험 네이밍, 모델 문서화     | 모델 배포 절차, 피처 엔지니어링   | Databricks, GitHub, Slack |
| **데이터 과학자**  | 탐색 분석 패턴, 통계 검정 절차            | EDA 템플릿, 실험 결과 정리    | Databricks, Slack         |
| **플랫폼 관리자**  | 거버넌스 규칙, 리소스 관리 정책            | 권한 감사, 비용 분석         | Databricks, JIRA, Slack   |

이 표에서 모든 역할에 **Databricks MCP** 와 **Slack MCP** 가 공통으로 포함된 것에 주목하세요. Databricks MCP는 워크스페이스 내 자원에 접근하는 기본 도구이고, Slack MCP는 결과를 팀과 공유하는 가장 빈번한 채널이기 때문입니다. GitHub MCP는 코드를 직접 관리하는 역할(엔지니어)에게 특히 유용합니다.

### 설정 우선순위 가이드

처음 Genie Code를 사용한다면, 다음 순서로 설정하는 것을 권장합니다:

1. **Workspace Instructions 확인**: 관리자가 이미 설정했는지 확인하고, 내용을 숙지합니다
2. **User Instructions 작성**: 자신의 역할, 선호 라이브러리, 보안 규칙을 정의합니다
3. **MCP 서버 추가**: Databricks MCP부터 시작하고, 필요에 따라 Slack/GitHub를 추가합니다
4. **Skills 생성**: 반복 작업이 2-3번 이상 발생하면 스킬로 만듭니다

> **참고**
> 설정은 **살아있는 문서** 입니다. 처음에 완벽할 필요 없습니다. 사용하면서 "이걸 매번 말하고 있네"라고 느끼는 순간이 User Instructions에 추가할 타이밍이고, "이 절차를 또 설명하고 있네"라고 느끼는 순간이 스킬을 만들 타이밍입니다.

***

## 관련 가이드

* [Genie Code 사용법](usage) — 기본 사용법과 인터페이스 가이드
* [활용 시나리오](scenarios) — 역할별 실전 사용 사례
* [프롬프트 쿡북](prompt-cookbook) — 검증된 프롬프트 템플릿 모음
* [MCP 연동](mcp) — MCP 서버 상세 설정과 아키텍처
