يمكنك ضبط "أدوات مطوّري البرامج في Chrome" للوكلاء لتخصيص طريقة تفاعلها مع المتصفّح والأدوات المفعَّلة وطريقة معالجتها للبيانات.
لضبط الخادم، مرِّر أعلام سطر الأوامر في مصفوفة args في ملف إعدادات عميل "بروتوكول سياق النموذج" (MCP). يكون هذا الملف عادةً config.json.
على سبيل المثال، لتشغيل Chrome في وضع بلا واجهة مستخدم رسومية واستخدام قناة Canary، استخدِم الإعدادات التالية:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--headless",
"--channel=canary"
]
}
}
}
سيناريوهات الإعدادات الشائعة
توضّح السيناريوهات التالية الطرق الشائعة لضبط "أدوات مطوّري البرامج في Chrome" للوكلاء.
التشغيل في وضع بلا واجهة مستخدم رسومية
لتنفيذ مهام في الخلفية بدون نافذة متصفّح مرئية، شغِّل Chrome في وضع بلا واجهة مستخدم رسومية. أضِف العَلم --headless إلى وسيطات الخادم.
الاتصال بجلسة متصفّح حالية
تلقائيًا، تبدأ "أدوات مطوّري البرامج" للوكلاء مثيلاً جديدًا من Chrome. ومع ذلك، يمكنك ربط الوكيل بجلسة متصفّح حالية. يكون هذا الإجراء مفيدًا إذا كان الوكيل بحاجة إلى التحقيق في مشكلة في جلسة بدأتَها من قبل (على سبيل المثال، إذا كنت مسجّلاً الدخول).
يمكنك الاتصال بجلسة حالية بطريقتَين:
الاتصال التلقائي (Chrome 144 والإصدارات الأحدث)
إذا كنت تستخدم العَلم --autoConnect، يتصل خادم MCP تلقائيًا بمثيل نشط من Chrome.
- في متصفّح Chrome قيد التشغيل، انتقِل إلى
chrome://inspect/#remote-debuggingوفعِّل تصحيح الأخطاء عن بُعد. - أضِف
--autoConnectإلى إعدادات MCP: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"]
مرجع خيارات الإعدادات
تسرد الأقسام التالية أعلام الإعدادات المتاحة. للاطّلاع على أحدث الخيارات والتحديثات، يُرجى الانتقال إلى مستودع Chrome DevTools MCP GitHub على 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 |
عناوين مخصّصة لاتصال WebSocket بتنسيق JSON (على سبيل المثال، '{"Authorization":"Bearer token"}'). لا تعمل إلا مع --wsEndpoint. |
خيارات فتح المتصفّح
تنطبق هذه الخيارات عندما يبدأ خادم MCP تشغيل 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 |
يقيد الوصول إلى الشبكة من خلال حظر أنماط عناوين URL محدّدة (يستخدم URLPattern). يحظر عمليات التنقل والموارد الفرعية. |
--allowedUrlPattern أو --allowed-url-pattern |
صفيف | false |
يقيد الوصول إلى الشبكة من خلال السماح بأنماط عناوين URL محدّدة فقط. يتطلّب Chrome 149 والإصدارات الأحدث. |
--redactNetworkHeaders أو --redact-network-headers |
قيمة منطقية | false |
يخفي عناوين الشبكة الحسّاسة قبل إرجاعها إلى العميل. |
--usageStatistics أو --usage-statistics |
قيمة منطقية | true |
يُفعِّل جمع إحصاءات الاستخدام لتحسين الأداة. يمكن أيضًا إيقاف هذه الميزة باستخدام متغيّرات البيئة CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS أو CI. |
--performanceCrux أو --performance-crux |
قيمة منطقية | true |
يرسل عناوين URL من عمليات تتبُّع الأداء إلى Google CrUX API لجلب بيانات تجربة المستخدم الحقيقية. |
فئات الميزات
يمكنك تفعيل مجموعات من الأدوات أو إيقافها باستخدام هذه الأعلام.
| علم | النوع | القيمة التلقائية | الوصف |
|---|---|---|---|
--categoryEmulation أو --category-emulation |
قيمة منطقية | true |
يُفعِّل الأدوات ذات الصلة بالمحاكاة. |
--categoryNetwork أو --category-network |
قيمة منطقية | true |
يُفعِّل الأدوات ذات الصلة بالشبكة. |
--categoryPerformance أو --category-performance |
قيمة منطقية | true |
يُفعِّل الأدوات ذات الصلة بالأداء. |
--categoryExtensions أو --category-extensions |
قيمة منطقية | 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 |
تتجاوز هذه السياسة جودة الضغط (0-100) لتنسيقَي jpeg وwebp. |
--screenshotMaxWidth أو --screenshot-max-width |
الرقم | false |
الحد الأقصى للعرض بالبكسل يتم تصغير لقطات الشاشة الأكبر حجمًا. |
--screenshotMaxHeight أو --screenshot-max-height |
الرقم | false |
الحد الأقصى للارتفاع بالبكسل يتم تصغير لقطات الشاشة الأكبر حجمًا. |
خيارات تجريبية
استخدِم هذه الخيارات لتفعيل الميزات التجريبية قيد التطوير.
| علم | النوع | القيمة التلقائية | الوصف |
|---|---|---|---|
--experimentalPageIdRouting أو --experimental-page-id-routing |
قيمة منطقية | false |
يعرض pageId على الأدوات ذات النطاق المحدّد بالصفحة لتوجيه الطلبات في جلسات الوكيل المتزامنة. |
--experimentalDevtools أو --experimental-devtools |
قيمة منطقية | false |
يُفعِّل التشغيل الآلي على أهداف "أدوات مطوّري البرامج". |
--experimentalVision أو --experimental-vision |
قيمة منطقية | false |
يُفعِّل الأدوات المستندة إلى الإحداثيات (على سبيل المثال، click_at). يتطلّب عادةً نموذجًا لاستخدام الكمبيوتر يمكنه إنشاء إحداثيات دقيقة من خلال النظر إلى لقطات الشاشة. |
--experimentalStructuredContent أو --experimental-structured-content |
قيمة منطقية | false |
يُخرج محتوى منسّقًا منظَّمًا. |
--experimentalIncludeAllPages أو --experimental-include-all-pages |
قيمة منطقية | false |
يتضمّن جميع أنواع الصفحات (على سبيل المثال، عروض الويب والصفحات في الخلفية). |
--experimentalScreencast أو --experimental-screencast |
قيمة منطقية | false |
يعرض أدوات التسجيل الرقمي للشاشة (يتطلّب ffmpeg في PATH). |
--experimentalFfmpegPath أو --experimental-ffmpeg-path |
سلسلة | false |
مسار إلى الملف التنفيذي ffmpeg |
خيارات أخرى
استخدِم هذه الخيارات لضبط التسجيل أو تفعيل مجموعة مبسطة من الأدوات.
| علم | النوع | القيمة التلقائية | الوصف |
|---|---|---|---|
--slim |
قيمة منطقية | false |
يعرض مجموعة صغيرة من ثلاث أدوات (التنقل وتنفيذ النصوص البرمجية ولقطات الشاشة). مفيدة للمهام الأساسية في المتصفّح. |
--logFile أو --log-file |
سلسلة | false |
مسار إلى ملف لتسجيل معلومات تصحيح الأخطاء فيه |
متغيّرات البيئة
يمكنك أيضًا استخدام متغيّرات البيئة التالية لضبط الخادم:
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: إذا تم ضبط هذا المتغيّر، يتم إيقاف جمع إحصاءات الاستخدام (ما يعادل--no-usage-statistics).CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: إذا تم ضبط هذا المتغيّر، يتم إيقاف عمليات التحقّق الدورية من التحديثات.CI: إذا تم ضبط هذا المتغيّر، يتم إيقاف جمع إحصاءات الاستخدام.DEBUG: اضبط هذا المتغيّر على*لتفعيل التسجيل المطوَّل لمعلومات تصحيح الأخطاء (يعمل بالتزامن مع--logFile).