- Pinterest'in MCP'yi yapay zeka ajanlarının araçlara bağlanması için standart olarak benimseyip bunu IDE, şirket içi sohbet ve yapay zeka ajanları gibi gerçek mühendislik iş akışlarına prodüksiyon düzeyinde entegre ederken edindiği deneyim
- Tek bir monolitik sunucu yerine alan bazlı çok sayıda MCP sunucusu (Presto, Spark, Airflow vb.) ile merkezi bir kayıt sistemini birleştiren mimari tercihi
- Son kullanıcı JWT'si + SPIFFE mesh kimliği şeklindeki çift kimlik doğrulama katmanı ve iş grubu tabanlı erişim kontrolüyle hassas veriler için en az ayrıcalık ilkesinin uygulanması
- Aylık 66.000 çağrı, 844 aylık aktif kullanıcı ve tahmini aylık 7.000 saat tasarruf gibi nicel sonuçlara ulaşılması
- MCP'yi basit bir deney olmaktan çıkarıp mühendis üretkenliği altyapısı haline getiren temel unsurların güvenlik öncelikli tasarım, birleşik dağıtım hattı ve çalışanların zaten kullandığı araçlara doğrudan entegrasyon olması
MCP'yi benimseme gerekçesi
- Model Context Protocol (MCP), LLM'lerin araçlar ve veri kaynaklarıyla iletişim kurarken model ya da araç bazında ayrı entegrasyonlar geliştirmek yerine birleşik bir istemci-sunucu protokolü kullanan açık kaynaklı bir standarttır
- Pinterest, MCP'yi basit soru-cevabın ötesinde mühendislik işlerinin otomasyonu için temel olarak kullandı — "logları oku ve sorunu bul"dan "hata biletini analiz edip düzeltme PR'ı öner"e kadar uzanan hedefler belirledi
İlk mimari tasarım
Yerel değil, bulutta barındırma
- Yerel MCP sunucusu (
stdioiletişimi) modeli destekleniyor olsa da, varsayılan yol olarak şirket içi bulutta barındırılan MCP sunucuları benimsendi- Amaç, iç yönlendirme ve güvenlik mantığının kolayca uygulanabildiği bir ortamda işletim sağlamaktı
- Yerel sunuculara yalnızca deney amaçlı izin verildi
Çok sayıda küçük sunucu mu, tek monolitik sunucu mu?
- Tek bir dev sunucu yerine alan bazlı küçük MCP sunucuları tercih edildi
- Her sunucu için farklı erişim kontrolleri uygulanabiliyor
- Model bağlamının gereksiz yere dolmasının önüne geçiliyor
- İlk geri bildirim: Yeni bir MCP sunucusu kurmak için dağıtım hattı, servis yapılandırması ve operasyonel kurulum gibi ön çalışmaların fazla olduğu belirtildi
- Çözüm olarak birleşik bir dağıtım hattı kuruldu — ekipler yalnızca araç mantığını tanımlıyor, platform ise dağıtım ve ölçeklendirmeyi otomatik olarak yönetiyor
Şirket içi MCP kayıt sistemi
- Onaylanmış MCP sunucularının listesini ve bunlara nasıl bağlanılacağını yöneten tek doğruluk kaynağı (source of truth)
- Web UI: İnsanlar sunucuları, sahip ekibi, destek kanalını, güvenlik duruşunu, canlı durumunu ve kullanılabilir araçları keşfedebiliyor
- API: Yapay zeka istemcileri (şirket içi yapay zeka sohbeti, IDE entegrasyonları, ajanlar) için sunucu keşfi ve doğrulama sağlıyor; ayrıca "bu kullanıcı Sunucu X'i kullanabilir mi" sorusunu yanıtlamak için kullanılıyor
- Yalnızca kayıt sistemine kayıtlı sunucular prodüksiyon onaylı sunucu sayılıyor — bu yapı yönetişimin omurgası görevini görüyor
Çalışan MCP sunucularının durumu
Başlıca sunucular (kullanıma göre)
- Presto MCP sunucusu: Trafik açısından en çok kullanılan sunucu — ajanlar (yapay zeka destekli IDE'ler dahil), Presto tabanlı verilere isteğe bağlı erişerek pano değiştirmeden iş akışı içinde doğrudan veri kullanabiliyor
- Spark MCP sunucusu: Yapay zeka destekli Spark hata ayıklama deneyiminin temeli — Spark job başarısızlıklarının teşhisi, log özetleme ve yapılandırılmış kök neden analizi kayıtlarıyla operasyonel thread'leri yeniden kullanılabilir bilgiye dönüştürüyor
- Knowledge MCP sunucusu: Genel amaçlı bilgi uç noktası — şirket içi yapay zeka botu bunu şirket bilgisi ve SSS, dokümantasyon ile hata ayıklama soruları için kullanıyor
Pinterest iç hizmetleriyle entegrasyon
- Birçok Pinterest çalışanının her gün kullandığı şirket içi LLM web sohbet arayüzüne MCP araçları entegre edildi
- Frontend, OAuth akışını otomatik olarak işledikten sonra mevcut kullanıcıya izinli araç listesini döndürüyor
- Yapay zeka sohbet ajanı, MCP araçlarını ajan araç setine doğrudan bağlayarak normal araç çağrılarıyla aynı deneyimi sunuyor
- Şirket içi sohbet platformundaki yapay zeka botuna da MCP araçları eklendi
- Kimlik doğrulama ve yetkilendirme, kayıt sistemi API'si üzerinden işleniyor
- Belirli MCP araçlarını belirli kanallarla sınırlama desteği bulunuyor (ör. Spark MCP aracı yalnızca Airflow destek kanalında kullanılabiliyor)
Güvenlik, yönetişim ve politika
MCP güvenlik standardı
- Ayrı bir MCP Security Standard tanımlandı — deney amaçlı olmayan tüm MCP sunucularında sahip ekibin belirtilmesi, şirket içi kayıt sistemine kaydolunması ve güvenlik/hukuk-gizlilik/(gerekiyorsa) GenAI inceleme ticket'larının onaylanması zorunlu
- İnceleme sonucuna göre sunucuya erişebilecek kullanıcı grupları gibi güvenlik politikaları belirleniyor
Kimlik doğrulama (AuthN) ve yetkilendirme (AuthZ) için çift katman
-
Son kullanıcı JWT tabanlı akış
- Kullanıcı, yapay zeka sohbeti, IDE eklentisi veya yapay zeka botu gibi yüzeylerde etkileşime geçer
- İstemci, şirket içi kimlik doğrulama yığınına yönelik OAuth akışını yürütür ve JWT'yi MCP kayıt sistemine ve hedef sunucuya iletir
- Envoy, JWT'yi doğrular;
X-Forwarded-UserveX-Forwarded-Groupsbaşlıklarını eşler ve kaba seviye güvenlik politikalarını uygular - Sunucu içinde
@authorize_tool(policy='…')dekoratörü ile ayrıntılı yetki kontrolü yapılır (ör.get_revenue_metricsyalnızca Ads-eng grubunca çağrılabilir)
-
İş grubu tabanlı erişim kısıtlaması
- Tüm kimliği doğrulanmış Pinterest çalışanları ve yüklenicilerine toplu erişim vermek yerine, hassas sunucularda JWT'den iş grubu üyeliği çıkarılıp kullanıcının onaylı gruplardan birinde olup olmadığı doğrulanıyor
- Presto MCP sunucusuna geniş yüzeylerden teknik olarak erişilebilse de, yalnızca Ads, Finance ve belirli altyapı ekipleri gibi onaylı gruplar oturum kurabiliyor ve yüksek ayrıcalıklı araçları çalıştırabiliyor
-
Servise özel SPIFFE tabanlı akış
- Düşük riskli, salt okunur senaryolarda yalnızca SPIFFE tabanlı kimlik doğrulama (mesh kimliği) kullanılıyor
- Bu yalnızca döngüde son kullanıcının olmadığı ve etki alanının sıkı biçimde sınırlandığı durumlarda geçerli
MCP OAuth standardından farkı
- Resmî MCP spesifikasyonu sunucu bazında OAuth 2.0 kimlik doğrulama akışı (izin ekranı, sunucu başına token yönetimi) tanımlasa da Pinterest mevcut oturumları yeniden kullanan bir yaklaşımı tercih etti
- Kullanıcı, yapay zeka sohbeti gibi bir yüzeyi açtığında şirket içi kimlik doğrulama yığını tarafından zaten doğrulanmış oluyor — ek giriş istemi veya izin diyaloğu gerekmiyor
- Envoy ve politika dekoratörleri arka planda yetkilendirmeyi şeffaf biçimde yürütüyor
Human-in-the-Loop
- MCP sunucuları otomatik eylemleri mümkün kıldığı için, manuel işleme kıyasla etki alanı daha büyük
- Ajan yönlendirmesine göre hassas veya maliyeti yüksek eylemlerden önce insan onayı zorunlu — ajan eylemi öneriyor, insan ise (toplu olarak da) onaylıyor veya reddediyor
- Tehlikeli eylemlerden önce (ör. tablo verisinin üzerine yazma) onay istemek için elicitation kullanılıyor
Gözlemlenebilirlik ve başarı metrikleri
- Tüm MCP sunucularına kütüphane fonksiyonları uygulandı — giriş/çıkış loglama, çağrı sayısı, istisna takibi ve telemetri varsayılan olarak sağlanıyor
- Ekosistem düzeyinde ölçülen metrikler: kayıtlı MCP sunucusu ve araç sayısı, toplam sunucu çağrısı sayısı, çağrı başına tahmini zaman tasarrufu (sunucu sahipleri bunu hafif kullanıcı geri bildirimi ve önceki manuel iş akışlarıyla karşılaştırmaya dayanarak hesaplıyor)
- Tek kuzey yıldızı metriği: tasarruf edilen zaman (time saved) — çağrı sayısı × çağrı başına tasarruf edilen dakika ile etkinin kabaca hesaplanması
- Aylık 66.000 çağrı, 844 aylık aktif kullanıcı, tahmini aylık 7.000 saat tasarruf
Henüz yorum yok.