한 성장 마케팅 컨설턴트는 Model Context Protocol (MCP) 서버를 구축함으로써, 14개의 브라우저 탭과 끝없는 스프레드시트에서 데이터를 추출하느라 오후 전체를 허비하던 일을 멈췄습니다. 이 서버를 통해 AI 어시스턴트는 Google Ads, Meta, GA4 및 Search Console의 데이터를 가져오고 이를 바탕으로 작업을 수행할 수 있습니다. 이제 AI는 수동 작업 없이도 월간 보고서를 생성하고, 감사를 수행하며, 최적화를 적용합니다. 덕분에 마케터는 데이터 정리 대신 전략에 집중할 수 있게 되었습니다.

이러한 변화가 중요한 이유

유료 검색, 소셜 및 분석 플랫폼에 대한 보고 작업은 과거에 수동적인 일련의 과정이었습니다. 각 대시보드를 열고, 숫자를 스프레드시트에 복사하고, 불일치하는 부분을 조정하고, 인사이트를 작성하는 식이었죠. 이러한 노력은 귀중한 시간을 잡아먹고 인적 오류를 유발했습니다. MCP는 AI에게 플랫폼의 네이티브 쿼리 언어와 API에 대한 직접적인 접근 권한을 부여함으로써 워크플로우를 변화시킵니다. 즉, "숫자를 알려줘"라는 요청을 "나를 위해 숫자를 가져와 줘"로 바꾼 것입니다.

기술적 토대

MCP는 LLM 기반 어시스턴트가 추론 과정의 일부로 외부 도구를 호출할 수 있게 해주는 프로토콜입니다. 실제로 컨설턴트는 각 플랫폼의 원시 쿼리 언어(Google Ads → GAQL)와 Meta, GA4, Search Console을 위한 표준 REST 엔드포인트를 노출하는 작은 웹 서비스를 구축했습니다. AI는 쿼리를 생성하여 서버로 보내고, 구조화된 결과를 수신하며, 쓰기 작업(write-operations)을 수행한 뒤 확인을 위한 읽기 작업을 이어서 수행할 수 있습니다.

성과를 거둔 세 가지 설계 선택

  • 얇은 래퍼(thin wrappers) 대신 네이티브 쿼리 언어 노출 – 처음에는 각 데이터 요구 사항에 대해 별도의 함수(예: get_campaigns)를 작성했습니다. 하지만 새로운 보고 관점이 추가될 때마다 코드베이스가 급격히 비대해졌습니다. GAQL을 직접 노출함으로써, 단일 엔드포인트만으로 AI가 필요한 모든 쿼리를 작성할 수 있게 되었습니다. 어시스턴트가 구성한 GAQL은 컨설턴트의 수동 스크립트보다 뛰어난 성능을 보였으며, 이 패턴은 다른 플랫폼에도 동일하게 적용되었습니다.
  • 모든 쓰기 작업을 읽기로 검증 – API는 변경 사항이 제대로 반영되지 않았음에도 성공 플래그를 반환하는 경우가 많습니다. 이제 서버는 각 쓰기 작업 후에 데이터를 다시 읽어옵니다. 예상한 값이 없으면 실패를 기록하고 사용자에게 알립니다. 이러한 안전장치는 성과 데이터를 손상시킬 수 있는 조용한 오류를 방지합니다.
  • 마크다운 오류 로그 유지 – 모든 버그, 잘못 입력된 필드 또는 오해된 규칙은 learned-errors.md에 기록됩니다. AI는 각 세션 시작 시 이 파일을 읽어 무엇을 반복하지 말아야 할지 스스로 학습합니다.

시간을 낭비하게 만든 세 가지 함정

  • 도구와 임포트 간의 이름 충돌 – 함수 이름이 임포트된 모듈과 동일하여 런타임에 서버가 충돌하는 일이 발생했습니다. 각 임포트에 별칭(alias)을 부여하여 충돌을 해결했습니다.
  • 핫 리로드(hot reloads) 간과 – MCP 서버는 실행 시 코드를 한 번만 로드했습니다. 코드베이스를 변경해도 전체 클라이언트 프로세스를 재시작하기 전까지는 반영되지 않아, 작동하지 않는 코드를 디버깅하는 데 몇 시간을 허비했습니다. 수정할 때마다 전체 재시작 워크플로우를 추가하여 문제를 해결했습니다.
  • 누락된 종속성 – 가상 환경에 없는 잘못된 임포트 때문에 서버가 시작 시 중단되었습니다. 이제 사전 점검(Pre-flight checks)을 통해 재시작 전에 필요한 모든 패키지를 설치하고 확인하여 문제를 조기에 발견합니다.

요약

소규모 MCP 서버만으로도 노동 집약적인 보고 의식을 자동화되고 감사 가능한 워크플로우로 바꿀 수 있지만, 이를 위해서는 절제된 코딩 관행과 소규모 서비스를 유지하려는 의지가 필요합니다. 설정에 시간을 투자하는 마케터는 스프레드시트 작업의 고단함을 전략적 분석으로 바꿀 수 있습니다.