반응형

🧱 1. MCP의 전체 구조 요약
MCP는 AI 모델에게 필요한 컨텍스트(문맥)를 가져오기 위해 만들어진 표준 프로토콜입니다.
MCP는 크게 세 가지 역할로 구성됩니다:
구성요소 | 설명 | 예시 |
🧠 Host | 전체 프로세스를 관리하고 연결을 조율하는 컨테이너 | Claude Desktop, Cursor |
🤝 Client | MCP 서버에 연결하여 데이터를 요청하거나 명령을 내리는 역할 | Claude Agent, Cursor 내부 MCP 모듈 |
🛠 Server | 툴/리소스/프롬프트를 제공하는 외부 시스템 | DB MCP 서버, Git MCP 서버, 로그 MCP 서버 등 |

🧭 2. Host의 역할
Host는 MCP 아키텍처의 중앙 통제실이라고 할 수 있습니다. 모든 Client는 Host 안에서 실행됩니다.
🔧 Host가 하는 일
- 클라이언트(Client) 생성 및 관리
- 연결 권한 및 보안 정책 적용
- 사용자 동의 흐름(UI 제공)
- 다양한 서버의 응답을 취합 및 정제
- LLM(예: Claude, GPT)과 통합
🧑💻 예시
- Claude Desktop 앱이 Host가 될 수 있음
- Cursor는 여러 MCP 서버를 연결할 수 있도록 Host 역할 수행
🔌 3. Client의 역할과 예시
Client는 MCP 서버와 직접 대화하는 역할을 합니다.
Host가 만든 Client가 1:1로 특정 서버와 연결되어 작동합니다.
📦 Client가 하는 일
- 서버와 연결을 초기화
- 서버의 capabilities(툴, 리소스 등) 요청
- 명령 전송, 응답 수신
- 사용자의 명령을 정리해서 서버에 전달
🔍 대표 예시
MCP Client설명
Claude Code | Claude 앱 안에서 코딩 툴 서버와 연결 |
Cursor Editor | 편집기에서 MCP 서버로 코드/파일 요청 |
Windsurf (Codium) | 코드 분석, 추천 등 MCP 기능 포함 |
📡 4. Server의 역할
Server는 AI가 사용할 수 있는 기능을 툴(Tools), 리소스(Resources), 프롬프트(Prompts)로 노출합니다.
🔨 Server가 제공하는 기능
구성요소 | 설명 | 예시 |
🛠 Tools | 실행 가능한 기능 (API 호출, 계산 등) | run_backtest, place_order |
📂 Resources | AI가 참고할 수 있는 데이터 | price_data.csv, trade_history.json |
🧠 Prompts | 사용자 정의 명령 템플릿 | "기술적 분석 전략 생성해줘" |
MCP 서버는 로컬(내 컴퓨터) 또는 원격(웹 서버) 어디든 존재 가능
예: GitHub MCP 서버, Supabase Vector DB MCP 서버
🔄 5. 클라이언트 ↔ 서버 간 메시지 흐름 (JSON-RPC)
MCP는 JSON-RPC 2.0이라는 통신 프로토콜을 기반으로 동작합니다.
이 프로토콜은 메시지를 아래와 같은 세 가지로 구분합니다:
유형설명
📨 Request | 요청 메시지 (응답 필요) |
📬 Response | 요청에 대한 응답 |
🔔 Notification | 알림 (응답 불필요) |
🔁 메시지 흐름 예시
백테스트 툴을 실행하는 경우
- Client → Server:
{
"jsonrpc": "2.0",
"method": "tools/run_backtest",
"params": {
"strategy": "mean_reversion",
"period": "30d"
},
"id": 1
}
2. Server → Client:
{
"jsonrpc": "2.0",
"result": {
"sharpe_ratio": 1.8,
"pnl": 12.5
},
"id": 1
}
json
CopyEdit
{ "jsonrpc": "2.0", "method": "log", "params": { "message": "Backtest completed" } }
📊 JSON-RPC 도식화
sequenceDiagram
participant User
participant Host
participant Client
participant Server
User->>Host: 실행 요청 (ex: "백테스트 해줘")
Host->>Client: 프롬프트/리소스 전달
Client->>Server: JSON-RPC Request 전송
Server-->>Client: JSON-RPC Response 수신
Client-->>Host: 결과 반환
Host-->>User: 응답 표시
요약
- Host는 연결을 조율하고 보안을 책임지는 중앙 제어소
- Client는 서버와 직접 통신하며, 사용자 명령을 전달
- Server는 툴, 리소스, 프롬프트를 통해 AI가 쓸 수 있는 능력을 제공
- JSON-RPC로 통일된 메시지 구조를 사용해 신뢰성 높고 표준화된 통신 가능
반응형
'AI 공부 > AI Agents' 카테고리의 다른 글
⚙️ Sampling과 Root — 서버가 모델을 호출하고, 파일에 접근하는 법 (0) | 2025.04.04 |
---|---|
🔍 MCP의 세 가지 핵심 구성요소 — Prompts, Resources, Tools 완전 이해 (0) | 2025.04.02 |
🧠 MCP의 핵심 철학: Context의 힘 (0) | 2025.03.31 |
MCP란 무엇인가? — AI의 새로운 문법 (0) | 2025.03.30 |
💡Agentic AI 시대의 데이터 엔지니어링 혁신 (0) | 2025.03.29 |