AWS App Runner와 FastAPI를 활용한 Model Context Protocol (MCP) 기반 데이터 파이프라인 구축 및 AI 연동

🤖 AI 추천

이 콘텐츠는 웹 스크래핑부터 데이터 저장, API 제공, AI 연동까지의 전체적인 파이프라인을 AWS 기반의 서버리스 아키텍처로 구현하는 방법을 다룹니다. 따라서 백엔드 개발자, 클라우드 엔지니어, 데이터 엔지니어, 그리고 AI 에이전트와 연동되는 서비스를 구축하려는 모든 IT 개발자에게 매우 유용합니다. 특히, AWS App Runner와 같은 관리형 서비스를 통해 배포 과정을 간소화하고, FastAPI와 FastMCP를 활용하여 AI 친화적인 API를 구축하는 경험을 쌓고 싶은 개발자에게 추천합니다. 주니어 레벨부터 시니어 레벨까지 모두 참고할 수 있지만, AWS 및 FastAPI에 대한 기본적인 이해가 있다면 더욱 효과적으로 학습할 수 있습니다.

🔖 주요 키워드

AWS App Runner와 FastAPI를 활용한 Model Context Protocol (MCP) 기반 데이터 파이프라인 구축 및 AI 연동

핵심 기술: 이 게시물은 Firecrawl MCP를 이용한 웹 데이터 스크래핑, AWS DynamoDB를 활용한 데이터 영속화, FastAPI 기반 REST API 구축, FastMCP를 통한 API의 MCP 도구화, 그리고 Docker 및 AWS App Runner를 이용한 배포 및 PydanticAI를 통한 자연어 기반 AI 에이전트 연동까지, 일련의 통합적인 데이터 파이프라인 구축 과정을 상세히 설명합니다.

기술적 세부사항:
* Data Extraction: Firecrawl MCP를 사용하여 https://berghain.berlin에서 이벤트 데이터를 구조화된 JSON 형식으로 스크래핑합니다.
* Data Persistence: 스크래핑된 이벤트 데이터를 id를 파티션 키로 하는 AWS DynamoDB 테이블에 저장합니다. (create_dynamodb_table.py, import_events.py 스크립트 제공)
* REST API: FastAPI를 사용하여 데이터 조회(ID, 연/월별, 위치별, 아티스트별 필터링 및 페이지네이션 포함)를 위한 API 엔드포인트를 제공합니다.
* MCP Publication: FastMCP를 사용하여 FastAPI 엔드포인트를 MCP 도구로 노출시켜 AI 에이전트가 접근 가능하도록 합니다. RouteMap을 통해 특정 경로(^/api/v1/year/.* 등)를 RouteType.TOOL로 지정합니다.
* Deployment: 솔루션은 Docker 이미지로 컨테이너화되고, Amazon ECR에 푸시된 후 AWS App Runner를 통해 완전 관리형 서비스로 배포됩니다. main.tf를 사용하여 App Runner 배포를 자동화하고 DynamoDB 접근 권한을 부여할 수 있습니다.
* AI Agent Integration: PydanticAI와 openai:gpt-4o-mini 모델을 사용하여 구축된 API를 쿼리하는 AI 에이전트를 구성합니다. Agent.run() 메소드를 통해 "I want to know the events of Berghain for March 2025"와 같은 자연어 쿼리를 처리합니다.
* Live Demo: 최종 결과물은 https://mcp-berghain.alejofig.com/sse에서 확인할 수 있습니다.

개발 임팩트: 이 아키텍처는 실시간 정보에 대한 지능적이고 대화형 접근을 가능하게 하며, 웹 데이터 추출, 데이터 관리, API 노출, AI 연동을 위한 확장 가능하고 서버리스적인 솔루션을 제공합니다. 다양한 사용 사례에서 구조화된 데이터를 AI 모델에 노출하는 데 재사용될 수 있습니다.

커뮤니티 반응: 게시물 자체에 직접적인 커뮤니티 반응 언급은 없으나, 제시된 기술 스택(FastAPI, AWS, AI 연동)은 개발자 커뮤니티에서 높은 관심과 활용도를 보입니다.

📚 관련 자료