এজেন্টের জন্য Chrome DevTools কনফিগার করে আপনি কাস্টমাইজ করতে পারবেন যে এটি ব্রাউজারের সাথে কীভাবে ইন্টার্যাক্ট করবে, কোন টুল চালু থাকবে এবং এটি কীভাবে ডেটা ম্যানেজ করবে।
আপনার Model Context Protocol (MCP) ক্লায়েন্ট কনফিগারেশন ফাইলের args অ্যারেতে
কমান্ড-লাইন ফ্ল্যাগ পাস করার মাধ্যমে সার্ভার কনফিগার করুন। এটি সাধারণত
config.json ফাইল।
যেমন, হেডলেস মোডে Chrome চালাতে এবং Canary চ্যানেল ব্যবহার করতে, নিম্নলিখিত কনফিগারেশন ব্যবহার করুন:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--headless",
"--channel=canary"
]
}
}
}
সাধারণ কনফিগারেশন পরিস্থিতি
নিম্নলিখিত পরিস্থিতিগুলি এজেন্টের জন্য Chrome DevTools কনফিগার করার সাধারণ উপায়গুলি বর্ণনা করে।
হেডলেস মোডে রান করুন
দৃশ্যমান ব্রাউজার উইন্ডো ছাড়াই ব্যাকগ্রাউন্ড টাস্ক পারফর্ম করতে, Chrome-কে
হেডলেস (কোনও UI নেই) মোডে চালান। আপনার সার্ভার আর্গুমেন্টে --headless ফ্ল্যাগ যোগ করুন।
আগে থেকে থাকা ব্রাউজার সেশনে কানেক্ট করুন
ডিফল্ট হিসেবে, এজেন্টের জন্য DevTools একটি নতুন Chrome ইনস্ট্যান্স শুরু করে। তবে, আপনি আগে থেকে থাকা ব্রাউজার সেশনের সাথে এজেন্টকে কানেক্ট করতে পারবেন। আপনি আগে থেকেই শুরু করেছেন এমন সেশনে আপনার এজেন্টকে কোনও সমস্যা তদন্ত করতে হলে এটি কাজে লাগে (যেমন, আপনি আগেই সাইন-ইন করে থাকলে)।
আপনি দুটি উপায়ে আগে থেকে থাকা সেশনে কানেক্ট করতে পারবেন:
অটোমেটিক কানেকশন (Chrome 144+)
আপনি --autoConnect ফ্ল্যাগ ব্যবহার করলে, MCP সার্ভার অটোমেটিক একটি অ্যাক্টিভ Chrome ইনস্ট্যান্সের সাথে কানেক্ট করে।
- আপনার চালু থাকা Chrome ব্রাউজারে,
chrome://inspect/#remote-debugging-এ নেভিগেট করুন এবং রিমোট ডিবাগিং চালু করুন। - আপনার MCP কনফিগারেশনে
--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"]
টেম্পোরারি ডিরেক্টরির বাইরে ফাইল অ্যাক্সেস করার অনুমতি দিন
যেসব টুল ফাইল রিড বা রাইট করে (যেমন, স্ক্রিনশট, ট্রেস সেভ করা বা
এক্সটেনশন লোড করা) সেগুলি শুধুমাত্র কনফিগার করা ওয়ার্কস্পেস
রুটের মধ্যে থাকা পাথ অ্যাক্সেস করতে পারে। MCP
roots ক্যাপাবিলিটির মাধ্যমে আপনার MCP ক্লায়েন্ট যে রুট প্রদান করে, তার সাথে --filesystemRoot
(alias --workspace) দিয়ে পাস করা যেকোনও ডিরেক্টরি সার্ভার ব্যবহার করে। আপনার ক্লায়েন্ট রুট প্রদান না করলে এবং আপনি
--filesystemRoot সেট না করলে, ফাইল অ্যাক্সেস OS টেম্পোরারি ডিরেক্টরি পর্যন্ত সীমিত থাকে।
অন্যান্য পাথের জন্য করা অনুরোধ 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 |
চলমান Chrome ইনস্ট্যান্সের সাথে কানেক্ট করার জন্য WebSocket এন্ডপয়েন্ট (যেমন, ws://127.0.0.1:9222/devtools/browser/<id>)। --browserUrl-এর বিকল্প। |
--wsHeaders বা --ws-headers |
স্ট্রিং | false |
JSON ফর্ম্যাটে WebSocket কানেকশনের জন্য কাস্টম হেডার (যেমন, '{"Authorization":"Bearer token"}')। শুধু --wsEndpoint-এর সাথে কাজ করে। |
ব্রাউজার লঞ্চ করার বিকল্প
MCP সার্ভার Chrome চালু করলে এইসব বিকল্প প্রযোজ্য হয়।
| পতাকা | ধরন | ডিফল্ট | বিবরণ |
|---|---|---|---|
--headless |
বুলিয়ান | false |
হেডলেস (কোনও UI নেই) মোডে 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-তে পাঠায়। |
--javascriptEvaluation বা --javascript-evaluation |
বুলিয়ান | true |
জাভাস্ক্রিপ্ট এক্সিকিউশন বন্ধ করতে false-এ সেট করুন। বন্ধ করা হলে, স্ক্রিপ্ট মূল্যায়ন টুল বন্ধ হয়ে যায়, navigate_page-এর initScript প্যারামিটার বন্ধ হয়ে যায় এবং javascript:, data: বা vbscript: URL-এ নেভিগেট করার অনুমতি দেওয়া হয় না। |
--filesystemRoot বা --filesystem-root--workspace |
এরে | OS অস্থায়ী ডিরেক্টরি | MCP ক্লায়েন্টের দেওয়া রুট ছাড়াও, ফাইল-অ্যাক্সেস টুল ব্যবহার করার অনুমতি আছে এমন একটি ডিরেক্টরি। একাধিকবার উল্লেখ করা যেতে পারে। টেম্পোরারি ডিরেক্টরির বাইরে ফাইল অ্যাক্সেস করার অনুমতি দিন দেখুন। |
--allowUnrestrictedPaths বা --allow-unrestricted-paths |
বুলিয়ান | false |
বন্ধ করা হয়েছে: এর পরিবর্তে --workspace=/ ব্যবহার করুন। MCP ক্লায়েন্ট রুট প্রদান না করলে প্রযোজ্য পাথ সংক্রান্ত বিধিনিষেধ বন্ধ করে দেয়। |
ফিচার বিভাগ
এইসব ফ্ল্যাগ ব্যবহার করে আপনি টুলের গ্রুপ চালু বা বন্ধ করতে পারবেন।
| পতাকা | ধরন | ডিফল্ট | বিবরণ |
|---|---|---|---|
--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 |
প্রোগ্রেসিভ ওয়েব অ্যাপ অটোমেট করার জন্য টুল চালু করে (ইনস্টল, লঞ্চ, আনইনস্টল ও OS স্ট্যাটাস)। শুধুমাত্র পাইপ কানেকশনের সাথে কাজ করে। |
--categoryExperimentalThirdParty বা --category-experimental-third-party |
বুলিয়ান | false |
পরীক্ষা করা পৃষ্ঠা দ্বারা এক্সপোজ করা থার্ড-পার্টি ডেভেলপার টুল চালু করে। |
--categoryExperimentalWebmcp বা --category-experimental-webmcp |
বুলিয়ান | false |
WebMCP টুল ডিবাগ করার সুবিধা চালু করে। WebMCP ফিচার চালু করা Chrome 149+ ভার্সন প্রয়োজন। |
--memoryDebugging বা --memory-debugging |
বুলিয়ান | false |
মেমরি ডিবাগিং টুল চালু করে। |
স্ক্রিনশট সংক্রান্ত বিকল্প
এজেন্ট কীভাবে স্ক্রিনশট ক্যাপচার করবে তা কাস্টমাইজ করতে এইসব বিকল্প ব্যবহার করুন।
| পতাকা | ধরন | ডিফল্ট | বিবরণ |
|---|---|---|---|
--screenshotFormat বা --screenshot-format |
স্ট্রিং | false |
ডিফল্ট আউটপুট ফর্ম্যাট (png) ওভাররাইড করে। বিকল্প: jpeg, png এবং webp। jpeg এবং webp ফর্ম্যাটগুলি ছোট, যা AI কথোপকথনে কনটেক্সটের সাইজ কমাতে সাহায্য করে। |
--screenshotQuality বা --screenshot-quality |
নম্বর | false |
jpeg ও webp-এর জন্য কম্প্রেশন কোয়ালিটি (০-১০০) ওভাররাইড করে। |
--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-এর সাথে একসাথে কাজ করে)।