वास्तुकला¶
रनटाइम¶
cloakbrowser-mcp एक बाहरी MCP सर्वर है जो stdio या Streamable HTTP को एक्सपोज कर सकता है। स्टार्टअप पर यह:
- CloakBrowser Chromium बाइनरी को रिज़ॉल्व या इंस्टॉल करता है;
- एक अस्थायी Playwright MCP कॉन्फ़िग फ़ाइल लिखता है;
- stdio पर एक चाइल्ड प्रोसेस के रूप में upstream
@playwright/mcpशुरू करता है; - MCP SDK क्लाइंट ट्रांसपोर्ट के साथ उस चाइल्ड से कनेक्ट करता है;
- चयनित ट्रांसपोर्ट पर उपयोगकर्ता के MCP क्लाइंट के लिए एक बाहरी MCP सर्वर को एक्सपोज़ करता है;
- अपस्ट्रीम टूल सूची और टूल कॉल्स को बिना बदले फॉरवर्ड करता है;
cloakbrowser_binary_infoऔरcloakbrowser_bridge_infoको जोड़ता है।
यह डिज़ाइन क्यों¶
अपस्ट्रीम Playwright MCP प्रोजेक्ट पहले से ही ब्राउज़र टूल कॉन्ट्रैक्ट्स का मालिक है और तेज़ी से विकसित हो रहा है। ब्रिज मॉडल इस प्रोजेक्ट को छोटा रखता है और ब्राउज़र ऑटोमेशन लॉजिक की नकल करने से बचाता है।
डॉकर¶
Docker इमेज बेस इमेज के रूप में पिन किए गए आधिकारिक Playwright MCP इमेज का उपयोग करती है। ब्रिज /opt/cloakbrowser-mcp के अंतर्गत स्थापित है, जबकि अपस्ट्रीम Playwright MCP /app/cli.js पर उपलब्ध रहता है।
विन्यास¶
ब्रिज CloakBrowser लॉन्च विकल्पों के साथ एक अस्थायी JSON कॉन्फ़िगरेशन लिखता है। अपस्ट्रीम PLAYWRIGHT_MCP_* एनवायरनमेंट वेरिएबल्स अभी भी अपस्ट्रीम Playwright MCP को फॉरवर्ड किए जाते हैं।
परिवहन¶
डिफ़ॉल्ट ट्रांसपोर्ट stdio है। Streamable HTTP को स्पष्ट रूप से --transport streamable-http या CLOAK_PLAYWRIGHT_MCP_TRANSPORT=streamable-http के साथ सक्षम किया जाता है।
stdio के लिए, एक बाहरी सर्वर एक अपस्ट्रीम Playwright MCP चाइल्ड प्रक्रिया का मालिक होता है और अपस्ट्रीम Playwright MCP के डिफ़ॉल्ट प्रोफ़ाइल व्यवहार को बनाए रखता है। Streamable HTTP के लिए, प्रत्येक MCP सत्र का अपना बाहरी सर्वर, अपस्ट्रीम चाइल्ड प्रोसेस, उत्पन्न कॉन्फ़िग और इन-मेमोरी ट्रांसपोर्ट स्थिति होती है। HTTP सत्र अलग-थलग ब्राउज़र प्रोफाइल के साथ अपस्ट्रीम Playwright MCP शुरू करते हैं ताकि समवर्ती उपयोगकर्ता एक ही स्थायी Chromium प्रोफाइल को साझा या उसके लिए प्रतिस्पर्धा न करें।
सत्र बैकएंड केवल मेटाडेटा संग्रहीत करता है। बिल्ट-इन बैकएंड memory है; भविष्य के Redis, Postgres, या SQLite एडॉप्टर मेटाडेटा और लॉक का समन्वय कर सकते हैं, लेकिन वे स्वामित्व वाली सर्वर प्रक्रिया के बाहर निकलने के बाद लाइव अपस्ट्रीम ब्राउज़र प्रक्रिया को पुनर्स्थापित नहीं कर सकते। हॉरिज़ॉन्टल स्केलिंग में mcp-session-id द्वारा की गई स्टिकी सेशंस का उपयोग किया जाना चाहिए।
ब्रिज Streamable HTTP के लिए MCP SDK StreamableHTTPServerTransport का उपयोग करता है। यह अप्रचलित MCP SSEServerTransport या legacy /sse endpoint को एक्सपोज़ नहीं करता।