Model Context Protocol (MCP) 서버: 초보자를 위한 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능
대상자
AI/ML 개발자, DevOps 엔지니어, 클라우드 아키텍처 설계자
난이도: 중급 (Python 기초 및 API 이해 필요)
핵심 요약
- MCP는 기존 모델에 특정 데이터를 연결해 정확한 결과를 생성하는 프로토콜
@mcp.tool
데코레이터로 API 호출을 간결하게 구현 가능- RAG와 MCP 비교: MCP는 애플리케이션 스택에 종속되지 않음
awslabs.eks-mcp-server
같은 패키지로 빠르게 구현 가능- MCP 서버 구현 예시: 날씨 API 활용한 클라이언트/서버 통신 구조
httpx.get()
을 사용해 외부 API와 연동
섹션별 세부 요약
1. AI 모델 발전의 3단계 트렌드
- 1단계: 모델 훈련
- Microsoft, Google 등 대규모 기업이 직접 모델 훈련
- 데이터셋 수집 및 ML 툴 사용으로 모델 생성
- 2단계: Fine-tuning 및 RAG
- 기존 모델을 특정 데이터셋으로 재정비
- RAG는 런타임 시 외부 데이터(예: 문서, 블로그) 연결 가능
- 3단계: MCP 도입
- RAG의 애플리케이션 스택 종속성 문제 해결
- Centralized Context Management 제공
2. MCP의 핵심 개념
- MCP 서버 구조
- 클라이언트/서버 아키텍처 기반
- 특정 데이터에 대한 요청을 처리하는 애플리케이션 서버
- MCP 서버 예시 코드
```python
@mcp.tool
def get_weather(location: str) -> str:
"""날씨 API를 호출해 위치 기반 날씨 정보 반환"""
NWS_API_BASE = "..."
USER_AGENT = "weather-app/1.0"
# httpx 라이브러리 사용
response = httpx.get(...)
```
- MCP 서버 실행 예시
uvx
명령어로 AWS EKS MCP 서버 실행- 환경 변수 설정:
AWS_PROFILE
,AWS_REGION
3. MCP 서버 구현 사례
- AWS EKS용 MCP 서버
awslabs.eks-mcp-server
파이썬 패키지 사용- JSON 또는 클라이언트 내부에 패키지 임베딩 가능
- 클라이언트 코드 구조
```python
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
tools_result = await session.list_tools()
print("Available tools:", [tool.name for tool in tools_result.tools])
```
- Reddit 게시물 및 YouTube 강의 추천
- Anthropic MCP 프레임워크 사용 사례
- MCP 개념 이해를 위한 시각적 설명 영상
결론
- MCP는 기존 RAG의 한계를 극복한 새로운 프로토콜
@mcp.tool
데코레이터와awslabs.eks-mcp-server
패키지 활용- 클라이언트-서버 통신 구조로 애플리케이션 간 재사용성 향상
- "MCP 서버 구현 시, Python 기반의 간결한 API 호출 구조를 우선 고려해야 함"