MCP를 활용한 첫 번째 AI 에이전트 구축: 단계별 가이드
요약
Model Context Protocol(MCP)을 사용하여 외부 도구와 통신하는 AI 에이전트를 구축하는 단계별 가이드입니다. Python SDK를 활용해 MCP 서버를 생성하고, 날씨 조회와 같은 도구를 AI 모델에 연결하는 아키텍처를 학습합니다.
핵심 포인트
- MCP의 개념과 AI 에이전트 구성 요소 간의 상호작용 이해
- Python SDK를 이용한 MCP 서버 구축 및 도구(tools) 노출 방법
- 사용자 질문 수신부터 최종 응답 생성까지의 전체 워크플로우 습득
- 날씨 조회 예제를 통한 실전적인 에이전트 아키텍처 구현
Model Context Protocol (MCP)에 대해 들어봤지만, 이를 활용해 무엇인가를 어떻게 구축해야 할지 모르겠다면 이 가이드가 도움이 될 것입니다.
이전 기사에서 저는 MCP가 무엇인지, 그리고 왜 중요한지에 대해 설명했습니다. 아직 읽어보지 않으셨다면, 거기서부터 시작하는 것을 추천합니다.
개념을 이해하는 것과 실제로 MCP를 사용하는 AI 에이전트를 구축하는 것은 별개의 문제입니다.
이 가이드에서 여러분은 MCP 서버와 통신하고, 외부 도구를 사용하며, 유용한 응답을 반환하는 간단한 AI 에이전트를 구축하게 될 것입니다. 더 중요한 것은, 각 구성 요소가 왜 존재하는지, 그리고 이들이 어떻게 함께 작동하는지를 이해하게 된다는 점입니다.
이 과정을 마치면, 더 발전된 AI 애플리케이션으로 확장할 수 있는 탄탄한 기초를 갖추게 될 것입니다.
여러분이 구축할 것
AI 어시스턴트에게 다음과 같이 질문한다고 상상해 보세요:
"오늘 토론토 날씨는 어떤가요?"
AI는 답을 추측하는 대신, 날씨 도구(weather tool)에 접속하여 실제 정보를 가져온 뒤 자연스럽게 응답합니다.
이 모든 상호작용은 Model Context Protocol을 통해 가능해집니다.
우리의 간단한 AI 에이전트는 다음과 같은 역할을 수행합니다:
- 사용자의 질문 수신
- 도구 사용 필요 여부 결정
- MCP 서버 호출
- 구조화된 데이터(structured data) 수신
- 최종 응답 생성
날씨 예시를 사용하겠지만, 동일한 아키텍처(architecture)는 다음과 같은 분야에서도 사용됩니다:
- AI 코딩 어시스턴트
- 고객 지원 에이전트
- 문서 검색 애플리케이션
- 데이터베이스 어시스턴트
- 사내 챗봇
사전 요구 사항
시작하기 전에 다음 사항이 준비되었는지 확인하세요:
- Python 3.11 이상
- Claude Desktop
- Visual Studio Code (권장)
- 기본적인 Python 지식
또한 공식 MCP Python SDK를 사용할 것입니다.
아키텍처 이해하기
코드를 작성하기 전에, MCP 애플리케이션을 통해 요청이 어떻게 흐르는지 이해하는 것이 도움이 됩니다.
┌──────────┐
│ User │
└────┬─────┘
...
각 구성 요소는 특정 책임을 가집니다.
| 구성 요소 | 책임 |
|---|---|
| User | 질문하기 |
| ... |
1단계: 프로젝트 생성
새 프로젝트 폴더를 생성합니다.
mkdir weather-agent
cd weather-agent
가상 환경 (virtual environment)을 생성합니다.
python -m venv .venv
가상 환경을 활성화합니다.
Windows
.venv\Scripts\activate
macOS/Linux
source .venv/bin/activate
MCP SDK를 설치합니다.
pip install mcp
2단계: 첫 번째 MCP 서버 구축
모든 MCP 서버는 하나 이상의 **도구 (tools)**를 노출합니다.
도구란 AI 모델이 정보가 필요하거나 특정 동작을 수행해야 할 때 언제든지 호출할 수 있는 단순한 함수입니다.
예시:
- 날씨 조회
- 계산기
- 파일 읽기
- SQL 데이터베이스 쿼리 (SQL database query)
- 이메일 발송
날씨 도구를 만들어 보겠습니다.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Weather Server")
...
이 예제는 하드코딩된 데이터를 반환하지만, 동일한 구조를 실제 API와 함께 사용할 수 있습니다.
3단계: 코드 이해하기
수행된 내용을 자세히 살펴보겠습니다.
mcp = FastMCP("Weather Server")
MCP 서버를 생성합니다.
@mcp.tool()
Python 함수를 MCP 도구로 등록합니다.
def get_weather(city: str):
Claude가 호출할 수 있는 도구를 정의합니다.
mcp.run()
MCP 서버를 시작합니다.
서버가 실행되면, Claude는 등록된 모든 도구를 자동으로 발견합니다.
사용자는 Claude에게 도구를 언제 사용할지 명시적으로 알려줄 필요가 없습니다.
Claude는 사용자의 요청을 바탕으로 이를 스스로 결정합니다.
4단계: Claude Desktop 연결
Claude Desktop은 MCP 서버가 어디에서 실행 중인지 알아야 합니다.
MCP 설정을 업데이트합니다.
{
"mcpServers": {
"weather": {
...
Claude Desktop을 재시작합니다.
모든 설정이 올바르게 되었다면, Claude는 새로운 날씨 도구를 자동으로 발견할 것입니다.
5단계: 에이전트 테스트
이제 Claude에게 다음과 같이 물어보세요:
오늘 토론토 날씨가 어때?
배후에서는 다음과 같은 워크플로우 (workflow)가 진행됩니다.
사용자가 질문함
│
▼
...
중요한 점을 하나 주목하세요.
Claude는 Python 코드를 작성하고 있는 것이 아닙니다.
도구를 언제 사용해야 할지를 결정하고 있는 것입니다.
이러한 의사 결정 과정이 바로 AI 에이전트 (AI agents)를 강력하게 만드는 핵심입니다.
MCP가 중요한 이유
MCP가 없을 때:
질문 (Question)
↓
...
MCP가 있을 때:
질문 (Question)
↓
...
모델은 학습 데이터 (training data)에만 의존하는 대신, 필요할 때마다 외부 시스템과 상호작용할 수 있습니다.
에이전트 확장하기
하나의 도구 (tool)를 구축하고 나면, 더 많은 도구를 추가하는 것은 간단합니다.
예를 들어:
계산기 (Calculator)
calculate(expression)
파일 읽기 (File Reader)
read_file(filename)
SQL 데이터베이스 (SQL Database)
query_database(sql_query)
이메일 발송 (Email Sender)
send_email()
문서 검색 (Document Search)
search_documents(question)
AI는 사용자의 요청에 따라 어떤 도구를 호출할지 결정합니다.
초보자가 자주 하는 실수
1. 모든 프롬프트가 도구를 사용할 것이라고 기대하는 것
AI 모델은 도구가 필요하다고 판단될 때에만 도구를 호출합니다.
2. 비구조화된 텍스트를 반환하는 것
가능한 한 JSON과 같은 구조화된 데이터 (structured data)를 반환하세요.
구조화된 응답은 언어 모델 (language models)이 이해하기 더 쉽습니다.
3. 너무 큰 도구를 만드는 것
단일 도구는 하나의 명확한 작업만 수행해야 합니다.
도구가 작을수록 유지보수가 쉽고, AI 모델이 정확하게 사용하기에도 용이합니다.
4. 에러 핸들링 (error handling)을 무시하는 것
입력값을 검증하고 의미 있는 에러 메시지를 반환하세요.
신뢰할 수 있는 도구가 신뢰할 수 있는 AI 애플리케이션을 만듭니다.
다음 단계
이제 간단한 MCP 서버를 구축했으므로, 실제 환경의 통합 (integrations)을 통해 확장해 보세요.
몇 가지 아이디어는 다음과 같습니다:
- 실제 날씨 API 연결하기
- 로컬 문서 검색하기
- PostgreSQL 데이터베이스 쿼리하기
- GitHub 어시스턴트 구축하기
- Google Calendar 연결하기
- 파일 관리 어시스턴트 구축하기
- LangGraph를 사용하여 멀티 에이전트 시스템 (multi-agent system) 구축하기
각 프로젝트는 여기서 배운 것과 동일한 MCP 기반 위에서 구축됩니다.
마치며
첫 번째 MCP 서버를 구축하는 것은 단순한 또 하나의 Python 프로젝트 그 이상입니다.
이는 언어 모델을 실제 도구 및 실제 데이터와 연결하는 실질적인 패턴을 소개합니다.
AI 모델이 모든 것을 알 것이라고 기대하는 대신, 모델이 필요할 때마다 전문화된 도구를 발견하고 사용할 수 있도록 허용하는 것입니다.
AI 애플리케이션이 계속 진화함에 따라, MCP와 같은 프로토콜은 현대 소프트웨어 개발의 중요한 부분이 될 것입니다. 이러한 개념을 지금 학습하면 문서를 검색하고, API와 상호작용하며, 데이터베이스를 쿼리하고, 워크플로우를 자동화하며, 현실 세계의 문제를 해결할 수 있는 어시스턴트를 구축할 준비를 갖출 수 있습니다.
하나의 도구로 시작하세요.
그다음 다른 도구를 추가하세요.
머지않아, 여러분은 단순한 대화를 훨씬 뛰어넘는 작업을 처리할 수 있는 AI 에이전트를 갖게 될 것입니다.
읽어주셔서 감사합니다
이 가이드가 도움이 되었다면, AI 엔지니어링 (AI Engineering), MCP, LangGraph, RAG, FastAPI, 그리고 풀스택 (Full Stack) 개발에 관한 더 많은 글을 위해 저를 팔로우해 주세요.
🔗 LinkedIn: https://www.linkedin.com/in/sushyamnagallapati/
즐거운 빌딩 되세요!
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기