इसे छोड़कर कंटेंट पर जाएं

Chrome DevTools MCP

कंटेनर में एक पूर्व-कॉन्फ़िगर Chrome DevTools MCP सर्वर शामिल है जो Claude Code को हेडलेस ब्राउज़र ऑटोमेशन क्षमताएं प्रदान करता है। वेब पेज नेविगेट करें, स्क्रीनशॉट लें, DOM का निरीक्षण करें, और पेज एलिमेंट्स के साथ इंटरैक्ट करें — किसी अतिरिक्त सेटअप की आवश्यकता नहीं।

यह कैसे काम करता है

Section titled “यह कैसे काम करता है”

एंट्रीपॉइंट पोर्ट 9222 पर रिमोट डिबगिंग के साथ एक स्थायी हेडलेस Chrome लॉन्च करता है। chrome-devtools-mcp MCP सर्वर Claude Code सेटिंग्स में पंजीकृत है और --browserUrl के माध्यम से इस साझा ब्राउज़र से कनेक्ट होता है। सभी सेशन एक ही ब्राउज़र इंस्टेंस और कुकी जार साझा करते हैं — लॉगिन, कुकीज़ और प्रमाणीकरण सभी प्रोजेक्ट्स में बने रहते हैं।

टूलविवरण
navigate_pageकिसी URL पर नेविगेट करें और पेज लोड होने की प्रतीक्षा करें
take_screenshotवर्तमान पेज का PNG स्क्रीनशॉट कैप्चर करें
take_snapshotपेज का एक्सेसिबिलिटी ट्री स्नैपशॉट प्राप्त करें
clickपेज पर किसी एलिमेंट पर क्लिक करें
typeइनपुट फ़ील्ड में टेक्स्ट टाइप करें
hoverकिसी एलिमेंट पर होवर करें
scrollपेज या किसी विशिष्ट एलिमेंट को स्क्रॉल करें
evaluateपेज संदर्भ में JavaScript निष्पादित करें
get_console_logsकंसोल लॉग संदेश प्राप्त करें
get_page_infoपेज मेटाडेटा प्राप्त करें (शीर्षक, URL, आदि)

ब्राउज़र स्टैक चार घटकों का उपयोग करता है जो एक साथ काम करते हैं:

  1. Playwright Chromium — ARM64-संगत Chromium बाइनरी जो बिल्ड समय पर npx playwright install --with-deps chromium के माध्यम से इंस्टॉल की जाती है
  2. Chrome सिमलिंक — Puppeteer के अपेक्षित पथ (/opt/google/chrome/chrome) को Playwright बाइनरी से जोड़ता है
  3. साझा Chrome प्रोसेसchrome-browser.sh द्वारा --remote-debugging-port=9222 के साथ लॉन्च किया जाता है, क्रैश होने पर स्वचालित रूप से पुनरारंभ होता है
  4. ग्लोबल MCP पंजीकरणsettings.json chrome-devtools-mcp को --browserUrl=http://localhost:9222 के साथ पंजीकृत करता है

Google Chrome के पास ARM64 .deb पैकेज नहीं है, और Ubuntu 24.04 का chromium-browser apt पैकेज snap पर रीडायरेक्ट करता है (जो कंटेनरों में काम नहीं करता)। Playwright का बंडल किया गया Chromium ARM64 कंटेनरों के लिए एकमात्र विश्वसनीय विकल्प है।

कंटेनर के अंदर सेटअप काम कर रहा है यह पुष्टि करें:

Terminal window
# Chrome बाइनरी प्रतिक्रिया देती है
/opt/google/chrome/chrome --version
# सिमलिंक सही है
ls -la /opt/google/chrome/chrome
# रिमोट डिबगिंग सक्रिय है
curl http://localhost:9222/json/version
# सेल्फ-टेस्ट में Chrome जांच शामिल है
claude-self-test

जब ENABLE_VNC=true हो, तो एंट्रीपॉइंट Chrome लॉन्च करने से पहले VNC स्टैक शुरू करता है। chrome-browser.sh स्क्रिप्ट पहचान लेती है कि DISPLAY सेट है और Chrome को वर्चुअल डिस्प्ले पर हेडेड मोड में चलाती है, ताकि आप VNC व्यूअर में ब्राउज़र देख सकें।

वर्चुअल डिस्प्ले देखने के लिए http://localhost:6080/vnc.html खोलें। विवरण के लिए रिमोट डिस्प्ले (noVNC) देखें।

रिमोट डिबगिंग विफलताओं, प्रोफ़ाइल लॉक त्रुटियों और डुप्लिकेट MCP टूल्स सहित सामान्य समस्याओं के समाधान के लिए समस्या निवारण — Chrome DevTools MCP देखें।