कॉन्फ़िगरेशन

एजेंट के लिए Chrome DevTools को कॉन्फ़िगर किया जा सकता है, ताकि यह तय किया जा सके कि वह ब्राउज़र के साथ कैसे इंटरैक्ट करे, कौनसे टूल चालू हों, और वह डेटा को कैसे मैनेज करे.

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) क्लाइंट की कॉन्फ़िगरेशन फ़ाइल के args कलेक्शन में, कमांड-लाइन फ़्लैग पास करके सर्वर को कॉन्फ़िगर करें. आम तौर पर, यह config.json फ़ाइल होती है.

उदाहरण के लिए, बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले ब्राउज़र मोड में Chrome चलाने और Canary चैनल का इस्तेमाल करने के लिए, इस कॉन्फ़िगरेशन का इस्तेमाल करें:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--headless",
        "--channel=canary"
      ]
    }
  }
}

कॉन्फ़िगरेशन से जुड़ी सामान्य स्थितियां

यहां दी गई स्थितियों में, एजेंट के लिए Chrome DevTools को कॉन्फ़िगर करने के सामान्य तरीके बताए गए हैं.

हेडलेस मोड में चलाएं

ब्राउज़र विंडो को दिखाए बिना बैकग्राउंड में टास्क करने के लिए, Chrome को हेडलेस (बिना यूज़र इंटरफ़ेस) मोड में चलाएं. अपने सर्वर के तर्कों में --headless फ़्लैग जोड़ें.

किसी मौजूदा ब्राउज़र सेशन से कनेक्ट करना

डिफ़ॉल्ट रूप से, एजेंट के लिए DevTools, Chrome का नया इंस्टेंस शुरू करता है. हालांकि, अपने एजेंट को किसी मौजूदा ब्राउज़र सेशन से कनेक्ट किया जा सकता है. यह तब काम आता है, जब आपके एजेंट को किसी ऐसे सेशन में समस्या की जांच करनी हो जो आपने पहले ही शुरू कर दिया है. उदाहरण के लिए, अगर आपने पहले ही साइन इन कर लिया है.

किसी मौजूदा सेशन से दो तरीकों से कनेक्ट किया जा सकता है:

अपने-आप कनेक्ट होने की सुविधा (Chrome 144 और इसके बाद के वर्शन)

--autoConnect फ़्लैग का इस्तेमाल करने पर, एमसीपी सर्वर अपने-आप चालू Chrome इंस्टेंस से कनेक्ट हो जाता है.

  1. अपने Chrome ब्राउज़र में, chrome://inspect/#remote-debugging पर जाएं और रिमोट डीबगिंग चालू करें.
  2. अपने एमसीपी कॉन्फ़िगरेशन में --autoConnect जोड़ें: json "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
  3. जब एजेंट कनेक्ट करने की कोशिश करता है, तो Chrome एक डायलॉग दिखाता है. इसमें अनुमति मांगी जाती है. अनुमति दें पर क्लिक करें.

मैन्युअल तरीके से कनेक्ट करना

अगर --autoConnect का इस्तेमाल नहीं किया जा सकता (उदाहरण के लिए, सैंडबॉक्स वाले एनवायरमेंट में), तो डिबगिंग पोर्ट के साथ Chrome को मैन्युअल तरीके से शुरू किया जा सकता है. इसके बाद, --browser-url का इस्तेमाल करके कनेक्ट किया जा सकता है.

  1. रिमोट डीबगिंग की सुविधा और उपयोगकर्ता के डेटा की कस्टम डायरेक्ट्री चालू करके, टर्मिनल से Chrome को शुरू करें.
    • macOS: shell /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
    • Windows: shell start chrome --remote-debugging-port=9222 --user-data-dir=%TEMP%\chrome-profile-stable
    • Linux: shell google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
  2. अपने एजेंट को इस पोर्ट से कनेक्ट करने के लिए कॉन्फ़िगर करें: json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]

अस्थायी डायरेक्ट्री के बाहर फ़ाइल ऐक्सेस करने की अनुमति दें

फ़ाइलें पढ़ने या लिखने वाले टूल (उदाहरण के लिए, स्क्रीनशॉट, ट्रेस सेव करना या एक्सटेंशन लोड करना) सिर्फ़ कॉन्फ़िगर किए गए वर्कस्पेस रूट में मौजूद पाथ को ऐक्सेस कर सकते हैं. सर्वर, उन रूट का इस्तेमाल करता है जो आपका एमसीपी क्लाइंट, एमसीपी रूट की सुविधा के ज़रिए उपलब्ध कराता है. साथ ही, उन डायरेक्ट्री का इस्तेमाल करता है जिन्हें आपने --filesystemRoot (उपनाम --workspace) के साथ पास किया है. अगर आपका क्लाइंट रूट उपलब्ध नहीं कराता है और आपने --filesystemRoot सेट नहीं किया है, तो फ़ाइल का ऐक्सेस, ओएस की अस्थायी डायरेक्ट्री तक ही सीमित रहेगा. अन्य पाथ के लिए किए गए अनुरोध, Access denied: ... is not within any of the configured workspace roots गड़बड़ी की वजह से पूरे नहीं हो पाते.

किसी प्रोजेक्ट डायरेक्ट्री का ऐक्सेस देने के लिए, अपने सर्वर के आर्ग्युमेंट में --filesystemRoot जोड़ें. एक से ज़्यादा डायरेक्ट्री की अनुमति देने के लिए, फ़्लैग को दोहराया जा सकता है:

"args": ["chrome-devtools-mcp@latest", "--filesystemRoot=/path/to/project"]

कॉन्फ़िगरेशन के विकल्पों का रेफ़रंस

यहां दिए गए सेक्शन में, उपलब्ध कॉन्फ़िगरेशन फ़्लैग की सूची दी गई है. नए विकल्पों और अपडेट के लिए, Chrome DevTools MCP GitHub रिपॉज़िटरी देखें.

कनेक्शन के विकल्प

इन विकल्पों का इस्तेमाल करके, यह कॉन्फ़िगर करें कि सर्वर, Chrome से कैसे कनेक्ट होगा.

झंडा टाइप डिफ़ॉल्ट ब्यौरा
--autoConnect या --auto-connect बूलियन false यह स्थानीय तौर पर चल रहे Chrome (144+) इंस्टेंस से अपने-आप कनेक्ट हो जाता है. इसके लिए, chrome://inspect/#remote-debugging का इस्तेमाल करके रिमोट डीबगिंग की सुविधा चालू करनी होगी.
--browserUrl या --browser-url
-u
स्ट्रिंग false चल रहे और डीबग किए जा सकने वाले Chrome इंस्टेंस से कनेक्ट करें. उदाहरण के लिए, http://127.0.0.1:9222.
--wsEndpoint या --ws-endpoint
-w
स्ट्रिंग false WebSocket एंडपॉइंट, जो चालू Chrome इंस्टेंस से कनेक्ट होता है. उदाहरण के लिए, ws://127.0.0.1:9222/devtools/browser/<id>. यह --browserUrl का विकल्प है.
--wsHeaders या --ws-headers स्ट्रिंग false JSON फ़ॉर्मैट में WebSocket कनेक्शन के लिए कस्टम हेडर (उदाहरण के लिए, '{"Authorization":"Bearer token"}'). यह सिर्फ़ --wsEndpoint के साथ काम करता है.

ब्राउज़र लॉन्च करने के विकल्प

ये विकल्प तब लागू होते हैं, जब एमसीपी सर्वर Chrome को चालू करता है.

झंडा टाइप डिफ़ॉल्ट ब्यौरा
--headless बूलियन false Chrome को बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले मोड में चलाता है.
--channel स्ट्रिंग stable इससे यह तय होता है कि Chrome के किस चैनल का इस्तेमाल करना है. विकल्प: canary, dev, beta, और stable.
--executablePath या --executable-path
-e
स्ट्रिंग false कस्टम Chrome एक्ज़ीक्यूटेबल का पाथ.
--userDataDir या --user-data-dir स्ट्रिंग ब्यौरा देखें उपयोगकर्ता के डेटा डायरेक्ट्री का पाथ. डिफ़ॉल्ट रूप से, यह कार्रवाई $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE पर सेट रहती है.
--isolated बूलियन false इससे उपयोगकर्ता के डेटा की एक अस्थायी डायरेक्ट्री बनती है. ब्राउज़र बंद होने पर, यह डायरेक्ट्री अपने-आप मिट जाती है.
--viewport स्ट्रिंग false व्यूपोर्ट का शुरुआती साइज़ (उदाहरण के लिए, 1280x720). हेडलेस मोड में, ज़्यादा से ज़्यादा साइज़ 3840x2160 होता है.
--proxyServer या --proxy-server स्ट्रिंग false Chrome को पास किया गया प्रॉक्सी सर्वर कॉन्फ़िगरेशन.
--chromeArg या --chrome-arg अरे false Chrome को पास करने के लिए अतिरिक्त आर्ग्युमेंट.
--ignoreDefaultChromeArg या --ignore-default-chrome-arg अरे false Chrome के लिए, डिफ़ॉल्ट आर्ग्युमेंट को साफ़ तौर पर बंद करें.

सुरक्षा और निजता के विकल्प

सुरक्षा सेटिंग और डेटा की निजता को मैनेज करने के लिए, इन विकल्पों का इस्तेमाल करें.

झंडा टाइप डिफ़ॉल्ट ब्यौरा
--acceptInsecureCerts या --accept-insecure-certs बूलियन false खुद हस्ताक्षर किए हुए और समयसीमा खत्म हो चुके सर्टिफ़िकेट से जुड़ी गड़बड़ियों को अनदेखा करता है. सावधानी से इस्तेमाल करें.
--blockedUrlPattern या --blocked-url-pattern ऐरे false यह सेटिंग, कुछ यूआरएल पैटर्न को ब्लॉक करके नेटवर्क ऐक्सेस पर पाबंदी लगाती है. इसके लिए, URLPattern का इस्तेमाल किया जाता है. नेविगेशन और सब-रिसोर्स को ब्लॉक करता है.
--allowedUrlPattern या --allowed-url-pattern ऐरे false इससे नेटवर्क ऐक्सेस पर पाबंदी लगती है. इसके लिए, सिर्फ़ तय किए गए यूआरएल पैटर्न को अनुमति दी जाती है. इसके लिए, Chrome 149 या इसके बाद का वर्शन होना ज़रूरी है.
--redactNetworkHeaders या --redact-network-headers बूलियन false यह कुकी, संवेदनशील नेटवर्क हेडर को क्लाइंट को वापस भेजने से पहले छिपा देती है.
--usageStatistics या --usage-statistics बूलियन true यह कुकी, इस्तेमाल के आंकड़ों को इकट्ठा करने की सुविधा चालू करती है. इससे टूल को बेहतर बनाने में मदद मिलती है. इसे CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS या CI एनवायरमेंट वैरिएबल का इस्तेमाल करके भी बंद किया जा सकता है.
--performanceCrux या --performance-crux बूलियन true यह परफ़ॉर्मेंस ट्रेस से यूआरएल को Google CrUX API पर भेजता है, ताकि असली उपयोगकर्ता अनुभव का डेटा फ़ेच किया जा सके.
--javascriptEvaluation या --javascript-evaluation बूलियन true JavaScript को बंद करने के लिए, इसे false पर सेट करें. इस सुविधा के बंद होने पर, स्क्रिप्ट का आकलन करने वाले टूल बंद हो जाते हैं. साथ ही, navigate_page का initScript पैरामीटर बंद हो जाता है. इसके अलावा, javascript:, data: या vbscript: यूआरएल पर नेविगेट करने की अनुमति नहीं होती.
--filesystemRoot या --filesystem-root
--workspace
ऐरे ओएस की अस्थायी डायरेक्ट्री ऐसी डायरेक्ट्री जिसे फ़ाइल ऐक्सेस करने वाले टूल इस्तेमाल कर सकते हैं. यह डायरेक्ट्री, एमसीपी क्लाइंट से मिली रूट डायरेक्ट्री के अलावा होती है. इसे एक से ज़्यादा बार तय किया जा सकता है. टेंपररी डायरेक्ट्री के बाहर फ़ाइल ऐक्सेस करने की अनुमति दें देखें.
--allowUnrestrictedPaths या --allow-unrestricted-paths बूलियन false इस्तेमाल बंद कर दिया गया है: इसके बजाय, --workspace=/ का इस्तेमाल करें. यह कुकी, पाथ से जुड़ी उस पाबंदी को बंद करती है जो तब लागू होती है, जब एमसीपी क्लाइंट रूट नहीं देता है.

सुविधा की कैटगरी

इन फ़्लैग का इस्तेमाल करके, टूल के ग्रुप को चालू या बंद किया जा सकता है.

झंडा टाइप डिफ़ॉल्ट ब्यौरा
--categoryInput या --category-input बूलियन true इनपुट से जुड़े टूल चालू करता है.
--categoryNavigation या --category-navigation बूलियन true नेविगेशन से जुड़े टूल चालू करता है.
--categoryEmulation या --category-emulation बूलियन true एम्युलेशन से जुड़े टूल चालू करता है.
--categoryNetwork या --category-network बूलियन true यह कुकी, नेटवर्क से जुड़े टूल चालू करती है.
--categoryPerformance या --category-performance बूलियन true परफ़ॉर्मेंस से जुड़े टूल चालू करता है.
--categoryDebugging या --category-debugging बूलियन true यह कुकी, डीबग करने से जुड़े टूल चालू करती है.
--categoryMemory या --category-memory बूलियन true यह कुकी, मेमोरी से जुड़े टूल चालू करती है.
--categoryExtensions या --category-extensions बूलियन false एक्सटेंशन से जुड़े टूल चालू करता है. यह सुविधा सिर्फ़ पाइप कनेक्शन के साथ काम करती है.
--categoryPwa या --category-pwa बूलियन false प्रोग्रेसिव वेब ऐप्लिकेशन को ऑटोमेट करने के लिए टूल चालू करता है. जैसे, इंस्टॉल करना, लॉन्च करना, अनइंस्टॉल करना, और ओएस की स्थिति. यह सुविधा सिर्फ़ पाइप कनेक्शन के साथ काम करती है.
--categoryExperimentalThirdParty या --category-experimental-third-party बूलियन false यह जांच किए गए पेज से एक्सपोज़ किए गए तीसरे पक्ष के डेवलपर टूल को चालू करता है.
--categoryExperimentalWebmcp या --category-experimental-webmcp बूलियन false WebMCP टूल को डीबग करने की सुविधा चालू करता है. इसके लिए, Chrome 149 या उसके बाद का वर्शन होना ज़रूरी है. साथ ही, WebMCP की सुविधाएं चालू होनी चाहिए.
--memoryDebugging या --memory-debugging बूलियन false इससे मेमोरी डीबग करने वाले टूल चालू होते हैं.

स्क्रीनशॉट के विकल्प

इन विकल्पों का इस्तेमाल करके, यह तय करें कि एजेंट स्क्रीनशॉट कैसे कैप्चर करेगा.

झंडा टाइप डिफ़ॉल्ट ब्यौरा
--screenshotFormat या --screenshot-format स्ट्रिंग false यह डिफ़ॉल्ट आउटपुट फ़ॉर्मैट (png) को बदल देता है. विकल्प: jpeg, png, और webp. jpeg और webp फ़ॉर्मैट छोटे होते हैं. इससे एआई के साथ होने वाली बातचीत में, कॉन्टेक्स्ट का साइज़ कम करने में मदद मिलती है.
--screenshotQuality या --screenshot-quality संख्या false यह नीति, jpeg और webp के लिए कंप्रेस करने की क्वालिटी (0-100) को बदल देती है.
--screenshotMaxWidth या --screenshot-max-width संख्या false पिक्सल में ज़्यादा से ज़्यादा चौड़ाई. बड़े स्क्रीनशॉट को छोटा कर दिया जाता है.
--screenshotMaxHeight या --screenshot-max-height संख्या false पिक्सल में ज़्यादा से ज़्यादा ऊंचाई. बड़े स्क्रीनशॉट को छोटा कर दिया जाता है.

एक्सपेरिमेंटल विकल्प

इन विकल्पों का इस्तेमाल करके, एक्सपेरिमेंट के तौर पर उपलब्ध उन सुविधाओं को चालू करें जिन्हें डेवलप किया जा रहा है.

झंडा टाइप डिफ़ॉल्ट ब्यौरा
--experimentalDevtools या --experimental-devtools बूलियन false DevTools के टारगेट पर ऑटोमेशन की सुविधा चालू करता है.
--experimentalVision या --experimental-vision बूलियन false यह अनुमति, कोऑर्डिनेट पर आधारित टूल चालू करती है. जैसे, click_at. आम तौर पर, इसके लिए कंप्यूटर के इस्तेमाल से जुड़े ऐसे मॉडल की ज़रूरत होती है जो स्क्रीनशॉट देखकर सटीक कोऑर्डिनेट जनरेट कर सके.
--experimentalStructuredContent या --experimental-structured-content बूलियन false इससे स्ट्रक्चर में फ़ॉर्मैट किया गया कॉन्टेंट जनरेट होता है.
--experimentalIncludeAllPages या --experimental-include-all-pages बूलियन false इसमें सभी तरह के पेज शामिल होते हैं. जैसे, वेबव्यू और बैकग्राउंड पेज.
--experimentalScreencast या --experimental-screencast बूलियन false स्क्रीनकास्ट टूल दिखाता है (इसके लिए, PATH में ffmpeg होना ज़रूरी है).
--experimentalFfmpegPath या --experimental-ffmpeg-path स्ट्रिंग false ffmpeg एक्ज़ीक्यूटेबल का पाथ.
--experimentalScreencastFps या --experimental-screencast-fps संख्या false स्क्रीनकास्ट रिकॉर्डिंग के लिए फ़्रेम प्रति सेकंड. कम वैल्यू से, उन पेजों पर मेमोरी का दबाव कम हो सकता है जो ffmpeg के एन्कोड करने की तुलना में तेज़ी से फ़्रेम बनाते हैं.

दूसरे विकल्प

लॉगिंग, पेज रूटिंग, और सोर्स मैप को कॉन्फ़िगर करने या टूल के आसान सेट को चालू करने के लिए, इन विकल्पों का इस्तेमाल करें.

झंडा टाइप डिफ़ॉल्ट ब्यौरा
--slim बूलियन false इसमें तीन टूल (नेविगेशन, स्क्रिप्ट को लागू करना, और स्क्रीनशॉट) का छोटा सेट होता है. ब्राउज़र से जुड़े बुनियादी टास्क के लिए मददगार है.
--pageIdRouting या --page-id-routing बूलियन true पेज-स्कोप वाले टूल पर pageId की ज़रूरत होती है. साथ ही, पेज आईडी के हिसाब से अनुरोधों को रूट किया जाता है. यह एक साथ कई एजेंट सेशन के लिए मददगार होता है. बंद करने के लिए, --no-page-id-routing का इस्तेमाल करें.
--sourceMaps या --source-maps बूलियन true DevTools में सोर्स मैप चालू करता है. इसे बंद करने के लिए, --no-source-maps का इस्तेमाल करें.
--logFile या --log-file स्ट्रिंग false डीबग लॉग लिखने के लिए, किसी फ़ाइल का पाथ. ज़्यादा जानकारी वाले लॉग चालू करने के लिए, NODE_DEBUG एनवायरमेंट वैरिएबल को * पर सेट करें.
--config स्ट्रिंग false JSON कॉन्फ़िगरेशन फ़ाइल का पाथ.

एनवायरमेंट वैरिएबल

सर्वर को कॉन्फ़िगर करने के लिए, इन एनवायरमेंट वैरिएबल का भी इस्तेमाल किया जा सकता है:

  • CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: अगर सेट किया गया है, तो इस्तेमाल के आंकड़े इकट्ठा करने की सुविधा बंद हो जाती है (यह --no-usage-statistics के बराबर है).
  • CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: अगर इसे सेट किया जाता है, तो समय-समय पर अपडेट की जांच करने की सुविधा बंद हो जाती है.
  • CI: अगर इसे सेट किया जाता है, तो इस्तेमाल के आंकड़े इकट्ठा करने की सुविधा बंद हो जाती है.
  • NODE_DEBUG: वर्बोस डीबग लॉगिंग को चालू करने के लिए, इसे * पर सेट करें. यह --logFile के साथ काम करता है.