एमसीपी (मॉडल कॉन्टेक्स्ट प्रोटोकॉल)
यह क्या कर सकता है?
WebdriverIO MCP एक मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वर है जो Claude Desktop और Claude Code जैसे AI असिस्टेंट को वेब ब्राउज़र और मोबाइल एप्लिकेशन को स्वचालित और इंटरैक्ट करने में सक्षम बनाता है।
WebdriverIO MCP क्यों?
- मोबाइल-फर्स्ट: केवल ब्राउज़र-आधारित MCP सर्वर के विपरीत, WebdriverIO MCP Appium के माध्यम से iOS और Android नेटिव ऐप ऑटोमेशन का समर्थन करता है
- क्रॉस-प्लेटफॉर्म सेलेक्टर्स: स्मार्ट एलिमेंट डिटेक्शन कई लोकेटर स्ट्रेटेजीज (एक्सेसिबिलिटी आईडी, XPath, UiAutomator, iOS प्रेडिकेट्स) स्वचालित रूप से जनरेट करता है
- WebdriverIO इकोसिस्टम: युद्ध-परीक्षित WebdriverIO फ्रेमवर्क पर बनाया गया है जिसमें सेवाओं और रिपोर्टरों का समृद्ध पारिस्थितिकी तंत्र है
यह निम्नलिखित के लिए एक एकीकृत इंटरफेस प्रदान करता है:
- 🖥️ डेस्कटॉप ब्राउज़र (Chrome - हेडेड या हेडलेस मोड)
- 📱 नेटिव मोबाइल ऐप्स (iOS सिम्युलेटर / एंड्रॉइड एम्युलेटर / Appium के माध्यम से वास्तविक उपकरण)
- 📳 हाइब्रिड मोबाइल ऐप्स (Appium के माध्यम से नेटिव + WebView कॉन्टेक्स्ट स्विचिंग)
@wdio/mcp पैकेज के माध्यम से।
यह AI असिस्टेंट को निम्न कार्य करने देता है:
- ब्राउज़र लॉन्च और कंट्रोल कॉन्फ़िगर करने योग्य आयामों, हेडलेस मोड और वैकल्पिक प्रारंभिक नेविगेशन के साथ
- वेबसाइटों पर नेविगेट और एलिमेंट्स के साथ इंटरैक्ट (क्लिक, टाइप, स्क्रॉल)
- पेज कंटेंट का विश्लेषण एक्सेसिबिलिटी ट्री और पेजिनेशन समर्थन के साथ दृश्यमान एलिमेंट्स की पहचान के माध्यम से
- स्क्रीनशॉट लें स्वचालित रूप से अनुकूलित (आकार बदला, अधिकतम 1MB तक संपीड़ित)
- कुकीज़ प्रबंधित करें सत्र हैंडलिंग के लिए
- मोबाइल डिवाइस नियंत्रित करें जिसमें जेस्चर (टैप, स्वाइप, ड्रैग और ड्रॉप) शामिल हैं
- कॉन्टेक्स्ट स्विच करें हाइब्रिड ऐप्स में नेटिव और वेबव्यू के बीच
- स्क ्रिप्ट एक्जीक्यूट करें - ब्राउज़र में जावास्क्रिप्ट, डिवाइस पर Appium मोबाइल कमांड
- डिवाइस फीचर्स हैंडल करें जैसे रोटेशन, कीबोर्ड, जियोलोकेशन
- और बहुत कुछ, देखें टूल्स और कॉन्फ़िगरेशन विकल्प
नोट मोबाइल ऐप्स के लिए मोबाइल ऑटोमेशन के लिए उचित ड्राइवरों के साथ रनिंग Appium सर्वर की आवश्यकता होती है। सेटअप निर्देशों के लिए पूर्वापेक्षाएँ देखें।
इंस्टालेशन
@wdio/mcp का उपयोग करने का सबसे आसान त रीका बिना किसी स्थानीय इंस्टालेशन के npx के माध्यम से है:
npx @wdio/mcp
या इसे ग्लोबली इंस्टॉल करें:
npm install -g @wdio/mcp
Claude के साथ उपयोग
Claude के साथ WebdriverIO MCP का उपयोग करने के लिए, कॉन्फ़िगरेशन फ़ाइल को संशोधित करें:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
कॉन्फ़िगरेशन जोड़ने के बाद, Claude को रीस्टार्ट करें। ब्राउज़र और मोबाइल ऑटोमेशन टास्क के लिए WebdriverIO MCP टूल्स उपलब्ध होंगे।
Claude Code के साथ उपयोग
Claude Code स्वचालित रूप से MCP सर्वर का पता लगाता है। आप इसे अपने प्रोजेक्ट के .claude/settings.json या .mcp.json में कॉन्फ़िगर कर सकते हैं।
या इसे ग्लोबली .claude.json में निष्पादित करके जोड़ सकते हैं:
claude mcp add --transport stdio wdio-mcp -- npx -y @wdio/mcp
claude code के अंदर /mcp कमांड चलाकर इसे वैलिडेट करें।
त्वरित शुरुआत उदाहरण
ब्राउज़र ऑटोमेशन
Claude से ब्राउज़र टास्क को ऑटोमेट करने के लिए कहें:
"Chrome खोलें और https://webdriver.io पर नेविगेट करें"
"'Get Started' बटन पर क्लिक करें"
"पेज का स्क्रीनशॉट लें"
"पेज पर सभी दृश्यमान लिंक खोजें"
मोबाइल ऐप ऑटोमेशन
Claude से मोबाइल ऐप्स को ऑटोमेट करने के लिए कहें:
"iPhone 15 सिम्युलेटर पर मेरा iOS ऐप शुरू करें"
"लॉगिन बटन पर टैप करें"
"नीचे स्क्रॉल करने के लिए ऊपर स्वाइप करें"
"वर्तमान स्क्रीन का स्क्रीनशॉट लें"
क्षमताएं
ब्राउज़र ऑटोमेशन (Chrome)
| फीचर | विवरण |
|---|---|
| सेशन मैनेजमेंट | Chrome को हेडेड/हेडलेस मोड में कस्टम डायमेंशन और वैकल्पिक नेविगेशन URL के साथ लॉन्च करें |
| नेविगेशन | URL पर नेविगेट करें |
| एलिमेंट इंटरैक्शन | एलिमेंट पर क्लिक करें, टेक्स्ट टाइप करें, विभिन्न सेलेक्टर द्वारा एलिमेंट ढूंढें |
| पेज एनालिसिस | दृश्यमान एलिमेंट्स (पेजिनेशन के साथ), एक्सेसिबिलिटी ट्री (फिल्टरिंग के साथ) प्राप्त करें |
| स्क्रीनशॉट | स्क्रीनशॉट कैप्चर करें (अधिकतम 1MB तक स्वचालित रूप से अनुकूलित) |
| स्क्रॉलिंग | पेज को कॉन्फ़िगर करने योग्य पिक्सेल मात्रा से ऊपर/नीचे स्क्रॉल करें |
| कुकी मैनेजमेंट | कुकीज़ प्राप्त करें, सेट करें और हटाएं |
| स्क्रिप्ट एक्सीक्यूशन | ब्राउज़र कॉन्टेक्स्ट में कस्टम जावास्क्रिप्ट एक्सीक्यूट करें |
मोबाइल ऐप ऑटोमेशन (iOS/Android)
| फीचर | विवरण |
|---|---|
| सेशन मैनेजमेंट | सिम्युलेटर, एम्युलेटर या वास्तविक डिवाइस पर ऐप्स लॉन्च करें |
| टच जेस्चर | टैप, स्वाइप, ड्रैग और ड्रॉप |
| एलिमेंट डि टेक्शन | मल्टीपल लोकेटर स्ट्रेटेजीज और पेजिनेशन के साथ स्मार्ट एलिमेंट डिटेक्शन |
| ऐप लाइफसाइकल | ऐप स्टेट प्राप्त करें (एक्टिवेट/टर्मिनेट के लिए execute_script के माध्यम से) |
| कॉन्टेक्स्ट स्विचिंग | हाइब्रिड ऐप्स में नेटिव और वेबव्यू कॉन्टेक्स्ट के बीच स्विच करें |
| डिवाइस कंट्रोल | डिवाइस को पोर्ट्रेट/लैंडस्केप में रोटेट करें, कीबोर्ड कंट्रोल |
| जियोलोकेशन | डिवाइस जीपीएस कोऑर्डिनेट्स प्राप्त करें और सेट करें |
| परमिशन | स्वचालित परमिशन और अलर्ट हैंडलिंग |
| स्क्रिप्ट एक्सीक्यूशन | Appium मोबाइल कमांड (pressKey, deepLink, shell, आदि) एक्सीक्यूट करें |
पूर्वापेक्षाएँ
ब्राउज़र ऑटोमेशन
- Chrome आपके सिस्टम पर इंस्टॉल होना चाहिए
- WebdriverIO स्वचालित ChromeDriver प्रबंधन का ख्याल रखता है
मोबाइल ऑटोमेशन
iOS
- Xcode इंस्टॉल करें Mac App Store से
- Xcode कमांड लाइन टूल्स इंस्टॉल करें:
xcode-select --install - Appium इंस्टॉल करें:
npm install -g appium - XCUITest ड्राइवर इंस्टॉल करें:
appium driver install xcuitest - Appium सर्वर स्टार्ट करें:
appium - सिम्युलेटर के लिए: Xcode → Window → Devices and Simulators खोलें, सिम्युलेटर बनाने/प्रबंधित करने के लिए
- वास्तविक डिवाइस के लिए: आपको डिवाइस UDID (40-कैरेक्टर विशिष्ट पहचानकर्ता) की आवश्यकता होगी
Android
- Android Studio इंस्टॉल करें और Android SDK सेट अप करें
- एन्वायरनमेंट वेरिएबल्स सेट करें:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools - Appium इंस्टॉल करें:
npm install -g appium - UiAutomator2 ड्राइवर इंस्टॉल करें:
appium driver install uiautomator2 - Appium सर्वर स्टार्ट करें:
appium - एम्युलेटर बनाएँ Android Studio → Virtual Device Manager के माध्यम से
- टेस्ट चलाने से पहले एम्युलेटर स्टार्ट करें