반응형

🧠 1. Sampling — 서버가 LLM 호출 요청하는 방법
MCP에서 Sampling이란, 서버가 "나 대신 Claude/GPT에게 이 질문 좀 던져줘"라고 요청하는 행위입니다.
🧪 예시 시나리오
서버가 내부 데이터로 전략 요약을 만들고 싶을 때:
{
"method": "sample",
"params": {
"prompt": "이 전략을 5줄로 요약해줘",
"context": {
"resources": ["strategy_detail.json"]
}
}
}
🎯 특징
- 서버는 LLM에 직접 접근할 수 없음
- 대신, 클라이언트가 모델을 호출하고 응답을 받아 전달
- 따라서 사용자 동의 및 권한 제어는 클라이언트(Host)가 수행
🛡️ MCP는 의도적으로 서버가 전체 프롬프트를 못 보게 설계되어 있음.
사용자 동의 없이 아무런 샘플링도 일어나지 않음.
📂 2. Root — 서버가 접근 가능한 파일 범위
MCP에서 root는 서버가 접근 가능한 디렉토리의 범위를 정의합니다. 이는 마치 "서버에게 열어주는 내 파일 시스템의 창문"과 같습니다.
🗂️ Root 구성 예시
{
"roots": [
{
"uri": "file:///Users/laila/trading-strategies/",
"name": "내 전략 폴더"
}
]
}
서버는 이 Root 아래의 파일만 탐색 가능
MCP는 보안상 전체 파일 접근을 허용하지 않음
🔄 Root & Resource 연결 흐름
서버는 Root 안에 있는 파일을 Resource로 노출할 수 있습니다.
예를 들어 Root 디렉토리에 BTC_30d.csv가 있다면, 이걸 /resources/price_data로 노출 가능. 이후 Claude나 GPT는 이 리소스를 읽고 전략을 만들거나 분석할 수 있게 됩니다.
🧩 예시 시나리오 전체 흐름
sequenceDiagram
participant User
participant Host
participant Client
participant Server
User->>Host: 전략 요약 요청
Host->>Client: 전략 요청 전달
Client->>Server: 필요한 파일이 뭔지 물어봄
Server->>Client: Root 목록 요청
Client->>Server: 파일 시스템 열람 권한 전달
Server->>Client: 샘플링 요청 (LLM 호출)
Client->>Host: 모델 호출, 응답 받음
Host->>User: 요약 결과 반환
정리하면...

개념 | 역할 | 통제 주체 |
🧠 Sampling | LLM 호출 요청 | 서버 → 클라이언트가 실행 |
📂 Root | 서버의 파일 접근 범위 정의 | 클라이언트/호스트가 설정 |
🔐 보안 | 서버는 전체 시스템을 볼 수 없음 | 사용자 동의 + 제한된 범위 |
✨ 요약: 서버가 AI 모델에게 "이거 해줘" 하는 방식
- Sampling은 서버가 모델에게 질문하는 방식이지만, 항상 호스트(클라이언트)가 중개자 역할을 함.
- Root는 서버가 볼 수 있는 디렉토리를 제한하여 보안과 투명성을 확보함.
반응형
'AI 공부 > AI 에이전트 (AI Agents)' 카테고리의 다른 글
🔍 MCP의 세 가지 핵심 구성요소 — Prompts, Resources, Tools 완전 이해 (0) | 2025.04.02 |
---|---|
🏗️ MCP 아키텍처 완전 정리 — Host, Client, Server— 컨텍스트가 오가는 구조를 이해하면, MCP가 보인다! (0) | 2025.04.01 |
🧠 MCP의 핵심 철학: Context의 힘 (0) | 2025.03.31 |
MCP란 무엇인가? — AI의 새로운 문법 (0) | 2025.03.30 |
💡Agentic AI 시대의 데이터 엔지니어링 혁신 (0) | 2025.03.29 |