챗봇을 넘어: RAG 에이전트를 MCP 서버로 래핑하기
요약
본 글은 RAG 파이프라인을 넘어, AI 에이전트가 외부 도구 및 데이터 소스와 표준화된 방식으로 통신하는 MCP(Model Context Protocol) 서버 구축 과정을 설명합니다. FastAPI와 FastMCP를 사용하여 계산기, 내부 조회 기능 등 다양한 기능을 하나의 공통 인터페이스로 노출하여 엔터프라이즈급 AI 애플리케이션의 확장성을 높이는 방법을 다룹니다.
핵심 포인트
- MCP는 외부 도구/데이터 소스 통신을 표준화하는 개방형 프로토콜입니다.
- FastAPI와 FastMCP를 활용해 다양한 기능을 공통 인터페이스로 노출할 수 있습니다.
- RAG 검색 기능처럼 네트워크 경계를 넘나드는 복잡한 도구도 통합 가능합니다.
- 궁극적으로 MCP는 멀티 에이전트 워크플로우의 핵심 도구 계층 역할을 합니다.
지난 포스트에서는 회사 정책 문서를 기반으로 질문에 답하는 RAG 파이프라인을 다루었습니다. 다음으로 제가 답변하고 싶었던 질문은, 특정 Python import를 하드코딩하지 않고 다른 AI 시스템들이 이 동일한 기능을 사용하게 하려면 어떻게 해야 하는가였습니다.
이것이 저를 MCP 서버 구축으로 이끌었습니다. 본 글에서는 도구(tools)를 AI 에이전트에게 노출하는 맞춤형 MCP 서버를 어떻게 구축했는지, 그리고 이 아키텍처가 어떻게 더 강력한 엔터프라이즈 AI 애플리케이션을 가능하게 하는지 설명하겠습니다.
MCP란 무엇인가?
Model Context Protocol은 AI 애플리케이션이 외부 도구 및 데이터 소스와 통신하는 방식을 표준화하는 개방형 프로토콜입니다.
MCP는 모든 AI 애플리케이션마다 맞춤형 통합을 만드는 대신, 서버가 도구를 노출하고 AI 클라이언트가 이를 발견하고 호출할 수 있는 공통 인터페이스를 제공합니다.
기술 스택
Python, MCP SDK, Ollama / Local LLM, AI Agent Client, FastAPI (선택적 통합).
서버에 실제로 포함된 내용
저는 FastMCP를 사용하여 이를 구축했으며, 현재 네 가지 도구 카테고리를 노출합니다:
calculator_add및calculator_multiply— 계산기 도구.search_company_documents— 지난 프로젝트의 RAG 에이전트이지만, 이제 직접적인 함수 호출 대신 HTTP를 통해 접근합니다. 이 MCP 도구는 RAG 에이전트의 FastAPI/search엔드포인트로 요청을 보내고 답변을 반환합니다. 이 도구는api_key매개변수를 필요로 합니다.get_employee_leave— 인메모리 스토어에서 직원의 남은 PTO(Paid Time Off)를 조회합니다. 외부 호출 없이 간단한 조회만 수행합니다.get_ticket_information— 동일한 패턴으로, 티켓 상태, 할당된 팀, 우선순위를 반환합니다.
각 도구는 @mcp.tool() 데코레이터로 등록되는데, 이것이 FastMCP를 다루기 정말 편리하게 만듭니다.
제가 겪었던 어려움
계산기, 직원, 티켓 도구는 외부 종속성이 없는 간단한 순수 함수였습니다. 반면 RAG 검색 도구는 완전히 다른 문제였고, 이것이 이 전체 프로젝트에서 가장 어려운 부분이었습니다.
내 RAG 에이전트는 자체 FastAPI 서비스로, 독립적인 프로세스에서 실행되며, 메모리에 자체 벡터 스토어를 로드합니다. MCP 서버는 이 중 어느 것도 공유하지 못하며, 일반적인 requests.get() 호출을 통해 실제 네트워크 경계를 넘나들어야 합니다: http://127.0.0.1:8000/search.
RAG 서비스가 작동하지 않을 때 연결 거부(connection refused)와 같은 실제 실패 모드, 타임아웃, 그리고 다른 쪽에서 올바르게 파싱되어야 하는 응답 형태를 처리해야 합니다.
향후 개선 사항 (Future Enhancements)
- 직원 및 티켓 도구에 인증을 확장하여 보호가 부분적이지 않고 통일되도록 합니다.
- 메모리 내 직원/티켓 딕셔너리를 실제 데이터 소스로 대체합니다.
- 궁극적으로 이 MCP 서버를 멀티 에이전트 워크플로우의 도구 계층으로 연결하여, 리서치 에이전트와 작가 에이전트가 각각 자체 직접 통합을 갖는 대신 동일한 발견 가능한 도구 세트를 공유할 수 있도록 합니다.
핵심 요약 (Key Takeaways)
MCP 서버를 구축하는 과정은 AI 애플리케이션에 대한 저의 관점을 변화시켰습니다. 엔터프라이즈 AI의 미래는 단순히 더 나은 응답을 생성하는 것에 관한 것이 아닙니다. 이는 AI 에이전트가 실제 세계 도구 및 비즈니스 기능과 안전하게 상호 작용할 수 있는 시스템을 만드는 것입니다.
MCP는 이러한 차세대 AI 애플리케이션을 구축하기 위한 중요한 기반을 제공합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기