> ## 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 개요 & 아키텍처

> 이 문서는 **[Genie Code](/blog/guides/genie-code/overview)** 섹션의 일부입니다.

## MCP란 무엇인가?

MCP(Model Context Protocol)는 **Anthropic이 개발한 오픈소스 프로토콜** 로, AI 에이전트가 외부 도구에 접근하기 위한 **표준 인터페이스** 입니다.

### MCP가 Genie Code를 변환하는 방식

| MCP 없는 Genie Code    | MCP가 있는 Genie Code           |
| -------------------- | ---------------------------- |
| 분석 완료 → Slack 수동 복붙  | "Slack #team에 공유해줘" 한 마디로 전송 |
| 이슈 발견 → JIRA 수동 생성   | "JIRA Bug 티켓 만들어줘" 자동 생성     |
| 코드 참조 → GitHub 수동 검색 | "비슷한 파이프라인 코드 찾아줘" 즉시 검색     |

> **참고**
> MCP의 진정한 가치는 여러 도구를 **하나의 워크플로로 연결** 하는 것입니다.

### 핵심 아키텍처

| 참여자            | 역할        | Databricks 예시              |
| -------------- | --------- | -------------------------- |
| **MCP Host**   | AI 애플리케이션 | Genie Code                 |
| **MCP Client** | 서버 연결 관리  | Genie Code 내부              |
| **MCP Server** | 도구/리소스 제공 | GitHub MCP, UC Functions 등 |

### 3가지 구성 요소

| 구성 요소         | 설명                        |
| ------------- | ------------------------- |
| **Tools**     | 실행 가능한 함수 (파일 검색, API 호출) |
| **Resources** | 컨텍스트 데이터 소스 (파일, DB 레코드)  |
| **Prompts**   | 재사용 가능한 템플릿               |

### 통신 방식

| 방식                  | 설명              | 사용 환경                 |
| ------------------- | --------------- | --------------------- |
| **Stdio**           | 로컬 프로세스 통신      | 로컬 개발                 |
| **Streamable HTTP** | HTTP POST + SSE | 원격 서버 (Databricks 기본) |

***

## Databricks MCP 서버 유형

### 유형 1: Managed MCP (관리형)

| 서버                          | 용도                 |
| --------------------------- | ------------------ |
| **Unity Catalog Functions** | SQL 함수 실행          |
| **Vector Search**           | 벡터 검색 인덱스 쿼리       |
| **Genie Space**             | 자연어 데이터 분석 (읽기 전용) |
| **Databricks SQL**          | AI 생성 SQL 실행       |

### 유형 2: External MCP (외부)

UC Connection을 통한 안전한 외부 연결. 프록시 엔드포인트: `https://<hostname>/api/2.0/mcp/external/{connection_name}`

| 연결 방법             | 설명                        |
| ----------------- | ------------------------- |
| **Managed OAuth** | Databricks가 OAuth 관리 (권장) |
| **Marketplace**   | 사전 빌드된 통합                 |
| **Custom HTTP**   | Streamable HTTP 서버 커스텀 연결 |

인증: 공유 인증(Shared Principal) 또는 사용자별 인증(Per-user)

### 유형 3: Custom MCP (커스텀)

자체 MCP 서버를 **Databricks App** 으로 호스팅.

1. MCP 서버 코드 작성
2. `databricks apps create <app-name>`
3. 배포 후 엔드포인트: `https://<app-url>/mcp`

> **주의**
> 커스텀 MCP는 **stateless** 로 구현하고 동일 워크스페이스에 배포해야 합니다.

### MCP 서버 확인

워크스페이스 **Agents** → **MCP Servers** 탭에서 등록된 서버를 확인할 수 있습니다.
