정부 PDF 스크래핑의 고통을 해결하기 위해 MCP 서버를 직접 구축했습니다.
I was tired of fragile scrapers for government PDFs, so I built an MCP server to handle it. Here's the result.
핵심 요약
불안정한 정부 사이트 스크래핑 문제를 해결하고자 MCP 서버를 활용해 데이터를 정형화하는 인프라를 구축했습니다.
- MCP 서버 활용 — 정부 포털의 복잡한 PDF와 HTML 데이터를 정형화된 JSON으로 변환함.
- 에이전트 신뢰성 확보 — 스크래핑 로직을 에이전트 외부로 분리하여 데이터 추출의 안정성을 높임.
- 기술 스택 구성 — FastAPI와 SQLite를 백엔드로 사용하고 CrewAI를 오케스트레이터로 활용함.
- 데이터 품질 관리 — LLM을 통한 추출과 엄격한 타입 정의로 환각 현상을 방지함.
여러분 안녕하세요,
최근 B2G(기업 대 정부) 에이전트를 만들고 있는데, 정부 포털을 스크래핑해 본 적이 있다면 그 악몽을 아실 겁니다. 잘못된 형식의 PDF, 캡차, 매주 바뀌는 레이아웃 같은 것들이죠.
제 CrewAI 에이전트들은 잘못된 데이터 입력 때문에 계속해서 고장 났습니다.
그래서 저는 모든 '더러운 작업'을 전문 인프라로 옮기기로 했습니다. 제가 만든 MCP(Model Context Protocol) 서버는 다음과 같은 일을 합니다.
- 백그라운드에서 포털을 탐색합니다.
- Llama-3(Groq 사용)를 사용하여 엉망인 PDF/HTML 데이터를 엄격하게 타입이 지정된 JSON으로 구조화합니다.
- 새로운 네이티브
MCPServerAdapter를 통해 에이전트에 모든 것을 노출합니다.
결과: 에이전트는 더 이상 '스크래핑'을 하지 않습니다. 그냥 도시의 입찰 기회를 요청하면 깔끔한 JSON을 돌려받을 뿐입니다. 값이나 날짜에 대한 환각은 전혀 없습니다.
아키텍처:
- 백엔드: FastAPI + SQLite (캐싱용).
- 도구: 정부 데이터를 위한 커스텀 MCP 래퍼.
- 오케스트레이터: CrewAI.
에이전트가 실행되는 영상을 첨부했습니다. 브라질의 한 도시에서 클라우드 컴퓨팅 입찰 3건을 찾아내고 몇 초 만에 판매 요약본을 작성했습니다.
커뮤니티에서 테스트할 수 있도록 퍼블릭 래퍼를 공개했습니다. 판매/영업 에이전트를 만들고 있고 이 도구를 써보고 싶으신 분들은 댓글로 알려주시면 레포/템플릿을 공유해 드릴게요!


