1P by GN⁺ 7시간전 | ★ favorite | 댓글과 토론
  • MCP를 AI 에이전트의 도구 연결 표준으로 채택해, IDE·내부 챗·AI 에이전트 등 실제 엔지니어링 워크플로우에 프로덕션 수준으로 통합한 Pinterest의 구축 경험
  • 단일 모놀리식 서버 대신 도메인별 다수의 MCP 서버(Presto, Spark, Airflow 등)와 중앙 레지스트리를 조합한 아키텍처 선택
  • 엔드유저 JWT + SPIFFE 메시 아이덴티티 이중 인증 레이어와 비즈니스 그룹 기반 접근 제어로 민감 데이터에 대한 최소 권한 원칙 적용
  • 2025년 1월 기준 월 66,000건 호출, 844명의 월간 활성 사용자, 추정 월 7,000시간 절감이라는 정량적 성과 달성
  • MCP를 단순 실험이 아닌 엔지니어 생산성 인프라로 자리잡게 한 핵심은 보안 우선 설계, 통합 배포 파이프라인, 그리고 직원이 이미 사용하는 도구에의 직접 통합

MCP 도입 배경

  • Model Context Protocol(MCP) 은 LLM이 도구·데이터 소스와 통신할 때 모델·도구별로 별도 통합을 구현하는 대신 통합 클라이언트-서버 프로토콜을 사용하는 오픈소스 표준
  • Pinterest는 MCP를 단순 Q&A가 아닌 엔지니어링 작업 자동화 기반으로 활용—"로그를 읽고 문제를 찾아라"부터 "버그 티켓을 분석해 수정 PR을 제안하라"까지를 목표로 설정

초기 아키텍처 설계

로컬이 아닌 클라우드 호스팅

  • 로컬 MCP 서버(stdio 통신) 방식도 지원하지만, 내부 클라우드 호스팅 MCP 서버를 기본 경로(paved path)로 채택
    • 내부 라우팅·보안 로직 적용이 용이한 환경에서의 운영이 목적
    • 로컬 서버는 실험 용도로만 허용

다수의 소형 서버 vs. 단일 모놀리식 서버

  • 단일 거대 서버 대신 도메인별 소형 MCP 서버 다수를 선택
    • 서버별로 서로 다른 접근 제어 적용 가능
    • 모델의 컨텍스트가 불필요하게 채워지는 문제 방지
  • 초기 피드백: 새 MCP 서버 구축에 배포 파이프라인·서비스 설정·운영 셋업 등 사전 작업이 너무 많다는 문제 제기
    • 해결책으로 통합 배포 파이프라인 구축—팀은 도구 로직만 정의하면 플랫폼이 배포·스케일링을 자동 처리

내부 MCP 레지스트리

  • 승인된 MCP 서버 목록과 연결 방법을 관리하는 단일 진실 공급원(source of truth)
  • 웹 UI: 사람이 서버 탐색, 소유 팀, 지원 채널, 보안 태세, 라이브 상태, 사용 가능한 도구 확인
  • API: AI 클라이언트(내부 AI 챗, IDE 통합, 에이전트)가 서버 탐색·검증, "이 사용자가 서버 X를 사용할 수 있는가" 판단에 활용
  • 레지스트리에 등록된 서버만 프로덕션 승인 서버로 인정—거버넌스 백본 역할

운영 중인 MCP 서버 현황

주요 서버 (사용량 기준)

  • Presto MCP 서버: 트래픽 기준 최고 사용량 서버—에이전트(AI 지원 IDE 포함)가 Presto 기반 데이터를 온디맨드로 조회해 대시보드 전환 없이 워크플로우 내 직접 데이터 활용
  • Spark MCP 서버: AI Spark 디버깅 경험의 기반—Spark 잡 실패 진단, 로그 요약, 구조화된 근본 원인 분석 기록 지원으로 운영 스레드를 재사용 가능한 지식으로 전환
  • Knowledge MCP 서버: 범용 지식 엔드포인트—내부 AI 봇이 회사 지식·Q&A, 문서 및 디버깅 질문에 활용

Pinterest 내부 서비스 통합

  • 다수 Pinterest 직원이 매일 사용하는 내부 LLM 웹 챗 인터페이스에 MCP 도구 통합
    • 프론트엔드가 자동으로 OAuth 플로우 처리 후 현재 사용자에게 허용된 도구 목록 반환
    • AI 챗 에이전트가 MCP 도구를 에이전트 툴셋에 직접 바인딩해 일반 도구 호출과 동일한 경험 제공
  • 내부 채팅 플랫폼 AI 봇에도 MCP 도구 탑재
    • 레지스트리 API를 통한 인증·인가 처리
    • 특정 MCP 도구를 특정 채널로 제한하는 기능 지원 (예: Spark MCP 도구는 Airflow 지원 채널에서만 사용 가능)

보안·거버넌스·정책

MCP 보안 표준

  • MCP Security Standard 별도 정의—실험용이 아닌 모든 MCP 서버는 반드시 소유 팀 지정, 내부 레지스트리 등록, 보안/법무·개인정보보호/(해당 시) GenAI 검토 티켓 승인 필수
  • 검토 결과에 따라 서버 접근 가능 사용자 그룹 등 보안 정책 결정

인증(AuthN) 및 인가(AuthZ) 이중 레이어

  • 엔드유저 JWT 기반 플로우

    1. 사용자가 AI 챗, IDE 플러그인, AI 봇 등 서피스에서 상호작용
    2. 클라이언트가 내부 인증 스택 대상 OAuth 플로우 수행 후 JWT를 MCP 레지스트리·대상 서버로 전달
    3. Envoy가 JWT 검증 및 X-Forwarded-User, X-Forwarded-Groups 헤더 매핑, 거친 수준의 보안 정책 적용
    4. 서버 내부에서 @authorize_tool(policy='…') 데코레이터로 세밀한 권한 제어 (예: get_revenue_metrics는 Ads-eng 그룹만 호출 가능)
  • 비즈니스 그룹 기반 접근 게이팅

    • 모든 인증된 Pinterest 직원·계약자에게 일괄 접근 허용 대신, 민감 서버는 JWT에서 비즈니스 그룹 멤버십 추출 후 승인된 그룹 소속 여부 검증
    • Presto MCP 서버는 넓은 서피스에서 기술적으로 접근 가능하지만, Ads·Finance·특정 인프라팀 등 승인된 그룹만 세션 수립 및 고권한 도구 실행 가능
  • 서비스 전용 SPIFFE 기반 플로우

    • 저위험·읽기 전용 시나리오에서는 SPIFFE 기반 인증(메시 아이덴티티)만으로 처리
    • 루프에 엔드 유저가 없고 폭발 반경이 엄격히 제한된 경우에만 사용

MCP OAuth 표준과의 차이

  • MCP 공식 스펙은 서버별 OAuth 2.0 인증 플로우(동의 화면, 서버별 토큰 관리)를 정의하나, Pinterest는 기존 세션을 재활용하는 방식을 채택
    • 사용자가 AI 챗 등 서피스를 열 때 이미 내부 인증 스택 인증 완료—추가 로그인 프롬프트·동의 대화 불필요
    • Envoy와 정책 데코레이터가 백그라운드에서 투명하게 인가 처리

Human-in-the-Loop

  • MCP 서버가 자동화 액션을 가능하게 하므로 수동 조작 대비 폭발 반경이 큼
  • 에이전트 가이던스에 따라 민감하거나 비용이 큰 액션 전 사람의 승인 필수—에이전트가 액션을 제안하면 사람이 (일괄 처리도 가능) 승인·거부
  • elicitation 활용으로 위험한 액션(예: 테이블 데이터 덮어쓰기) 전 확인 요청

관측 가능성 및 성과 지표

  • 모든 MCP 서버에 라이브러리 함수 적용—입출력 로깅, 호출 횟수, 예외 추적, 텔레메트리 기본 제공
  • 에코시스템 수준 측정 지표: 등록된 MCP 서버·도구 수, 전체 서버 호출 수, 호출당 예상 절감 시간(서버 소유자가 경량 사용자 피드백·이전 수작업 워크플로우 비교 기반으로 산정)
  • 단일 북극성 지표: 절약된 시간(time saved)—호출 횟수 × 호출당 분 절감으로 영향도 개략 산출
  • 2025년 1월 기준: 월 66,000건 호출, 844명의 월간 활성 사용자, 추정 월 7,000시간 절감