एजेंट के लिए 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 इंस्टेंस से कनेक्ट हो जाता है.
- अपने Chrome ब्राउज़र में,
chrome://inspect/#remote-debuggingपर जाएं और रिमोट डीबगिंग चालू करें. - अपने एमसीपी कॉन्फ़िगरेशन में
--autoConnectजोड़ें:json "args": ["chrome-devtools-mcp@latest", "--autoConnect"] - जब एजेंट कनेक्ट करने की कोशिश करता है, तो Chrome एक डायलॉग दिखाता है. इसमें अनुमति मांगी जाती है. अनुमति दें पर क्लिक करें.
मैन्युअल तरीके से कनेक्ट करना
अगर --autoConnect का इस्तेमाल नहीं किया जा सकता (उदाहरण के लिए, सैंडबॉक्स वाले एनवायरमेंट में), तो डिबगिंग पोर्ट के साथ Chrome को मैन्युअल तरीके से शुरू किया जा सकता है. इसके बाद, --browser-url का इस्तेमाल करके कनेक्ट किया जा सकता है.
- रिमोट डीबगिंग की सुविधा और उपयोगकर्ता के डेटा की कस्टम डायरेक्ट्री चालू करके, टर्मिनल से 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
- macOS:
- अपने एजेंट को इस पोर्ट से कनेक्ट करने के लिए कॉन्फ़िगर करें:
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के साथ काम करता है.