• Pinterest का निर्माण अनुभव, जिसमें MCP को AI एजेंट्स के लिए tool connectivity standard के रूप में अपनाकर IDE, internal chat, AI agents जैसे वास्तविक engineering workflows में production स्तर पर integrate किया गया
  • single monolithic server के बजाय domain-specific कई MCP servers (Presto, Spark, Airflow आदि) और central registry को मिलाकर architecture चुना गया
  • end-user JWT + SPIFFE mesh identity की dual authentication layer और business group-based access control के साथ sensitive data पर least privilege principle लागू किया गया
  • हर महीने 66,000 calls, 844 monthly active users, और अनुमानित प्रति माह 7,000 घंटे की बचत जैसी मापनीय उपलब्धियाँ हासिल की गईं
  • MCP को सिर्फ एक experiment नहीं बल्कि engineer productivity infrastructure के रूप में स्थापित करने की कुंजी थी security-first design, integrated deployment pipeline, और कर्मचारियों द्वारा पहले से इस्तेमाल किए जा रहे tools में direct integration

MCP अपनाने की पृष्ठभूमि

  • Model Context Protocol(MCP) एक open source standard है, जिसमें LLM जब tools और data sources से communicate करता है, तो model या tool के हिसाब से अलग-अलग integration बनाने के बजाय एक unified client-server protocol का उपयोग किया जाता है
  • Pinterest ने MCP का उपयोग केवल साधारण Q&A के लिए नहीं बल्कि engineering task automation के आधार के रूप में किया—"logs पढ़कर समस्या खोजो" से लेकर "bug ticket का विश्लेषण करके fix PR का सुझाव दो" तक के लक्ष्य तय किए गए

शुरुआती architecture design

local नहीं, cloud hosting

  • local MCP server (stdio communication) तरीका भी supported है, लेकिन Pinterest ने internal cloud-hosted MCP servers को default path के रूप में अपनाया
    • उद्देश्य था ऐसे environment में संचालन करना जहाँ internal routing और security logic आसानी से लागू किए जा सकें
    • local servers केवल experimentation के लिए अनुमति प्राप्त थे

कई छोटे servers बनाम एक monolithic server

  • एक बड़े single server के बजाय domain-specific छोटे MCP servers का विकल्प चुना गया
    • हर server पर अलग access control लागू किया जा सकता है
    • model context के अनावश्यक रूप से भर जाने की समस्या को रोका जा सकता है
  • शुरुआती feedback में सामने आया कि नया MCP server बनाने के लिए deployment pipeline, service configuration, operations setup जैसी बहुत अधिक प्रारंभिक तैयारी करनी पड़ती है
    • इसका समाधान था integrated deployment pipeline बनाना—टीम केवल tool logic define करे और platform deployment व scaling को अपने-आप संभाले

internal MCP registry

  • approved MCP servers की सूची और उनसे connect करने के तरीके को manage करने वाला single source of truth
  • web UI: लोग servers को browse कर सकते हैं, owner team, support channel, security posture, live status, और उपलब्ध tools देख सकते हैं
  • API: AI clients (internal AI chat, IDE integration, agents) server discovery और validation कर सकते हैं, और यह तय कर सकते हैं कि "क्या यह user server X का उपयोग कर सकता है"
  • registry में registered servers को ही production-approved servers माना जाता है—यही governance backbone की भूमिका निभाता है

production में चल रहे MCP servers की स्थिति

प्रमुख servers (usage के आधार पर)

  • Presto MCP server: traffic के हिसाब से सबसे अधिक इस्तेमाल होने वाला server—agents (AI-assisted IDE सहित) Presto-आधारित data को on-demand query करके dashboard बदले बिना workflow के भीतर सीधे data का उपयोग कर सकते हैं
  • Spark MCP server: AI Spark debugging experience की नींव—Spark job failure diagnosis, log summary, और structured root cause analysis records को support करता है, जिससे operations threads को reusable knowledge में बदला जा सकता है
  • Knowledge MCP server: एक general-purpose knowledge endpoint—internal AI bot इसका उपयोग company knowledge, Q&A, documentation, और debugging सवालों के लिए करता है

Pinterest internal services integration

  • MCP tools को internal LLM web chat interface में integrate किया गया, जिसे Pinterest के कई कर्मचारी रोज़ इस्तेमाल करते हैं
    • frontend अपने-आप OAuth flow संभालता है और current user को अनुमति प्राप्त tools की सूची लौटाता है
    • AI chat agent MCP tools को सीधे agent toolset से bind करता है, जिससे अनुभव सामान्य tool invocation जैसा ही रहता है
  • internal chat platform AI bot में भी MCP tools जोड़े गए
    • registry API के माध्यम से authentication और authorization को handle किया जाता है
    • कुछ MCP tools को specific channels तक सीमित करने की सुविधा भी है (उदाहरण: Spark MCP tools केवल Airflow support channel में ही उपयोग किए जा सकते हैं)

security, governance, policy

MCP security standard

  • एक अलग MCP Security Standard परिभाषित किया गया—experiment-only servers को छोड़कर हर MCP server के लिए owner team तय होना, internal registry में registration, और security/legal/privacy/(ज़रूरत होने पर) GenAI review ticket approval अनिवार्य है
  • review के परिणाम के आधार पर server access user groups जैसी security policies तय की जाती हैं

authentication (AuthN) और authorization (AuthZ) की dual layer

  • end-user JWT-आधारित flow

    1. user AI chat, IDE plugin, AI bot जैसी किसी surface पर interact करता है
    2. client internal auth stack के लिए OAuth flow पूरा करता है और JWT को MCP registry तथा target server तक भेजता है
    3. Envoy JWT verify करता है, X-Forwarded-User, X-Forwarded-Groups headers map करता है, और coarse-grained security policy लागू करता है
    4. server के अंदर @authorize_tool(policy='…') decorator के ज़रिए fine-grained permission control किया जाता है (उदाहरण: get_revenue_metrics केवल Ads-eng group ही call कर सकता है)
  • business group-based access gating

    • सभी authenticated Pinterest employees और contractors को blanket access देने के बजाय, sensitive servers JWT से business group membership निकालकर यह verify करते हैं कि user approved group का हिस्सा है या नहीं
    • Presto MCP server तकनीकी रूप से व्यापक surfaces से accessible है, लेकिन Ads, Finance, और कुछ specific infrastructure teams जैसे approved groups ही session establish कर सकते हैं और high-privilege tools चला सकते हैं
  • service-only SPIFFE-आधारित flow

    • low-risk, read-only scenarios में केवल SPIFFE-based authentication (mesh identity) का उपयोग किया जाता है
    • इसका उपयोग सिर्फ उन स्थितियों में होता है जहाँ loop में end user नहीं होता और blast radius सख्ती से सीमित होता है

MCP OAuth standard से अंतर

  • MCP की official spec server-specific OAuth 2.0 authentication flow (consent screen, per-server token management) को define करती है, लेकिन Pinterest ने existing sessions को reuse करने वाला तरीका अपनाया
    • जब user AI chat जैसी surface खोलता है, तब वह पहले से internal auth stack में authenticated होता है—अतिरिक्त login prompt या consent dialog की ज़रूरत नहीं पड़ती
    • Envoy और policy decorators background में पारदर्शी तरीके से authorization संभालते हैं

Human-in-the-Loop

  • MCP servers automated actions को सक्षम बनाते हैं, इसलिए manual operation की तुलना में blast radius बड़ा होता है
  • agent guidance के अनुसार sensitive या high-cost actions से पहले human approval अनिवार्य है—agent action propose करता है और इंसान उसे approve या reject करता है (bulk में भी संभव)
  • elicitation का उपयोग करके risky actions (उदाहरण: table data overwrite करना) से पहले confirmation माँगा जाता है

observability और performance metrics

  • सभी MCP servers पर library functions लागू किए गए—input/output logging, call counts, exception tracking, और telemetry default रूप से उपलब्ध हैं
  • ecosystem-level metrics में registered MCP servers और tools की संख्या, total server calls, और प्रति call अनुमानित बचाया गया समय शामिल है (जिसे server owners हल्के user feedback और पुराने manual workflows की तुलना के आधार पर आँकते हैं)
  • एक single north-star metric: time saved—call count × प्रति call बचाए गए मिनटों के आधार पर प्रभाव का मोटा अनुमान
  • हर महीने 66,000 calls, 844 monthly active users, और अनुमानित प्रति माह 7,000 घंटे की बचत

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.