# Pinterest가 AI에이전트를 위한 프로덕션 MCP 에코시스템을 구축한 방법

> Clean Markdown view of GeekNews topic #27775. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=27775](https://news.hada.io/topic?id=27775)
- GeekNews Markdown: [https://news.hada.io/topic/27775.md](https://news.hada.io/topic/27775.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-03-23T13:34:02+09:00
- Updated: 2026-03-23T13:34:02+09:00
- Original source: [medium.com](https://medium.com/pinterest-engineering/building-an-mcp-ecosystem-at-pinterest-d881eb4c16f1)
- Points: 6
- Comments: 0

## Summary

Pinterest는 **MCP(Model Context Protocol)** 을 AI 에이전트의 표준 인터페이스로 삼아 IDE·내부 챗·AI 봇 등 실제 개발 워크플로우에 프로덕션 수준으로 통합했습니다. 단일 서버 대신 **도메인별 MCP 서버와 중앙 레지스트리**를 조합해 보안·거버넌스·확장성을 동시에 확보했고, JWT와 SPIFFE를 결합한 이중 인증으로 최소 권한 원칙을 구현했습니다. 이 구조 덕분에 AI가 Presto·Spark·지식베이스 등 사내 도구를 안전하게 호출하며, 월 7,000시간 이상의 엔지니어링 시간을 절약하는 효과를 냈습니다.

## Topic Body

- **MCP**를 AI 에이전트의 도구 연결 표준으로 채택해, IDE·내부 챗·AI 에이전트 등 실제 엔지니어링 워크플로우에 프로덕션 수준으로 통합한 Pinterest의 구축 경험  
- 단일 모놀리식 서버 대신 **도메인별 다수의 MCP 서버**(Presto, Spark, Airflow 등)와 **중앙 레지스트리**를 조합한 아키텍처 선택  
- **엔드유저 JWT + SPIFFE 메시 아이덴티티** 이중 인증 레이어와 비즈니스 그룹 기반 접근 제어로 민감 데이터에 대한 최소 권한 원칙 적용  
- 월 **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)**—호출 횟수 × 호출당 분 절감으로 영향도 개략 산출  
- 월 **66,000건 호출**, **844명의 월간 활성 사용자**, 추정 **월 7,000시간 절감**

## Comments



_No public comments on this page._
