{"_id":"@wdio/mcp","_rev":"44-5d498b3a028e8886d210de64bfc80b32","name":"@wdio/mcp","dist-tags":{"next":"3.5.2","latest":"3.11.1"},"versions":{"1.4.0":{"name":"@wdio/mcp","version":"1.4.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@1.4.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"4db7140946b84aa5016b2c4c647b1d3797f9103e","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-1.4.0.tgz","fileCount":6,"integrity":"sha512-SCQ/CvX9/dpki7TyMET02Pf1zsgrBbkJO1dvEEefw+b7YUXeIqK1UchbqF+tC9ETGUgfAVWsw7qjqRMvyOXmKA==","signatures":[{"sig":"MEQCICo+pV9G47E6uS8ERiAOcmwuW93P8uCdJWZFjtMmJoCUAiBpqu1cUtNJZuYCL+gziiwxNdfQtoB09NvPxn4v/vo3Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249491},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"570f2ee7ca3eeb58684efdd26db1e70e4ce98e09","scripts":{"dev":"tsx src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"wdio-user","email":"bot@webdriver.io"},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.3.5","webdriverio":"9.22","@xmldom/xmldom":"^0.8.11","@wdio/protocols":"^9.16.2","@toon-format/toon":"^1.0.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.4.0_1767806519862_0.14453878616591376","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@wdio/mcp","version":"1.4.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@1.4.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"4c1ee3332dd352c72d08a2acb976a4fba93075dc","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-1.4.1.tgz","fileCount":6,"integrity":"sha512-YLO93J3CTBFxmwPafBxbUgH9UFTr0PkXH17isrHyh00OARrwpRcgk8g2WhdW/eK63QjFCUB5HMlmTWSqW3dQHg==","signatures":[{"sig":"MEUCIDUraNpsYZHFu8JX9GPyv3hEPAcZkp/JvzYq883In7C+AiEAnWNOqhoteom0jza3QljMgA1VEsEpo/7/mWdMqSOqMpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":249491},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"570f2ee7ca3eeb58684efdd26db1e70e4ce98e09","scripts":{"dev":"tsx src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.3.5","webdriverio":"9.22","@xmldom/xmldom":"^0.8.11","@wdio/protocols":"^9.16.2","@toon-format/toon":"^1.0.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","readmeFilename":"README.md","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.4.1_1767807376955_0.1741343829405162","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@wdio/mcp","version":"1.5.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@1.5.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"65d2b8fea22249269bc3ac64729701c51a6772e7","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-1.5.0.tgz","fileCount":6,"integrity":"sha512-pEC9IwahLNSRG0d+HbWW7u78I7E+ZvbRzs2cimCt1lFgK9PpfX3x2bWq2D3w8NVNoaqPp9MnTEClSoeMMSz62A==","signatures":[{"sig":"MEUCIC7Iy+0eA1l5W/LBj0QCMQuEyvWg373FMZMPHIOmRJ96AiEAnOlKgXkZLMRWptCV5X8/cY53vGGXrQhPAjWtPef9QqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":263320},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"a5d24a65557849e007d5afb7b954c5b07b518ebf","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.3.5","webdriverio":"9.22","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.5.0_1768919826951_0.6536703494601575","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@wdio/mcp","version":"1.5.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@1.5.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"0c74516d52416eda8ed0a34e857802bd85ecd837","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-1.5.1.tgz","fileCount":6,"integrity":"sha512-zzmFf6oFulc6plUq+9OeHUIqs6Air094O42QZZLePORvDQK4niLUkd3UQ38xeG4sYpAmFOfbTSYmPU7QJ41BPw==","signatures":[{"sig":"MEYCIQCen7bWPnrTV+Z1+z3bVe1PY+nTyrdhSAZMXSNHZQC80gIhANS7rg/2ue+P89wGSFpBfSDsCjJSHuCapz+DZRgSbopx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280316},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"e9662100a3fbc73373b4134a67653d4cab5fc31a","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.3.5","webdriverio":"9.22","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.5.1_1768923530733_0.4408223878781954","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@wdio/mcp","version":"1.6.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@1.6.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"4182e72761c9b7cb14158fdcc541135967152f33","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-1.6.0.tgz","fileCount":6,"integrity":"sha512-KLoljXIF7AyqWDSwv2srw0Et2rnjtdswEwTUqQk8rLilBBssJULoxKIdgWu+Xf97ZohC2IW5EMjoaauCWvy7EQ==","signatures":[{"sig":"MEQCICQ+0gzQuB/OrRdocSxUVEkX18plDQYnFAM5GSw5eOD8AiBx/C/8RJ81lqPst71AMoyM/rVBk6CSuxT0atktNtKPiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284645},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"0a8a8f937152ad9791515bce2cf8855ecc6a8145","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.3.5","webdriverio":"9.23","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.6.0_1769106160121_0.9687230801850297","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@wdio/mcp","version":"1.6.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@1.6.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"36905820a592b71103e71b19e667358330564081","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-1.6.1.tgz","fileCount":6,"integrity":"sha512-hIrcHphh3G2o9wobTq0htBkFbKH08FC1CZ/gCKRKoSM3vdKei6fnWwvmqsiQQzEuGpxmP376lm6AHR9V57m3mg==","signatures":[{"sig":"MEUCID+qejnJXkOoLzl9U8wQ18EWtvYzb62iXHnDUIpI2afAAiEAw7Fo2cfF1EU4bfV8RdnpomjdtdYCnplWmgJarbqCjd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":288288},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"3b2eb3cbfeab4ceff7784a89f0f38aff88885f4d","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","webdriverio":"9.23","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.6.1_1769113749413_0.7264761645794835","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@wdio/mcp","version":"2.0.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.0.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"363c045d12e8447cf9c2cff66d7506b8da0d88f3","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.0.0.tgz","fileCount":6,"integrity":"sha512-hYx7mULC8f/m3oWEqnJ3B1fd7YAY8BoiJYncJHL8T3yWp8iE2E/APYKb3OG41JHDExGboYKeSCcjOEAcMwkhhw==","signatures":[{"sig":"MEQCIC4RFkrAU16bnFHlQu77hpBLyGfMxXV3AsghnN1ydaJyAiB5r8bIhlBM0E89GMHj/VnBDEDQ58+M291L6kDH0GN6dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251044},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"34d71ce81d5094a4597e68785ba3a6bfd69e1764","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","webdriverio":"9.23","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.0.0_1769158825774_0.3141287635215775","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@wdio/mcp","version":"2.1.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.1.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"0df322153e4df14c7d1dbaaa02944804084b5642","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.1.0.tgz","fileCount":6,"integrity":"sha512-V0WMWBbVpuaiBGesxHqO+2+ylyEyHFaoHVKnXkTlZeUIjhlMd8bf1/XFrbS2rTJkcjH18KCnnwPVTr4FgKuNZA==","signatures":[{"sig":"MEUCIH7CsEtLC0RiOtKsvBO5ikOxZ3nhgi8aES6OwEjXAfREAiEA/mG/Trolonr1GuXpvqWUJjiI5vtED5dfCBajMhovm1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247339},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","gitHead":"1b70736305a00d62afd4547d81d3116144c8822e","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","webdriverio":"9.23","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.1.0_1769499761338_0.9804019093606906","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@wdio/mcp","version":"2.2.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.2.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"0e43c6be121e2a58b79abdec4d87c5f7f3d52288","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.2.0.tgz","fileCount":9,"integrity":"sha512-MoKRaAiSJ7QYm+NHF0NhoSbr3VOsCYoliJ1Zzs9a+HVrMRpGOxgy10NkFLHRPEhkpwZPyKxJgNcvvSYxhoTCgw==","signatures":[{"sig":"MEQCIEhbVUqqZio4M96LhQxW7eXNWqpwASK989UaTy77EtddAiB7CXHbU+DsfTmgTEUCIwYMWhbTroDCqG6xbaK+5NMw1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402858},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"5c5e9ffe4d7c07b1df79fcadabaca0a9b070c9e2","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.23","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.2.0_1770284119267_0.3143301443817541","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@wdio/mcp","version":"2.2.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.2.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"3e8c43da11a9b5cc85ad9ba30ca6ddad4e8dd725","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.2.1.tgz","fileCount":9,"integrity":"sha512-9Yez95DKg9Z1/8kH/PkMaGiJ40cZPd792Y9erVlVE/ovT0kRSrkIbFz7fDXIP5Jn/Nsrk0tjbvSGvpwTDFEkGA==","signatures":[{"sig":"MEYCIQD4DEgORU/61iwhMihLThg0EpPv5IpUgu58gjCVv0SSJQIhAObFB3LPXBRKcspr90viyzudkq4AyTYks+io56Tkv0po","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402980},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"c5e1a0b110f7b0e196b36cae1fe28359fd63a70b","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.23","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.2.1_1770546902143_0.3460355045416652","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@wdio/mcp","version":"2.3.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.3.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"42a08f1468099aa7ef34081094f8332bfed9d700","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.3.0.tgz","fileCount":9,"integrity":"sha512-W12Jsb5W8I8q8VxMee0tcX3z9AU43IjMaXAyz8VCg0LzsfSUuZD6aHp2hpyFCF/Nz1KMEw71Z0f9aYZ0Hic4ag==","signatures":[{"sig":"MEUCIQDrFEWpYF28f6TJtZTKyR23de5BjIMoEpQhgtMTyeVvfgIgNcN5ZDjkBQPAYlFUEt+x/q60aY1kvb0hzYmAJng/Gww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446742},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"28ba1d6241bb16c494c07dbca317f18c0485b702","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.23","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.3.0_1771964667363_0.8055328355018609","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@wdio/mcp","version":"2.3.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.3.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"a165f93e9596ac07a8f6c95efda76ea7260fffe3","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.3.1.tgz","fileCount":9,"integrity":"sha512-vhXeVXKuK9jeJGpraGMrqtsUSjs8WMbTj/ONd960ANJB5d2bPB8dlIM+VBfmbljLNWwOMqtb7VIozPUuUZe64Q==","signatures":[{"sig":"MEUCICAWpyJxfvik3bI50b4VK6XJUjQgSFhJPGyFvNALdq/TAiEAkvdQFEoSqHZuPPAHExwzSx6VDf9/DYXR+BU6j5sxxU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447338},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"4ba256ba7c4a607fa1f3202ccae7f470d82107d1","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.3.1_1773331948254_0.11238514178376824","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@wdio/mcp","version":"2.4.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.4.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"e2e816996195782b3c661c3df665330bfb934ad6","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.4.0.tgz","fileCount":9,"integrity":"sha512-JG65JZP54L+P9eM++HdC7ruKgV3baykwU87VOv3nOyOWB0nvBC6enXwjAaoAbsizdPjIaSJt4drMjNdqIOvafg==","signatures":[{"sig":"MEUCIHomj0dd0HUl0wwT1rTD1HU/5/RvNS1TNfmOvhmhW9C/AiEAtUQJqL7OfKlCy6tjLibr78ziAOxv7M3LxCg56onkRKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":468846},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"096cc04af40372725014d3c8d93293eb3b3bf993","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.4.0_1773732174340_0.9321610653054668","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@wdio/mcp","version":"2.4.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.4.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"3b69fe21732e5b52d4edc191a901a93e72ea5f65","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.4.1.tgz","fileCount":9,"integrity":"sha512-y3FrnqKzDEzKGdlG1YGoj/sKTInbx1UfVdlAP0UDnxjfjxyW4tNWgqShej5Y7oGNJmfQvRJfOEqKVhcgQIP/Lw==","signatures":[{"sig":"MEQCIEg1eMX8rK4PZi47D+JMOKV51JEZ+VLMgXcrKyHjCT8rAiAYhG6z1FZv8ia/ltdL4BGimbEHb8pseE73oz6j0t3zIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504218},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"630201b140b3f6d399ef452796c3a71feca8011a","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","readmeFilename":"README.md","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.4.1_1773734516946_0.4294911512196433","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@wdio/mcp","version":"2.5.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.5.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"1fc5b1e079d6acb3433ff3a6c5f5c62e44286eea","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.5.0.tgz","fileCount":9,"integrity":"sha512-LAICaYxt5MYXxSMN2xpPrjbGl+i/PcAZIqFuaGZd1QclsCKMM6JGdWrdqem+cvcnBv26cJm6k5H5Sl1/oEJGSQ==","signatures":[{"sig":"MEUCIQDnI5FsNXXKXNB9seR5z6mObzyJQhx4K1zqqd8sYDdQWwIgQRVszjj7SyQlhIcriix78jbi292q3aPbURzCvdZgfI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500487},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"222e9c3f101efeac2a020c62a280b40ed3218a39","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.5.0_1773826266282_0.4609712820688834","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@wdio/mcp","version":"2.5.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.5.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"04fe6d48fe1a6282d89a2c857287f447556d810c","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.5.1.tgz","fileCount":9,"integrity":"sha512-MWZ2jsu/NsAUZvHDcHJRpwamSKvMBEuV63xT0EiXLZYSu8skahgflhajd/qyXBb+1Neyhy+cwA00Uio2EI2ikw==","signatures":[{"sig":"MEQCIDKewBqagmN9QRr1UqMhiecx2/yOptVKAnTHHo6RRDi3AiAsFfOPNFBjo3LwP4hk8nRZNv76cAxdBp0G3f3OFHYz1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500631},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"3886fd853342d2460dfbdbeb867918ff5b628d8c","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.5.1_1773992616571_0.8944281095269173","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"@wdio/mcp","version":"2.5.2","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.5.2","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"7dc16e43eda3a3cb1263018ec0dd210d0cf6b64c","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.5.2.tgz","fileCount":9,"integrity":"sha512-ephc012aYy9iAPSJ3tEFGPwTVQmjkTRP5DiFROhNyby5Q6MvUR4nqQnxLRsZ9YRByi0bB9tWHg48Alpaj57Hrg==","signatures":[{"sig":"MEQCIFQnrjJb3Do4cYMUMU7JS66WWEgcsUvjXmannBIwCIxIAiA8AQV7crgvx/qzexTa7YIqSueK2WqA+DDqpm2OMDbbWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516564},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"766afc705a565f127488dd7839e0f0c5f81fc3bc","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.5.2_1773994363126_0.9122680243601162","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"@wdio/mcp","version":"2.5.3","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@2.5.3","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"3a4274dc965153e09c222c2dd424f05995f5b008","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-2.5.3.tgz","fileCount":9,"integrity":"sha512-fLkOgps6EspxbYs0OaZ+MnGFgKRSmF8dl2bvzax+104J7qgXdpQOAo3FtzBgN3O75q5U3Qvl5NMkI+wCLQ+t1Q==","signatures":[{"sig":"MEUCIQDk/0zPuMbLKYOpr2/KTwmFTKVlcCHyO7SangbaX6L1RQIgdr3LVjdjJU5ODOHWhICDP56jrT8ewUZf+honHZ7byZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@2.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516708},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"610e36476e2c6c057deea0befdc15cae66f2fdcf","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_2.5.3_1773997163756_0.032251690041133374","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@wdio/mcp","version":"3.0.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.0.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"82af8bb7455287ff87dba3dd29213db01c115f81","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.0.0.tgz","fileCount":9,"integrity":"sha512-r+qypkFjYecR9BjuRdlR2Sk1YsZS8mt1z1g4m1c02n+5PifL1MeK4wJ6f/v+sTnD2XCmkmz6S63d+/AMvGJ2lw==","signatures":[{"sig":"MEUCIHZHGzHLowxXHR1s5ECBRn472ooJ46yYe/Pm51PTXlLEAiEA7gAJASEFuHTHTBV43krLBXgpa6fccesUHtdzPSkQ+0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":536011},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"0b2c98af65b072487fb170fed6802d801f657328","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"npm run lint:src && npm run lint:tests","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","lint:src":"eslint src/ --fix && tsc --noEmit","prebundle":"rimraf lib --glob ./*.tgz","lint:tests":"eslint tests/ --fix && tsc -p tsconfig.test.json --noEmit","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.5","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"9.24","@xmldom/xmldom":"^0.8.11","puppeteer-core":"^24.35.0","@wdio/protocols":"^9.16.2","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"1.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.2","rimraf":"^6.1.2","vitest":"^4.0.18","happy-dom":"^20.7.0","release-it":"^19.2.3","typescript":"5.9","@types/node":"^20.11.0","@wdio/types":"^9.20.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.0.0_1774859784807_0.26952113849233794","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@wdio/mcp","version":"3.1.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.1.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"fdf18468399614a2c5a75a932fb92aafe656657d","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.1.0.tgz","fileCount":9,"integrity":"sha512-AAkvjI/LCUjfFoA21TdK+FBa/qF7cpAsfaqhnNmBOPes9U8SkxZV4kS2BB9OIQxswM+XByOsl3fBYQ4JxC4qew==","signatures":[{"sig":"MEUCIQCrO5eF0NfMBJGPCkTEeaiNDTy3KreDAwpHxgd6Tw4WNQIgQi5+bL1StLsXZ4Li6ywt6C8IvoMoZUkZj9FRJhoIDsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":575740},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"06fca5a6f5e3d981434b732c8d7688ea714728f7","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.1.0_1774864224955_0.202516438803239","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@wdio/mcp","version":"3.1.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.1.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"2736ccb671c74ce288b0ac4f0ff24c9b26354636","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.1.1.tgz","fileCount":9,"integrity":"sha512-ZAoodagEeyge5IADvevK/M5F6uPTYyHn2WWK8jogGRFfmOsZmP8qYUYuk9z75qLUjcbs4oic6rkir5auillhyg==","signatures":[{"sig":"MEQCIHinDbh0GINu9AdlNHPNrclvdvqAis4aj8u1qAjVSXlBAiARfzoX8xKPFNNy3wY/o+TUZYR/fW/nkd6QkOUmyIBlRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":575848},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"0dbc8b4bc96f6d4631a98c0ed6c9f859fa0d35a2","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.1.1_1774868972191_0.8436205097656291","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@wdio/mcp","version":"3.2.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.2.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"b3b139da68da5e1cd980eb40bb6c8b8ad86c0438","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.2.0.tgz","fileCount":9,"integrity":"sha512-0l7b4a01w4KeMWbn2WSjVLqGTO7Fu0lY1qvEO+9phxPutWsm/T7oBKeqnXV2bU63L/B4yvKV+GLTXgGxqtfhEQ==","signatures":[{"sig":"MEUCIEL2pJDAcO6tUiJzCZgknMonqFjQevwQ9XAZ+0XRxn5RAiEAoBusgWnP5AhYhOZNW5rl/r4aoLIfxPykNqkW7WcJjBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592867},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"d4eae57e8e97058fab72edcdbfb3c23d219b3771","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.2.0_1775049183935_0.039637610229946274","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@wdio/mcp","version":"3.2.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.2.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"55a326204de43e3007dacb1a6b0ee9ee9347c749","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.2.1.tgz","fileCount":9,"integrity":"sha512-LSdR/hIYEIqqckG4r/GmcJ7iKG/sqC52LKxvYPbsqsMeLIT9iOtpACMnCX9FJZOwR0fk7AEj5YEXwG4Ogd9QAg==","signatures":[{"sig":"MEQCIGTtS1vXuQyhiQcLYlicAkI5SogCXvIUsNXeKnOBMr0OAiAwlQJwrvg5HxQgkP3LeAGozq7L2v8MFPm4g7zlBbJAHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":593914},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"0ade04405a34099c767ec8395956c03a54c10ca4","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.2.1_1775054044142_0.7029805042606438","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@wdio/mcp","version":"3.2.2","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.2.2","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"b6b1c130c6027f7c60229347d471ad29c74a4cc1","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.2.2.tgz","fileCount":9,"integrity":"sha512-HqpkYkW1fMvVyaOQP2BE9303ZVunZJQSdSdWqqaot4xkCnFcNENvnhS758vlJSu5uT3Py0wuPV6k8JkfdXkJ0Q==","signatures":[{"sig":"MEUCIClZ6hhS2babiDcKgSdVrSSNtkl9o33dVB6X+WQ13DiNAiEA9tS7obITy1hLqpQLe8gCWMlqouqkAdmacw/bcMujPx8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":594240},"main":"./lib/server.js","type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"3918d22aa5eb9188dc7726246af0993653107374","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.2.2_1775058221115_0.889444913883638","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@wdio/mcp","version":"3.2.3","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.2.3","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"e520014b74fe0b9619c4d65fc18d8b160562935b","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.2.3.tgz","fileCount":9,"integrity":"sha512-rq7V1tKT659W4M7yUvbHRxHI+ZzTPYsDbCqlMjSxvJ1ntLWz+vJNaw+FQ8Owh6w0S1AGk9MOwPnG0bvTakfLWA==","signatures":[{"sig":"MEUCIDuYmoYOhLJsca5P7XmWeF1iWZexqTrYAb9/iPzq683bAiEA5Mfhh8h0JOq3W1/B4PGq+M3eYa8+0OW1BdpnKhkk+Wg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":594554},"main":"./lib/server.js","pnpm":{"overrides":{"release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"a33dbc94005bbc1335942dd276ee0a2c2c2b6f3e","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.2.3_1775505013134_0.0017723208393343182","host":"s3://npm-registry-packages-npm-production"}},"3.2.4":{"name":"@wdio/mcp","version":"3.2.4","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.2.4","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"6cb00f7499aa8e586f94bc052347f2128b43bbad","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.2.4.tgz","fileCount":9,"integrity":"sha512-utPMVnU+SRkrY2rPdHtKVK3Kd96jXtYJj2u4RmUGd5R4ggt9p8QfxjsmcBWC4S6U3YCdFyxgDaN9NbJoWpHGZQ==","signatures":[{"sig":"MEYCIQDkBL3drIMpkLs65Bu1TRL/wt2myTeap84RS0byGnFG3gIhAIDWXExETh+tFCTMnMLIKoJk9rSbI0niNl6gTNaCal3i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":594554},"main":"./lib/server.js","pnpm":{"overrides":{"release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"d909210887a4fd0fd0b55bc3e76d7ad9cbd94738","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.2.4_1775746132003_0.5797653151783413","host":"s3://npm-registry-packages-npm-production"}},"3.2.5":{"name":"@wdio/mcp","version":"3.2.5","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.2.5","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"8d76f9d7e3362b4a86cd0920c07ad3b7a22dc795","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.2.5.tgz","fileCount":9,"integrity":"sha512-Bm7QHSIbjfuy+IaDsCi1T3SXFW05NikoZEulCMCViDl6Orpc6Vls+gux2IjV1FSzXHPKKMmC0lk4tH96knMuBw==","signatures":[{"sig":"MEQCIHYT1Q3sVBDDcqobEPiGX1KHi1qR/a3uJn83CNkDwU0QAiAYkv6fgg2ggEskKRwmkxCNOoUDv8s86WEEjNphjpObsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":594554},"main":"./lib/server.js","pnpm":{"overrides":{"release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"cde5f44dd649b70e361382f88cbf954fb3355e91","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.2.5_1776496969075_0.8673627132559285","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@wdio/mcp","version":"3.3.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.3.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"aae74a7cc5798426e5a87ad6bb834cb705b0c87f","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.3.0.tgz","fileCount":9,"integrity":"sha512-fhUkay8Brx1mNAflKEPma/WcecPV6xCV4E6vwypMuz3TCc4qFLIyKv4pMf6sMz6fb0QEO4vdmueJYONveD8X5g==","signatures":[{"sig":"MEUCIQDvSKZIlOWqDHRVGug0c9IhEiSJHSIAyXEJXKRrPNsghwIgZZIxVjocFmeicnmaPDd6K+yu73BqCp83zGxv8vQoarY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":631461},"main":"./lib/server.js","pnpm":{"overrides":{"release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"66255aafd2c7504bc0453214fa9f5eb24a981390","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.3.0_1776942671034_0.5447084124938357","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@wdio/mcp","version":"3.4.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.4.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"06436a3428bfe6635a50eb5dc7ce021a6ddc3955","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.4.0.tgz","fileCount":9,"integrity":"sha512-uuNynmzxwHhy/8A5IZcxfTlFYdBlZ2UyJG0R8OBHRQDLVe6Wqg0Twc2MenwmdueYqZ4z4afcbxNSr+35iXi7TQ==","signatures":[{"sig":"MEQCIEyPow8OGNah+XoM+q5hEL/iP2L0sQCtR/FLE9W547yNAiALj8cL3nogZKXXEmet5YoYoTJxR45NO8kB7ytmkS/fkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":635776},"main":"./lib/server.js","pnpm":{"overrides":{"release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"b04b5807d0e208fde716e756447a000922ff8eb2","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.4.0_1777279156348_0.4170768400804108","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"@wdio/mcp","version":"3.4.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.4.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"acdb59da620763ab7aa441143d292ae4166e9788","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.4.1.tgz","fileCount":9,"integrity":"sha512-DmETXLAI9E9bfacH3tKqN113DP/76Cf14p0bejva4WmQeJnJ/w1BmukC3FP6BW1Cj4ErHmXQ9ob7lUw9OfQiCQ==","signatures":[{"sig":"MEYCIQD/2wVfO9rbobkmEcuYemTCUDHv04rIUxezdMBjvgvGLwIhAJy5F+fxP9DUSQYTRM75ncYzmZZOt/ShAc5xXtlO2wr7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641616},"main":"./lib/server.js","pnpm":{"overrides":{"release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"1ca0916c82448c44effd659496bbf43dc26a026e","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.4.1_1777564020934_0.9349720475335206","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"@wdio/mcp","version":"3.4.2","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.4.2","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"ca2d95ecd78cdfde7473571a1783632dda51939d","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.4.2.tgz","fileCount":9,"integrity":"sha512-nCjdU0AZzNhOBlITzzkhOJtoLIYfGZ+O7Ikt8fhT3QcMw41IGgva9vrOGOfpF3vKybnQ+REE/fq+oweGxLC8oA==","signatures":[{"sig":"MEUCIASWXyPg/RCs87iwHyNFpnl10NgNk4HA9c+LRoiS47a8AiEAiL7xEB/3/hEZRYN4RELqZETryO/Guvd342chTUAGOxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":642503},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.17","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"f0f20d2db906cf82ac67c4d63cc09f6aa8bcb481","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.8.12","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.4.2_1778065320536_0.7309604781855019","host":"s3://npm-registry-packages-npm-production"}},"3.4.3":{"name":"@wdio/mcp","version":"3.4.3","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.4.3","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"b870599518aa6ea675389edf6d7023267c3ec328","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.4.3.tgz","fileCount":9,"integrity":"sha512-LEAkaUsfjVSx0GyDB60kiH5Fksbqsyz+0tZu9EjNFlfcAw61DQq+IN3rwvWf+lgx4JgZjWbnvx7cJMO++ETXnQ==","signatures":[{"sig":"MEQCIAoz7gNfJqouBjXdhAlnFui4uP1LZgTMZaU4rQKXlqA+AiAiXlbBSiy+hw1BmxcVgOl+kTHgIdseSV+iry9iIs+1uQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":644036},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.17","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"17d0db6e8f3b5a0dbd55b23b27906728f350f2f5","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.4.3_1778066309394_0.6102701536388253","host":"s3://npm-registry-packages-npm-production"}},"3.4.4":{"name":"@wdio/mcp","version":"3.4.4","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.4.4","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js"},"dist":{"shasum":"9fb039cd46c6f84cebcb5e3ee40ee129f637a771","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.4.4.tgz","fileCount":9,"integrity":"sha512-/WzS5as9y+ztUFQn0Kpz2FeMq3QWEk17/3OxOIQVsIBobE2QMo3c2b5HU63mTpR6cGfUL68s+b000aVRlyDdxw==","signatures":[{"sig":"MEQCIDQ5iEAcX1WL5loohn9pz4qVEnnSMzfOh9xT4dZiE0u1AiAkN10Vaq+YZz7ohquK/lTAxa6mCdarPCjhTThglX8wiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":644036},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.17","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"10ed4730a7452aecf1194b09e32eb04361a403f5","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@wdio/types":"^9.27.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.4.4_1778067212503_0.025974603428759346","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@wdio/mcp","version":"3.5.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.5.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"d41e7fc1b48bf54ef5d04c3a87a500d59c96c2bb","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.5.0.tgz","fileCount":15,"integrity":"sha512-hG2Jr7uUT3PHOp976CweRqAgIIgGPnc4uGQV/5HN++9kCWRSTp9AC9nv12S0vZD6iHH51UK/ysR0RtLX2pevGg==","signatures":[{"sig":"MEYCIQC00Uq1L6bRNkB3ulLcCaCIza+0kxjKTHgTVlWnNaCeOwIhAM8C4dxck1A40qUqOu9aWqkhN9i8yF3YgLRk+95ysJ2U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":699452},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"13e9db27b56f86e2fe0e83f9fe3c3532eb687807","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^2.10.3","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.5.0_1779176680258_0.31551767955358145","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"@wdio/mcp","version":"3.5.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.5.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"61566df30e16b6ac75001a03433174847fcbe9e2","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.5.1.tgz","fileCount":15,"integrity":"sha512-6IsyxLBlcYfo2zTDxxAFxqpPGhIIVCNAaMoOz2fRy+p2K7LikiZ6hBOvp+hoyQX7MtIinpKl4blOGmC8Uyyc+g==","signatures":[{"sig":"MEUCICb6wTUPqT+ubilhBKQDw05cqrf7qclDx8sSiWPe1Tq+AiEAzYS82vKs/qJdELhWPgEStRCy5ieLyLg3d4nV+ePPjNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":705932},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"b7ef23c4b9a3a44fa500126ed7685aa2e9f388bf","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.34.5","xpath":"^0.0.34","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^2.10.3","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.5.1_1779703422991_0.6886494835773638","host":"s3://npm-registry-packages-npm-production"}},"3.5.2":{"name":"@wdio/mcp","version":"3.5.2","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.5.2","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"65cd9e6380f18d10c85f8ebd229b337d1f47dc23","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.5.2.tgz","fileCount":15,"integrity":"sha512-WPyyZb8GrQ1vzrlkLUYown6p/Gjkgai6tbyOuVm9N2zyyiPWECQ1HjsbFDBxVI70EKOLylPT+91vNpbljVVN9g==","signatures":[{"sig":"MEUCIQD7ycDTbiz+JSZ4rc582gcNCL+xV2993Jh5dRA3/n+B5gIgNYMaNazPQQRH9cMHAYfB/xze02MEkGqPEmWN+p5hfic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":751966},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"7eb84ec841a772adbc37e9aacbbd9b5f353f48c5","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.34.5","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","readmeFilename":"README.md","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^2.10.3","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.5.2_1780586443197_0.13396270608842586","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@wdio/mcp","version":"3.6.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.6.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"be6c864c34589b8517b31788d1cb670e07397ce6","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.6.0.tgz","fileCount":15,"integrity":"sha512-S4fbWWycUhY3fgL9z6p4NILO6ezYZZVaNNtpkMcDZHGiQhwKSR21k1dTzBG9bxkW5EU2TfwqdmphDbl6Txxw9A==","signatures":[{"sig":"MEUCIBEDr7H+ngxWFuI2Oo6ft9klUc2FWnmB9Xd4b9MyWH6SAiEAwWPoB7UuoT+nbMB3GGPfnJBpVFb9FseCXlgSnKXoF90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":795817},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"53a0e3c8d88901e85e9a4a3e480b2f13f083bd4e","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.34.5","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^2.10.3","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.6.0_1780864222882_0.6554834436327119","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@wdio/mcp","version":"3.7.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.7.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"d1d6cdb509412b1c4c25c29e6470c6c51c39af3d","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.7.0.tgz","fileCount":15,"integrity":"sha512-rzpqs4AvLeZipHhcWMgOtISicpyDpsVvGq2Mkb2STEz6FvRRpIpcomeeclHauT8GoNcr9JEp1nT5NnouSrqf1Q==","signatures":[{"sig":"MEYCIQCp5iLKyv0rVTHVdcv5nmPfPlcGpl3c2u967w6Kohpu2AIhALTD+9gKMErMGToAmjmxx1sxva0m8Qf5XwWyJaj5xHNq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841319},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"34e6f37464cdd57f79a08d2d04341ed315cf5a81","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.34.5","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1","testingbot-tunnel-launcher":"^1.1.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^2.10.3","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.7.0_1781000901262_0.050187007385413596","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@wdio/mcp","version":"3.8.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.8.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"6b9c2b552bec43dd123d2cc3cfed5065dadd493c","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.8.0.tgz","fileCount":15,"integrity":"sha512-N76nTtxuJdcCM5qp/NOCsM7ifFI1oOrvPNYXO5G/QAAx7pKN7JelZXcgIvRs1npzaxFZsnPo6hvd8R4sue+vvw==","signatures":[{"sig":"MEYCIQCoa9LrzgsBRKGzoswTDWWD9ltsYgZHlqIjscJnCjWepAIhANH0UZX/hWPRVD4vWg8C2wkMiwcPnpcXsRx/3BDlB+lD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":868739},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"bc620a244ac60c6c28a309876315c45e38abc77b","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.34.5","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1","testingbot-tunnel-launcher":"^1.1.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^2.10.3","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.8.0_1781616017988_0.6909723394994733","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@wdio/mcp","version":"3.9.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.9.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"a9e011ab1be56a4009bf329c64fcb50cef2a7948","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.9.0.tgz","fileCount":15,"integrity":"sha512-V1bymPY6EAjCDba8sN0Tyo/XbTfcguCtuVwLF+McobC/n7HNecsCutb86oSl/ZbzVZp09yR82JRjBCVlbZTX0g==","signatures":[{"sig":"MEUCIAjplDWI/JeeWwfguyTvss6v5bwJR0z27g5WF6S9KAYiAiEApdqVbMDTY/5xNJQp8HyLASNb6SdvPO/6U2y5Me/OHWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":883238},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"47b75d6e0ddb3366666e476e7899a696214e569c","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.34.5","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1","testingbot-tunnel-launcher":"^1.1.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^2.10.3","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.9.0_1781754165890_0.1929344559376418","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"@wdio/mcp","version":"3.10.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.10.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"dc731851f579af8005ca90dc45ab096df62dad96","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.10.0.tgz","fileCount":15,"integrity":"sha512-tohthtGgT5eei5R8X78OGH/0H8cFpUkIHRUMNQHS087sy0t4JQb4A3pDUvnYRPBiNTPRrEXlSaL3wgba8XuTgw==","signatures":[{"sig":"MEYCIQDln/Q82CWWTx+uh7118wRdvsGjfs63ITBsPx6cO5eLwQIhAKYEsvQSrsUkLeCE2LePrtQ/Zx5CPPkHSRjaV4z4mVcV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":891041},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"fed8316d51a6b774edadc55f575ee3581cc00b82","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.35.3","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1","testingbot-tunnel-launcher":"^1.1.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^3.4.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.10.0_1783361769954_0.8435347858778746","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"@wdio/mcp","version":"3.10.1","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.10.1","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"mcp":"lib/server.js","wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"44937e0e2e3e6cbee713ffdd4078248cc6805067","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.10.1.tgz","fileCount":15,"integrity":"sha512-2iHxSzN8HxCc3pw4mKGS6c0lig6lqriotVdI4Os1bTgKevW3CuXiI3LDByBiC6H5U7Wu8BRyXK/3KrL9BHSbTw==","signatures":[{"sig":"MEYCIQDgJ+68dTmkfSiPtxhg0m+hMZxl+Tjr/JKPVknjPmx7vwIhAIOnk6uJ81N+Or4o13hWyWJ5ztVg+TKVXCCZShyGxvQ3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":892643},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"f1807ad604500b72314e58257f05da7452eff6f0","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.35.3","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1","testingbot-tunnel-launcher":"^1.1.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^3.4.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.10.1_1783486638075_0.7216375823544938","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"@wdio/mcp","version":"3.11.0","author":{"name":"Vince Graics"},"license":"MIT","_id":"@wdio/mcp@3.11.0","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"homepage":"https://github.com/webdriverio/mcp#readme","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"bin":{"mcp":"lib/server.js","wdio-mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"dist":{"shasum":"8b7068e558c9130c5938f695825dd7ba67d771eb","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.11.0.tgz","fileCount":15,"integrity":"sha512-0SYGslwe4KSLUu8rj5lAgZPTeHWYlHHO2JINffs/MvkJJ0WWLTikIcguI8eFyBBmzMLg9gPl0FNs8QC4PPxpMw==","signatures":[{"sig":"MEUCIQDM5LwtAV4UKewKRxTLGqt1DmurxssAd2zLtvClNFRYCQIgNoEUw5FjRU21FlUhNVeiCAWjfEhQQlpPtAYtis3ivAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918815},"main":"./lib/server.js","pnpm":{"overrides":{"defu":"^6.1.7","hono":"^4.12.18","lodash":"^4.18.1","basic-ftp":"^5.3.1","ip-address":"^10.1.1","vitest>vite":"^7.3.2","fast-xml-parser":"^5.7.3","@hono/node-server":"^1.19.14","release-it>undici":"^6.24.0"}},"type":"module","types":"./lib/server.d.ts","module":"./lib/server.js","exports":{".":{"types":"./lib/server.d.ts","import":"./lib/server.js"},"./trace":{"types":"./lib/trace.d.ts","import":"./lib/trace.js"},"./snapshot":{"types":"./lib/snapshot.d.ts","import":"./lib/snapshot.js"}},"gitHead":"91eb3530d6bd9f7fcf139975044b4acda697a1ec","mcpName":"io.github.webdriverio/mcp","scripts":{"dev":"tsx --watch src/server.ts","lint":"eslint src/ tests/ --fix && tsc --noEmit","test":"vitest run","start":"node lib/server.js","bundle":"tsup && shx chmod +x lib/server.js","prepare":"husky","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prebundle":"rimraf lib --glob ./*.tgz","postbundle":"npm pack","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"repository":{"url":"git://github.com/webdriverio/mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.3.6","yazl":"^3.3.1","sharp":"^0.35.3","xpath":"^0.0.34","saucelabs":"^9.0.2","webdriverio":"^9.27.0","@xmldom/xmldom":"^0.9.10","puppeteer-core":"^24.40.0","@wdio/protocols":"^9.27.0","@toon-format/toon":"^2.1.0","browserstack-local":"^1.5.12","@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1","testingbot-tunnel-launcher":"^1.1.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"shx":"^0.4.0","tsx":"^4.21.0","tsup":"^8.5.1","husky":"^9.1.7","yauzl":"^3.3.0","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^4.1.2","happy-dom":"^20.8.9","release-it":"^19.2.4","typescript":"~5.9.3","@types/node":"^20.19.37","@types/yazl":"^3.3.1","@wdio/types":"^9.27.0","@types/yauzl":"^3.4.0","@wdio/eslint":"^0.1.3","@release-it/conventional-changelog":"^10.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_3.11.0_1784309907259_0.519896978437477","host":"s3://npm-registry-packages-npm-production"}},"3.11.1":{"name":"@wdio/mcp","mcpName":"io.github.webdriverio/mcp","author":{"name":"Vince Graics"},"repository":{"type":"git","url":"git://github.com/webdriverio/mcp.git"},"version":"3.11.1","description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","main":"./lib/server.js","module":"./lib/server.js","types":"./lib/server.d.ts","exports":{".":{"import":"./lib/server.js","types":"./lib/server.d.ts"},"./snapshot":{"import":"./lib/snapshot.js","types":"./lib/snapshot.d.ts"},"./trace":{"import":"./lib/trace.js","types":"./lib/trace.d.ts"}},"bin":{"wdio-mcp":"lib/server.js","mcp":"lib/server.js","wdio-show-trace":"lib/show-trace.js"},"license":"MIT","publishConfig":{"access":"public"},"type":"module","scripts":{"prebundle":"rimraf lib --glob ./*.tgz","bundle":"tsup && shx chmod +x lib/server.js","postbundle":"npm pack","lint":"eslint src/ tests/ --fix && tsc --noEmit","start":"node lib/server.js","start:http":"node lib/server.js --http --allowedOrigins http://localhost:8080","dev":"tsx --watch src/server.ts","dev:http":"tsx --watch src/server.ts --http --allowedOrigins http://localhost:8080","prepare":"husky","test":"vitest run"},"dependencies":{"@lambdatest/node-tunnel":"^4.0.11","@modelcontextprotocol/sdk":"^1.27.1","@toon-format/toon":"^2.1.0","@wdio/protocols":"^9.27.0","@xmldom/xmldom":"^0.9.10","browserstack-local":"^1.5.12","puppeteer-core":"^24.40.0","saucelabs":"^9.0.2","sharp":"^0.35.3","testingbot-tunnel-launcher":"^1.1.18","webdriverio":"^9.27.0","xpath":"^0.0.34","yazl":"^3.3.1","zod":"^4.3.6"},"devDependencies":{"@release-it/conventional-changelog":"^10.0.6","@types/node":"^20.19.37","@types/yauzl":"^3.4.0","@types/yazl":"^3.3.1","@wdio/eslint":"^0.1.3","@wdio/types":"^9.27.0","eslint":"^9.39.4","happy-dom":"^20.8.9","husky":"^9.1.7","release-it":"^19.2.4","rimraf":"^6.1.3","shx":"^0.4.0","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"~5.9.3","vitest":"^4.1.2","yauzl":"^3.3.0"},"packageManager":"pnpm@10.32.1","pnpm":{"overrides":{"release-it>undici":"^6.24.0","basic-ftp":"^5.3.1","lodash":"^4.18.1","hono":"^4.12.18","@hono/node-server":"^1.19.14","fast-xml-parser":"^5.7.3","defu":"^6.1.7","vitest>vite":"^7.3.2","ip-address":"^10.1.1"}},"gitHead":"86fd6c0e046cbba7ba0d049188eed0fc86d84429","_id":"@wdio/mcp@3.11.1","bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"homepage":"https://github.com/webdriverio/mcp#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-MqzedVdrvBS2cFfDrykhGFi0LitPuaSe6u6+/SdJ4daOaOFabDkRkj/SwFmwITTmkZVg/1zuo/H5ZR33V3panQ==","shasum":"813d351bcbb2b3989cafe650ad679f1cc438b6f2","tarball":"https://registry.npmjs.org/@wdio/mcp/-/mcp-3.11.1.tgz","fileCount":15,"unpackedSize":919146,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wdio%2fmcp@3.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD3ucZN1huqhxhrt2SrCHXBoiB70QZ3hnK468UYPOR3uAIgeTx0rLBZPKz1aJoJx4VMm5lOMfludL+DgF399oOca98="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da5a09f0-7efc-40cd-af38-b1bcf4348635"}},"directories":{},"maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_3.11.1_1784638840348_0.8629713136228725"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-07T17:21:59.457Z","modified":"2026-07-21T13:00:40.802Z","1.4.0":"2026-01-07T17:22:00.004Z","1.4.1":"2026-01-07T17:36:17.109Z","1.5.0":"2026-01-20T14:37:07.144Z","1.5.1":"2026-01-20T15:38:50.863Z","1.6.0":"2026-01-22T18:22:40.274Z","1.6.1":"2026-01-22T20:29:09.543Z","2.0.0":"2026-01-23T09:00:25.917Z","2.1.0":"2026-01-27T07:42:41.491Z","2.2.0":"2026-02-05T09:35:19.426Z","2.2.1":"2026-02-08T10:35:02.278Z","2.3.0":"2026-02-24T20:24:27.612Z","2.3.1":"2026-03-12T16:12:28.417Z","2.4.0":"2026-03-17T07:22:54.486Z","2.4.1":"2026-03-17T08:01:57.118Z","2.5.0":"2026-03-18T09:31:06.512Z","2.5.1":"2026-03-20T07:43:36.738Z","2.5.2":"2026-03-20T08:12:43.368Z","2.5.3":"2026-03-20T08:59:23.932Z","3.0.0":"2026-03-30T08:36:24.956Z","3.1.0":"2026-03-30T09:50:25.103Z","3.1.1":"2026-03-30T11:09:32.364Z","3.2.0":"2026-04-01T13:13:04.184Z","3.2.1":"2026-04-01T14:34:04.345Z","3.2.2":"2026-04-01T15:43:41.302Z","3.2.3":"2026-04-06T19:50:13.339Z","3.2.4":"2026-04-09T14:48:52.149Z","3.2.5":"2026-04-18T07:22:49.230Z","3.3.0":"2026-04-23T11:11:11.171Z","3.4.0":"2026-04-27T08:39:16.519Z","3.4.1":"2026-04-30T15:47:01.095Z","3.4.2":"2026-05-06T11:02:00.722Z","3.4.3":"2026-05-06T11:18:29.602Z","3.4.4":"2026-05-06T11:33:32.674Z","3.5.0":"2026-05-19T07:44:40.422Z","3.5.1":"2026-05-25T10:03:43.157Z","3.5.2":"2026-06-04T15:20:43.392Z","3.6.0":"2026-06-07T20:30:23.069Z","3.7.0":"2026-06-09T10:28:21.446Z","3.8.0":"2026-06-16T13:20:18.141Z","3.9.0":"2026-06-18T03:42:46.189Z","3.10.0":"2026-07-06T18:16:10.121Z","3.10.1":"2026-07-08T04:57:18.222Z","3.11.0":"2026-07-17T17:38:27.472Z","3.11.1":"2026-07-21T13:00:40.490Z"},"bugs":{"url":"https://github.com/webdriverio/mcp/issues"},"author":{"name":"Vince Graics"},"license":"MIT","homepage":"https://github.com/webdriverio/mcp#readme","repository":{"type":"git","url":"git://github.com/webdriverio/mcp.git"},"description":"MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)","maintainers":[{"name":"christian-bromann","email":"mail@bromann.dev"},{"name":"wdio-user","email":"bot@webdriver.io"},{"name":"wswebcreation-nl","email":"wim@wswebcreation.nl"}],"readme":"# WebDriverIO MCP Server\n\nA Model Context Protocol (MCP) server that enables AI assistants to interact with web browsers and mobile applications\nusing WebDriverIO. Automate Chrome, Firefox, Edge, and Safari browsers plus iOS and Android apps—all through a unified\ninterface.\n\n## Installation\n\n[![mcp MCP server](https://glama.ai/mcp/servers/webdriverio/mcp/badges/score.svg)](https://glama.ai/mcp/servers/webdriverio/mcp)\n\nAdd the following configuration to your MCP client settings:\n\n**Standard config** (works in most clients):\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@wdio/mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\n[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install%20Server-0098FF?style=flat-square)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522wdio-mcp%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522%2540wdio%252Fmcp%2540latest%2522%255D%257D)\n[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install%20Server-24bfa5?style=flat-square)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522wdio-mcp%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522%2540wdio%252Fmcp%2540latest%2522%255D%257D)\n[<img src=\"https://cursor.com/deeplink/mcp-install-dark.svg\" alt=\"Install in Cursor\">](https://cursor.com/en/install-mcp?name=WebDriverIO&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB3ZGlvL21jcEBsYXRlc3QiXX0%3D)\n\n<details>\n<summary>Claude Desktop</summary>\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS),\n`%APPDATA%\\Claude\\claude_desktop_config.json` (Windows), or `~/.config/Claude/claude_desktop_config.json` (Linux):\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@wdio/mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Claude Code</summary>\n\n```bash\nclaude mcp add wdio-mcp -- npx -y @wdio/mcp@latest\n```\n\n</details>\n\n<details>\n<summary>Cline</summary>\n\nAdd to your VS Code `settings.json` or `cline_mcp_settings.json` file:\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@wdio/mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Cursor</summary>\n\nGo to `Cursor Settings` → `MCP` → `Add new MCP Server`, or create `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@wdio/mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Codex</summary>\n\nUse the Codex CLI:\n\n```bash\ncodex mcp add wdio-mcp npx \"@wdio/mcp@latest\"\n```\n\nOr edit `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.wdio-mcp]\ncommand = \"npx\"\nargs = [\"@wdio/mcp@latest\"]\n```\n\n</details>\n\n<details>\n<summary>Goose</summary>\n\nGo to `Advanced settings` → `Extensions` → `Add custom extension`, or run:\n\n```bash\ngoose configure\n```\n\nOr edit `~/.config/goose/config.yaml`:\n\n```yaml\nextensions:\n  wdio-mcp:\n    name: WebDriverIO MCP\n    cmd: npx\n    args: [ -y, \"@wdio/mcp@latest\" ]\n    enabled: true\n    type: stdio\n```\n\n</details>\n\n<details>\n<summary>Windsurf</summary>\n\nEdit `~/.codeium/windsurf/mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@wdio/mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Zed</summary>\n\nEdit Zed settings (`~/.config/zed/settings.json`):\n\n```json\n{\n  \"context_servers\": {\n    \"wdio-mcp\": {\n      \"source\": \"custom\",\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@wdio/mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>VS Code (Copilot)</summary>\n\n```bash\ncode --add-mcp '{\"name\":\"wdio-mcp\",\"command\":\"npx\",\"args\":[\"-y\",\"@wdio/mcp@latest\"]}'\n```\n\n</details>\n\n----\n> ⚠️ **Restart Required**: After adding the configuration, fully restart your MCP client to apply the changes.\n\n### Option 2: Global Installation\n\nIf you prefer to install globally:\n\n```bash\nnpm install -g @wdio/mcp\n```\n\nThen use `wdio-mcp` as the command:\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"wdio-mcp\"\n    }\n  }\n}\n```\n\n📖 **Need help?** Follow the [MCP install guide](https://modelcontextprotocol.io/quickstart/user).\n\n### HTTP Transport (for non-subprocess clients)\n\nBy default the server uses **stdio** (subprocess) transport. For clients that cannot launch subprocesses (e.g.\nllama.cpp, OpenAI Codex secure mode), enable HTTP transport:\n\n```bash\nnpx @wdio/mcp --http --port 3000\n```\n\n| Flag               | Default                            | Description                                             |\n|--------------------|------------------------------------|---------------------------------------------------------|\n| `--http`           | —                                  | Enable HTTP transport mode                              |\n| `--port`           | `3000`                             | Port to listen on                                       |\n| `--allowedHosts`   | `localhost,127.0.0.1,::1`          | Allowed `Host` header values (DNS rebinding protection) |\n| `--allowedOrigins` | _(none — browser clients blocked)_ | Allowed `Origin` values for CORS. Use `*` to allow all. |\n\nThen point your MCP client at `http://localhost:3000/mcp`.\n\n### Prerequisites For Mobile App Automation\n\n- **Appium Server**: Install globally with `npm install -g appium`\n- **Platform Drivers**:\n    - iOS: `appium driver install xcuitest` (requires Xcode on macOS)\n    - Android: `appium driver install uiautomator2` (requires Android Studio)\n- **Devices/Emulators**:\n    - iOS Simulator (macOS) or physical device\n    - Android Emulator or physical device\n- **For iOS Real Devices**: You'll need the device's UDID (Unique Device Identifier)\n    - **Find UDID on macOS**: Connect device → Open Finder → Select device → Click device name/model to reveal UDID\n    - **Find UDID on Windows**: Connect device → iTunes or Apple Devices app → Click device icon → Click \"Serial Number\"\n      to reveal UDID\n    - **Xcode method**: Window → Devices and Simulators → Select device → UDID shown as \"Identifier\"\n\nStart the Appium server before using mobile features:\n\n```bash\nappium\n# Server runs at http://127.0.0.1:4723 by default\n```\n\n## Cloud Providers\n\nRun browser and mobile app tests on cloud real devices and browsers without any local setup. Currently supports\n[BrowserStack](https://www.browserstack.com/), [Sauce Labs](https://saucelabs.com/),\n[LambdaTest](https://www.lambdatest.com/), [TestingBot](https://testingbot.com/), and\n[Digital.ai Testing](https://digital.ai/products/continuous-testing/).\n\n### Prerequisites\n\nSet your provider credentials as environment variables or in your MCP client config:\n\n<details>\n<summary>BrowserStack</summary>\n\n```bash\nexport BROWSERSTACK_USERNAME=your_username\nexport BROWSERSTACK_ACCESS_KEY=your_access_key\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@wdio/mcp@latest\"],\n      \"env\": {\n        \"BROWSERSTACK_USERNAME\": \"your_username\",\n        \"BROWSERSTACK_ACCESS_KEY\": \"your_access_key\"\n      }\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Sauce Labs</summary>\n\n```bash\nexport SAUCE_USERNAME=your_username\nexport SAUCE_ACCESS_KEY=your_access_key\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@wdio/mcp@latest\"],\n      \"env\": {\n        \"SAUCE_USERNAME\": \"your_username\",\n        \"SAUCE_ACCESS_KEY\": \"your_access_key\"\n      }\n    }\n  }\n}\n```\n\n| `SAUCE_USERNAME` | Sauce Labs username (required) |\n| `SAUCE_ACCESS_KEY` | Sauce Labs access key (required) |\n\nThe data center is set per-session via the `region` parameter in `start_session` (defaults to `eu-central-1`).\n\n</details>\n\n<details>\n<summary>LambdaTest (TestMu)</summary>\n\n```bash\nexport TESTMU_USERNAME=your_username\nexport TESTMU_ACCESS_KEY=your_access_key\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@wdio/mcp@latest\"],\n      \"env\": {\n        \"TESTMU_USERNAME\": \"your_username\",\n        \"TESTMU_ACCESS_KEY\": \"your_access_key\"\n      }\n    }\n  }\n}\n```\n\n| `TESTMU_USERNAME` | LambdaTest username (required) |\n| `TESTMU_ACCESS_KEY` | LambdaTest access key (required) |\n\n</details>\n\n<details>\n<summary>TestingBot</summary>\n\n```bash\nexport TESTINGBOT_KEY=your_key\nexport TESTINGBOT_SECRET=your_secret\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@wdio/mcp@latest\"],\n      \"env\": {\n        \"TESTINGBOT_KEY\": \"your_key\",\n        \"TESTINGBOT_SECRET\": \"your_secret\"\n      }\n    }\n  }\n}\n```\n\n| `TESTINGBOT_KEY` | TestingBot key (required) |\n| `TESTINGBOT_SECRET` | TestingBot secret (required) |\n\n</details>\n\n<details>\n<summary>Digital.ai Testing</summary>\n\n```bash\nexport DIGITALAI_CLOUD_URL=https://your-cloud.example.com\nexport DIGITALAI_ACCESS_KEY=your_access_key\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"wdio-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@wdio/mcp@latest\"],\n      \"env\": {\n        \"DIGITALAI_CLOUD_URL\": \"https://your-cloud.example.com\",\n        \"DIGITALAI_ACCESS_KEY\": \"your_access_key\"\n      }\n    }\n  }\n}\n```\n\n| `DIGITALAI_CLOUD_URL` | Digital.ai cloud host, e.g. `https://your-cloud.example.com` (required) |\n| `DIGITALAI_ACCESS_KEY` | Digital.ai access key (required) |\n\nThe access key is sent via the `digitalai:options` capability (mobile) or the flat `digitalai:accessKey` capability (web).\n\n**Report pass/fail status:** WebdriverIO defaults to the BiDi protocol, over which Digital.ai's cloud cannot observe command failures — so reports default to \"Passed\". To make the cloud reflect actual pass/fail, opt in to classic WebDriver per session:\n\n```js\nstart_session({\n  provider: 'digitalai', platform: 'browser', browser: 'chrome', os: 'Windows 10',\n  capabilities: { 'wdio:enforceWebDriverClassic': true }\n})\n```\n\n(Pure client-side assertion failures still report as \"Passed\" — only failures that reach the cloud as WebDriver command errors are detected.)\n\n**Mobile (Appium):** configure your Digital.ai project for **Appium-server execution** and pick its default Appium version via the project's **\"Manage default Appium server version\"** setting — the version is chosen at the project level (and tracks the versions your cloud supports), so this MCP does not pin one. See [Appium Server Test Execution](https://docs.digital.ai/continuous-testing/docs/te/test-execution-home/mobile-android-and-ios/appium/appium-server-test-execution).\n\n</details>\n\n### Browser Sessions\n\nRun a browser on a specific OS/version combination:\n\n```javascript\n// BrowserStack\nstart_session({\n    provider: 'browserstack',\n    platform: 'browser',\n    browser: 'chrome',           // chrome | firefox | edge | safari\n    browserVersion: 'latest',    // default: latest\n    os: 'Windows',               // e.g. \"Windows\", \"OS X\"\n    osVersion: '11',             // e.g. \"11\", \"Sequoia\"\n    reporting: {\n        project: 'My Project',\n        build: 'v1.2.0',\n        session: 'Login flow'\n    }\n})\n\n// Sauce Labs\nstart_session({\n    provider: 'saucelabs',\n    platform: 'browser',\n    browser: 'chrome',\n    os: 'Windows',               // combined with osVersion → platformName\n    osVersion: '11',             // e.g. \"11\", \"15\" (numbered Mac naming)\n    region: 'eu-central-1',      // default: eu-central-1\n    reporting: {\n        build: 'v1.2.0',\n        session: 'Login flow'\n    }\n})\n\n// LambdaTest\nstart_session({\n    provider: 'testmu',\n    platform: 'browser',\n    browser: 'chrome',\n    os: 'Windows',               // combined with osVersion → platformName\n    osVersion: '11',             // e.g. \"11\", \"Sequoia\" (optional)\n    reporting: {\n        project: 'My Project',\n        build: 'v1.2.0',\n        session: 'Login flow'\n    }\n})\n\n// TestingBot\nstart_session({\n    provider: 'testingbot',\n    platform: 'browser',\n    browser: 'chrome',\n    os: 'Windows',               // combined with osVersion → platformName (default: Windows 11)\n    osVersion: '11',\n    reporting: {\n        build: 'v1.2.0',\n        session: 'Login flow'\n    }\n})\n\n// Digital.ai\nstart_session({\n    provider: 'digitalai',\n    platform: 'browser',\n    browser: 'chrome',\n    os: 'Windows',               // combined with osVersion → digitalai:osName (optional)\n    osVersion: '11',\n    reporting: {\n        session: 'Login flow'    // → digitalai:testName (flat capability, not nested)\n    }\n})\n```\n\n> **Provider-specific `os` / `osVersion` behavior:**\n> - **BrowserStack** — `os` and `osVersion` map to separate `bstack:options.os` / `bstack:options.osVersion` fields.\n> - **Sauce Labs / LambdaTest / TestingBot** — `os` and `osVersion` are combined into the W3C `platformName` capability (e.g., `os: 'Windows'` + `osVersion: '11'` → `platformName: 'Windows 11'`). These providers use `platformName` values like `\"Windows 11\"`, `\"MacOS Sequoia\"`, or `\"Linux\"`. TestingBot defaults to `Windows 11` when `os` is omitted.\n> - **Digital.ai** — `os` and `osVersion` are combined into the flat `digitalai:osName` capability (NOT `platformName`), e.g. `os: 'Windows'` + `osVersion: '11'` → `digitalai:osName: 'Windows 11'`.\n\n### Mobile App Sessions\n\nTest on cloud real devices. First upload your app (or use an existing app URL):\n\n```javascript\n// BrowserStack: returns bs:// URL\nupload_app({ provider: 'browserstack', path: '/path/to/app.apk' })\n\n// Sauce Labs: returns storage:filename= reference\nupload_app({ provider: 'saucelabs', path: '/path/to/app.apk' })\n\n// LambdaTest: returns lt:// URL\nupload_app({ provider: 'testmu', path: '/path/to/app.apk' })\n\n// TestingBot: returns tb:// URL\nupload_app({ provider: 'testingbot', path: '/path/to/app.apk' })\n\n// Digital.ai: returns cloud:<package-or-bundle> reference\nupload_app({ provider: 'digitalai', path: '/path/to/app.apk' })\n\n// Start a session\nstart_session({\n    provider: 'browserstack',\n    platform: 'android',\n    app: 'bs://abc123...',\n    deviceName: 'Samsung Galaxy S23',\n    platformVersion: '13.0'\n})\n\n// Sauce Labs native app\nstart_session({\n    provider: 'saucelabs',\n    platform: 'android',\n    app: 'storage:filename=myapp.apk',\n    deviceName: 'Samsung.*',\n    platformVersion: '16'\n})\n\n// LambdaTest native app\nstart_session({\n    provider: 'testmu',\n    platform: 'android',\n    app: 'lt://abc123...',\n    deviceName: 'Pixel 7',\n    platformVersion: '13'\n})\n\n// TestingBot native app\nstart_session({\n    provider: 'testingbot',\n    platform: 'android',\n    app: 'tb://abc123...',\n    deviceName: 'Pixel 7',\n    platformVersion: '13'\n})\n\n// Digital.ai native app — devices are selected via a deviceQuery\nstart_session({\n    provider: 'digitalai',\n    platform: 'android',\n    app: 'cloud:com.example.app',\n    deviceQuery: \"@os='android' and @version='14' and @name='.*Pixel.*'\"\n    // or omit deviceQuery and pass deviceName / platformVersion to build one\n})\n```\n\n### Mobile Browser Sessions\n\nRun a browser on a cloud mobile device — real device or emulator/simulator — without uploading an app:\n\n```javascript\n// BrowserStack — Chrome on Android emulator\nstart_session({\n    provider: 'browserstack',\n    platform: 'android',\n    browser: 'chrome',\n    deviceName: 'Google Pixel 7',\n    platformVersion: '13'\n})\n\n// Sauce Labs — Safari on iOS simulator\nstart_session({\n    provider: 'saucelabs',\n    platform: 'ios',\n    browser: 'safari',\n    deviceName: 'iPhone 15',\n    platformVersion: '18',\n    region: 'eu-central-1'\n})\n\n// LambdaTest — Chrome on Android emulator\nstart_session({\n    provider: 'testmu',\n    platform: 'android',\n    browser: 'chrome',\n    deviceName: 'Pixel 7',\n    platformVersion: '13'\n})\n\n// TestingBot — Chrome on Android emulator\nstart_session({\n    provider: 'testingbot',\n    platform: 'android',\n    browser: 'chrome',\n    deviceName: 'Pixel 7',\n    platformVersion: '13'\n})\n\n// Digital.ai — Chrome on an Android device (real or emulator; selected via a deviceQuery)\nstart_session({\n    provider: 'digitalai',\n    platform: 'android',\n    browser: 'chrome',\n    deviceName: 'Pixel 7',\n    platformVersion: '13'\n    // or omit deviceName / platformVersion and pass deviceQuery directly, e.g.\n    // deviceQuery: \"@os='android' and @emulator='true'\" to force an emulator\n})\n```\n\n> **Note:** Mobile browser sessions do not require `app`, `appPath`, or `noReset`. The provider launches a browser directly on the selected device — real or emulator/simulator.\n\nUse `list_apps` to see previously uploaded apps:\n\n```javascript\nlist_apps({ provider: 'browserstack' })\nlist_apps({ provider: 'saucelabs', sortBy: 'app_name' })\nlist_apps({ provider: 'testmu' })\nlist_apps({ provider: 'testingbot' })\nlist_apps({ provider: 'digitalai' })\nlist_apps({ provider: 'browserstack', organizationWide: true })\n```\n\n### Local Tunnel\n\nTo test against URLs that are only accessible on your local machine or internal network, enable a local tunnel:\n\n```javascript\n// Auto-start tunnel (provider manages lifecycle)\nstart_session({\n    provider: 'saucelabs',\n    platform: 'browser',\n    tunnel: true                  // auto-starts tunnel before session\n})\n\n// Use an already-running tunnel\nstart_session({\n    provider: 'saucelabs',\n    platform: 'browser',\n    tunnel: 'external'            // uses existing tunnel\n})\n```\n\nThe `tunnel` parameter replaces the deprecated `browserstackLocal`, `saucelabsLocal`, and `testmuLocal` params. Set it to `true` to auto-start the tunnel (stopped automatically after the session), or `'external'` to use a tunnel already running on your machine.\n\n> **Note**: With `tunnel: true` the provider downloads and manages the tunnel binary for you. For `tunnel: 'external'` you run it yourself — the `wdio://saucelabs/local-binary`, `wdio://testmu/local-binary`, and `wdio://testingbot/local-binary` resources provide download URLs and setup instructions. The TestingBot Tunnel is a single cross-platform Java JAR (requires Java 11+) rather than a per-platform binary.\n\n### Reporting Labels\n\nAll session types support `reporting` labels that appear in the provider dashboard:\n\n| Field               | Description                             |\n|---------------------|-----------------------------------------|\n| `reporting.project` | Group sessions under a project name     |\n| `reporting.build`   | Tag sessions with a build/version label |\n| `reporting.session` | Name for the individual test session    |\n\n### Cloud Provider Tools\n\n| Tool         | Description                                                                   |\n|--------------|-------------------------------------------------------------------------------|\n| `upload_app` | Upload a local `.apk` or `.ipa` to the provider; returns an app URL/reference |\n| `list_apps`  | List apps previously uploaded to the provider's app storage                   |\n\nBoth tools require a `provider` parameter (`'browserstack'`, `'saucelabs'`, `'testmu'`, `'testingbot'`, or `'digitalai'`).\n\n## Features\n\n### Browser Automation\n\n- **Session Management**: Start and close browser sessions (Chrome, Firefox, Edge, Safari) with headless/headed modes\n- **Navigation & Interaction**: Navigate URLs, click elements, fill forms, and retrieve content\n- **Page Analysis**: Get visible elements, accessibility trees, take screenshots\n- **Cookie Management**: Get, set, and delete cookies\n- **Scrolling**: Smooth scrolling with configurable distances\n- **Attach to running Chrome**: Connect to an existing Chrome window via `--remote-debugging-port` — ideal for testing\n  authenticated or pre-configured sessions\n- **Connect to existing WebDriver endpoints**: Reuse an already-running Selenium-compatible WebDriver endpoint, such as\n  a framework-managed browser or a desktop webview automation bridge (like Tauri)\n- **Device emulation**: Apply mobile/tablet presets (iPhone 15, Pixel 7, etc.) to simulate responsive layouts without a\n  physical device\n- **Session Recording**: All tool calls are automatically recorded and exportable as runnable WebdriverIO JS\n\n### Mobile App Automation (iOS/Android)\n\n- **Native App Testing**: Test iOS (.app/.ipa) and Android (.apk) apps via Appium\n- **Touch Gestures**: Tap, swipe, long-press, drag-and-drop\n- **App Lifecycle**: Launch, background, terminate, check app state\n- **Context Switching**: Seamlessly switch between native and webview contexts for hybrid apps\n- **Device Control**: Rotate, lock/unlock, geolocation, keyboard control, notifications\n- **Cross-Platform Selectors**: Accessibility IDs, XPath, UiAutomator (Android), Predicates (iOS)\n\n## Available Tools\n\n### Session Management\n\n| Tool             | Description                                                                                                                                                            |\n|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `start_session`  | Start a new browser or app session; `attach: true` retains the existing Chrome CDP connection mode                                                                         |\n| `attach_session` | Attach to an existing remote WebDriver/Appium session by ID without creating a new session                                                                                   |\n| `launch_chrome`  | Launch a new Chrome instance with remote debugging enabled (for use with `start_session({ attach: true })`)                                                            |\n| `close_session`  | Close or detach from the current session (supports `detach: true` to disconnect without terminating)                                                                   |\n| `emulate_device` | Emulate a mobile/tablet device preset (viewport, DPR, UA, touch); requires BiDi session                                                                                |\n| `open_web_extension` | Install a web extension through WebDriver BiDi and open one of its extension pages so normal page tools can drive its UI                                           |\n\n### Navigation & Page Interaction (Web & Mobile)\n\n| Tool                     | Description                                                                                                                                                                                            |\n|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `navigate`               | Navigate to a URL                                                                                                                                                                                      |\n| `get_elements`           | Get visible, interactable elements on the page. Supports `inViewportOnly` (default: true) to filter viewport elements, and `includeContainers` (default: false) to include layout containers on mobile |\n| `get_accessibility_tree` | Get the page accessibility tree with roles, names, and selectors. Supports filtering by role and pagination. Browser-only.                                                                             |\n| `get_screenshot`         | Take a screenshot of the current page or screen (base64-encoded, auto-resized to max 2000px / 1MB)                                                                                                     |\n| `get_tabs`               | List all open browser tabs with handle, title, URL, and active status. Browser-only.                                                                                                                   |\n| `scroll`                 | Scroll in a direction (up/down) by specified pixels. Browser-only.                                                                                                                                     |\n| `execute_script`         | Execute arbitrary JavaScript in the browser, or Appium mobile commands on devices                                                                                                                      |\n| `switch_tab`             | Switch to a different browser tab by handle or 0-based index. Browser-only.                                                                                                                            |\n| `switch_frame`           | Switch into an iframe by CSS/XPath selector, or back to the top-level frame if no selector is given. Browser-only.                                                                                     |\n\n### Element Interaction (Web & Mobile)\n\n| Tool            | Description                 |\n|-----------------|-----------------------------|\n| `click_element` | Click an element            |\n| `set_value`     | Type text into input fields |\n\n### Cookie Management (Web)\n\n| Tool             | Description                                                         |\n|------------------|---------------------------------------------------------------------|\n| `get_cookies`    | Get all cookies for the current session, or a single cookie by name |\n| `set_cookie`     | Set a cookie with name, value, and optional attributes              |\n| `delete_cookies` | Delete all cookies or a specific cookie                             |\n\n### Mobile Gestures (iOS/Android)\n\n| Tool            | Description                               |\n|-----------------|-------------------------------------------|\n| `tap_element`   | Tap an element by selector or coordinates |\n| `swipe`         | Swipe in a direction (up/down/left/right) |\n| `drag_and_drop` | Drag from one location to another         |\n\n### Context Switching (Hybrid Apps)\n\n| Tool             | Description                                                                             |\n|------------------|-----------------------------------------------------------------------------------------|\n| `get_contexts`   | List available automation contexts (NATIVE_APP, WEBVIEW_*) and the currently active one |\n| `switch_context` | Switch between native and webview contexts                                              |\n\n### Device Control (iOS/Android)\n\n| Tool              | Description                                                                                             |\n|-------------------|---------------------------------------------------------------------------------------------------------|\n| `get_app_state`   | Get the current lifecycle state of a mobile app (not installed / not running / background / foreground) |\n| `rotate_device`   | Rotate to portrait or landscape                                                                         |\n| `hide_keyboard`   | Hide on-screen keyboard                                                                                 |\n| `set_geolocation` | Set device GPS location                                                                                 |\n\n### MCP Resources (read-only, no tool call needed)\n\n| Resource                                      | Description                                              |\n|-----------------------------------------------|----------------------------------------------------------|\n| `wdio://sessions`                             | Index of all recorded sessions                           |\n| `wdio://session/current/steps`                | Step log for the active session                          |\n| `wdio://session/current/code`                 | Generated runnable WebdriverIO JS for the active session |\n| `wdio://session/{id}/steps`                   | Step log for any past session by ID                      |\n| `wdio://session/{id}/code`                    | Generated JS for any past session by ID                  |\n| `wdio://session/current/elements`             | Interactable elements (viewport-only by default)         |\n| `wdio://session/current/accessibility`        | Accessibility tree                                       |\n| `wdio://session/current/screenshot`           | Screenshot (base64)                                      |\n| `wdio://session/current/cookies`              | Browser cookies                                          |\n| `wdio://session/current/tabs`                 | Open browser tabs                                        |\n| `wdio://session/current/contexts`             | Native/webview contexts (mobile)                         |\n| `wdio://session/current/context`              | Currently active context (mobile)                        |\n| `wdio://session/current/app-state/{bundleId}` | Mobile app lifecycle state for a given bundle ID         |\n| `wdio://session/current/geolocation`          | Device geolocation                                       |\n| `wdio://session/current/capabilities`         | Resolved WebDriver capabilities for the active session   |\n| `wdio://session/current/logs`                 | Crash/console logs for the current session. Auto-detects session type — browser: console logs + JS exceptions; Android: logcat; iOS: crashlog + syslog |\n| `wdio://browserstack/local-binary`            | BrowserStack Local binary download URL and start command |\n| `wdio://saucelabs/local-binary`               | Sauce Connect binary download URL and start command      |\n| `wdio://testmu/local-binary`                  | TestMu Tunnel binary download URL and start command       |\n| `wdio://testingbot/local-binary`              | TestingBot Tunnel JAR download URL and start command (Java 11+) |\n\n## Usage Examples\n\n### Real-World Test Cases\n\n**Example 1: Testing Demo Android App (Book Scanning)**\n\n```\nTest the Demo Android app at C:\\Users\\demo-liveApiGbRegionNonMinifiedRelease-3018788.apk on emulator-5554:\n1. Start the app with auto-grant permissions\n2. Get visible elements on the onboarding screen\n3. Tap \"Skip\" to bypass onboarding\n4. Verify main screen loads\n5. Take a screenshot\n```\n\n**Example 2: Testing World of Books E-commerce Site**\n\n```\nYou are a Testing expert, and want to assess the basic workflows of worldofbooks.com:\n- Open World of Books (accept all cookies)\n- Get visible elements to see navigation structure\n- Search for a fiction book\n- Choose one and validate if there are NEW and used book options\n- Report your findings at the end\n```\n\n### Browser Automation\n\n**Basic web testing prompt:**\n\n```\nYou are a Testing expert, and want to assess the basic workflows of a web application:\n- Open World of Books (accept all cookies)\n- Search for a fiction book\n- Choose one and validate if there are NEW and used book options\n- Report your findings at the end\n```\n\n**Browser configuration options:**\n\n```javascript\n// Default settings (headed mode, 1280x1080)\nstart_session({platform: 'browser'})\n\n// Firefox\nstart_session({platform: 'browser', browser: 'firefox'})\n\n// Edge\nstart_session({platform: 'browser', browser: 'edge'})\n\n// Safari (headed only; requires macOS)\nstart_session({platform: 'browser', browser: 'safari'})\n\n// Headless mode\nstart_session({platform: 'browser', headless: true})\n\n// Custom dimensions\nstart_session({platform: 'browser', windowWidth: 1920, windowHeight: 1080})\n\n// Pass custom capabilities (e.g. Chrome extensions, profile, prefs)\nstart_session({\n    platform: 'browser',\n    headless: false,\n    capabilities: {\n        'goog:chromeOptions': {\n            args: ['--user-data-dir=/tmp/wdio-mcp-profile', '--load-extension=/path/to/unpacked-extension']\n        }\n    }\n})\n```\n\n**Attach to a running Chrome instance:**\n\n```\n// First, launch Chrome with remote debugging enabled:\n//\n//   macOS (must quit Chrome first — open -a ignores args if Chrome is already running):\n//     pkill -x \"Google Chrome\" && sleep 1\n//     /Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome \\\n//       --remote-debugging-port=9222 \\\n//       --user-data-dir=/tmp/chrome-debug &\n//\n//   Linux:\n//     google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug &\n//\n//   Verify it's ready: curl http://localhost:9222/json/version\nstart_session({attach: true})\nstart_session({attach: true, port: 9333})\nstart_session({attach: true, port: 9222, navigationUrl: 'https://app.example.com'})\n```\n\n**Connect to an existing WebDriver endpoint:**\n\nUse `provider: 'external'` when another process already owns the browser or webview lifecycle and exposes a W3C\nWebDriver endpoint. This is useful for Selenium Grid sessions, externally managed browser drivers, or desktop apps like Tauri apps that\nembed a webview and expose WebDriver separately. The MCP server connects to the endpoint; it does not launch or stop the\ntarget application, start tunnels, or manage framework-specific setup.\n\n```javascript\n// Defaults to http://127.0.0.1:4445/ and browserName: 'chrome'\nstart_session({provider: 'external', platform: 'browser'})\n\n// Custom WebDriver endpoint and capabilities\nstart_session({\n    provider: 'external',\n    platform: 'browser',\n    webdriverConfig: {\n        protocol: 'http',\n        hostname: '127.0.0.1',\n        port: 4445,\n        path: '/'\n    },\n    capabilities: {\n        browserName: 'tauri'\n    }\n})\n```\n\nFor desktop webview apps such as Tauri, first start the app and its WebDriver bridge outside of this MCP server, then\npass the endpoint and the required capabilities. For example, a Tauri WebDriver bridge may require\n`capabilities: {browserName: 'tauri'}`.\n\n**Attach to an existing WebDriver or Appium session:**\n\nUse `attach_session` when the session has already been created by another process. The MCP reuses the selected provider's\nendpoint and credentials, registers the appropriate browser/mobile command set locally, and does not issue a new-session\nrequest. Attached sessions are externally managed: `close_session()` detaches by default, while\n`close_session({detach: false})` explicitly terminates the remote session.\n\n```javascript\n// Existing BrowserStack App Automate session\nattach_session({\n    provider: 'browserstack',\n    platform: 'ios',\n    sessionId: 'existing-browserstack-session-id',\n    capabilities: {\n        'appium:deviceName': 'iPhone 15',\n        'appium:automationName': 'XCUITest'\n    }\n})\n\n// Existing session on a local Appium server\nattach_session({\n    provider: 'local',\n    platform: 'android',\n    sessionId: 'existing-appium-session-id',\n    appiumConfig: {\n        protocol: 'http',\n        host: '127.0.0.1',\n        port: 4723,\n        path: '/'\n    }\n})\n\n// Existing mobile session on a custom W3C WebDriver endpoint\nattach_session({\n    provider: 'external',\n    platform: 'ios',\n    sessionId: 'existing-grid-session-id',\n    webdriverConfig: {\n        protocol: 'https',\n        hostname: 'grid.example.com',\n        port: 443,\n        path: '/wd/hub'\n    }\n})\n```\n\nAn existing cloud session must keep using the tunnel it was created with. `attach_session` never starts or stops a tunnel,\nso keep the original tunnel process alive for as long as the session needs it.\n\n**Device emulation (requires BiDi session):**\n\n```\n// Device emulation (requires BiDi session)\nstart_session({capabilities: {webSocketUrl: true}})\nemulate_device()                         // list available presets\nemulate_device({device: 'iPhone 15'})    // activate emulation\nemulate_device({device: 'Pixel 7'})      // switch device\nemulate_device({device: 'reset'})        // restore desktop defaults\n```\n\n**Web extensions (requires BiDi session):**\n\n```javascript\nstart_session({platform: 'browser', browser: 'chrome', capabilities: {webSocketUrl: true}})\n\nopen_web_extension({\n    extensionData: {type: 'path', path: '/path/to/unpacked-extension'},\n    path: 'options.html'\n})\n\n// Drive the extension UI with the normal page tools.\nget_elements()\nclick_element({selector: '#save'})\n\n// For remote/cloud sessions, send a packaged extension archive as base64.\nopen_web_extension({\n    extensionData: {type: 'base64', value: '<base64-encoded-zip>'},\n    path: 'options.html'\n})\n```\n\n### Mobile App Automation\n\n**Testing an iOS app on simulator:**\n\n```\nTest my iOS app located at /path/to/MyApp.app on iPhone 15 Pro simulator:\n1. Start the app session\n2. Tap the login button\n3. Enter \"testuser\" in the username field\n4. Take a screenshot of the home screen\n5. Close the session\n```\n\n**Preserving app state between sessions:**\n\n```\nTest my Android app without resetting data:\n1. Start app session with noReset: true and fullReset: false\n2. App launches with existing login state and user data preserved\n3. Run test scenarios\n4. Close session (app remains installed with data intact)\n```\n\n**Testing an iOS app on real device:**\n\n```\nTest my iOS app on my physical iPhone:\n1. Start app session with:\n   - platform: iOS\n   - appPath: /path/to/MyApp.ipa\n   - deviceName: My iPhone\n   - udid: 00008030-001234567890ABCD (your device's UDID)\n   - platformVersion: 17.0\n2. Run your test scenario\n3. Close the session\n```\n\n**Testing an Android app:**\n\n```\nTest my Android app /path/to/app.apk on the Pixel_6_API_34 emulator:\n1. Start the app with auto-grant permissions\n2. Get visible elements (use inViewportOnly: false to see all elements)\n3. Swipe up to scroll\n4. Tap on the \"Settings\" button using text matching\n5. Verify the settings screen is displayed\n```\n\n**Advanced element detection:**\n\n```\nTest my app and debug layout issues:\n1. Start the app session\n2. Get visible elements with includeContainers: true to see the layout hierarchy\n3. Analyze ViewGroup, FrameLayout, and ScrollView containers\n4. Use inViewportOnly: false to find off-screen elements that need scrolling\n```\n\n**Hybrid app testing (switching contexts):**\n\n```\nTest my hybrid app:\n1. Start the Android app session\n2. Tap \"Open Web\" button in native context\n3. List available contexts\n4. Switch to WEBVIEW context\n5. Click the login button using CSS selector\n6. Switch back to NATIVE_APP context\n7. Verify we're back on the home screen\n```\n\n## Important Notes\n\n⚠️ **Session Management:**\n\n- Only one session (browser OR app) can be active at a time\n- Always close sessions when done to free system resources\n- To switch between browser and mobile, close the current session first\n- Use `close_session({ detach: true })` to disconnect without terminating the session on the Appium server\n- **State preservation** can be controlled with `noReset` and `fullReset` parameters during session creation\n- Sessions created with `noReset: true` or without `appPath` will automatically detach on close\n- Sessions adopted with `attach_session` always detach on close unless `detach: false` is explicitly requested\n\n⚠️ **Task Planning:**\n\n- Break complex automation into smaller, focused operations\n- Claude may consume message limits quickly with extensive automation\n\n⚠️ **Mobile Automation:**\n\n- Appium server must be running before starting mobile sessions\n- Ensure emulators/simulators are running and devices are connected\n- iOS automation requires macOS with Xcode installed\n- **iOS Real Devices**: Testing on physical iOS devices requires the device's UDID (40-character unique identifier). See\n  Prerequisites section for how to find your UDID\n\n## Selector Syntax Quick Reference\n\n**Web (CSS/XPath):**\n\n- CSS: `button.my-class`, `#element-id`\n- XPath: `//button[@class='my-class']`\n- Text: `button=Exact text`, `a*=Contains text`\n\n**Mobile (Cross-Platform):**\n\n- Accessibility ID: `~loginButton` (works on both iOS and Android)\n- Android UiAutomator: `android=new UiSelector().text(\"Login\")`\n- iOS Predicate: `-ios predicate string:label == \"Login\" AND visible == 1`\n- XPath: `//android.widget.Button[@text=\"Login\"]`\n\n## Advanced Features\n\n### App State Preservation\n\n**State Preservation with noReset/fullReset:**\nControl app state when creating new sessions using the `noReset` and `fullReset` parameters:\n\n| noReset | fullReset | Behavior                                              |\n|---------|-----------|-------------------------------------------------------|\n| `true`  | `false`   | Preserve state: App stays installed, data preserved   |\n| `false` | `false`   | Clear app data but keep app installed (default)       |\n| `false` | `true`    | Full reset: Uninstall and reinstall app (clean slate) |\n\n**Example with state preservation:**\n\n```javascript\n// Preserve login state between test runs\nstart_session({\n    platform: 'android',\n    appPath: '/path/to/app.apk',\n    deviceName: 'emulator-5554',\n    noReset: true,         // Don't reset app state\n    fullReset: false,      // Don't uninstall\n    autoGrantPermissions: true,\n    capabilities: {\n        'appium:chromedriverExecutable': '/path/to/chromedriver',\n        'appium:autoWebview': true\n    }\n})\n// App launches with existing user data, login tokens, preferences intact\n```\n\n**Detach from Sessions:**\nThe `close_session` tool supports a `detach` parameter that disconnects from the session without terminating it on the\nAppium server:\n\n```javascript\n// Detach without killing the session\nclose_session({detach: true})\n\n// Explicit session termination (closes the app and removes session)\nclose_session({detach: false})\n```\n\nSessions created with `noReset: true` or without `appPath` will automatically detach on close.\nSessions adopted with `attach_session` are externally managed and also detach by default; pass `detach: false` only when the\nMCP should deliberately terminate the existing remote session.\n\nThis is particularly useful when:\n\n* Preserving app state for manual testing continuation\n* Debugging multi-step workflows (leave session running between tool invocations)\n* Testing scenarios where you want the app to remain installed and in current state\n\n### Smart Element Detection\n\n- **Platform-specific element classification**: Automatically identifies interactable elements vs layout containers\n    - Android: Button, EditText, CheckBox vs ViewGroup, FrameLayout, ScrollView\n    - iOS: Button, TextField, Switch vs View, StackView, CollectionView\n- **Multiple locator strategies**: Each element provides accessibility ID, resource ID, text, XPath, and\n  platform-specific selectors\n- **Viewport filtering**: Control whether to get only visible elements or all elements including off-screen\n- **Layout debugging**: Optionally include container elements to understand UI hierarchy\n\n### Automatic Permission & Alert Handling\n\nBoth iOS and Android sessions now support automatic handling of system permissions and alerts:\n\n- `autoGrantPermissions` (default: true): Automatically grants app permissions (camera, location, etc.)\n- `autoAcceptAlerts` (default: true): Automatically accepts system alerts and dialogs\n- `autoDismissAlerts` (optional): Set to true to dismiss alerts instead of accepting them\n\nThis eliminates the need to manually handle permission popups during automated testing.\n\n## Technical Details\n\n- **Built with:** TypeScript, WebDriverIO, Appium\n- **Browser Support:** Chrome, Firefox, Edge (headed/headless, automated driver management), Safari (headed only; macOS)\n- **Mobile Support:** iOS (XCUITest) and Android (UiAutomator2/Espresso)\n- **Protocol:** Model Context Protocol (MCP) for Claude Desktop integration\n- **Session Model:** Single active session (browser or mobile app)\n- **Data Format:** TOON (Token-Oriented Object Notation) for efficient LLM communication\n- **Element Detection:** XML-based page source parsing with intelligent filtering and multi-strategy locator generation\n\n### Session Recording & Code Export\n\nEvery tool call is automatically recorded to a session history. You can inspect sessions and export runnable code via\nMCP resources — no extra tool calls needed:\n\n- `wdio://sessions` — lists all recorded sessions with type, timestamps, and step count\n- `wdio://session/current/steps` — step log for the active session\n- `wdio://session/current/code` — generated runnable WebdriverIO JS for the active session\n- `wdio://session/{sessionId}/steps` — step log for any past session by ID\n- `wdio://session/{sessionId}/code` — generated JS for any past session by ID\n\nThe generated script reconstructs the full session — including capabilities, navigation, clicks, and inputs — as a\nstandalone `import { remote } from 'webdriverio'` file. For cloud provider sessions it includes the full try/catch/finally\nwith automatic session result marking via the provider's REST API.\n\n### Trace Recording\n\nPassing `trace: true` to `start_session` produces a Playwright-compatible `.trace` zip in the `.trace/` directory when\nthe session closes. The zip is playable at [player.vibium.dev](https://player.vibium.dev) and shows a filmstrip of\nscreenshots alongside the action timeline.\n\n**How screenshots are timed**\n\nAppium's `takeScreenshot` round-trip takes 700–1300 ms on a local emulator, which is long enough for the previous\naction's animations to settle. We exploit this: each screenshot is captured **before** the next action fires, so what\nthe Appium server returns is already the settled result of the prior action.\n\nThe tricky part is making the trace player show that screenshot under the right action. The player associates a\n`screencast-frame` event with whichever action's time window contains the frame's `timestamp` field. If the timestamp\nis set to \"now\" (capture time), it falls before the current action's `startTime` and the player labels it as the\n*before* state of the next action — one action out of sync.\n\nThe fix: stamp each `screencast-frame` with `lastAfterEndTime` — the `endTime` of the action that just completed. That\nplaces the frame inside the previous action's window, so the player shows it as the result of that action, not the\nprecursor to the next one.\n\n```\nTimeline (monotonic ms):\n\n  prev.endTime ← frame timestamp stamped here\n        │\n        │   [screenshot captured here — shows settled state after prev action]\n        │\n  curr.startTime\n        │\n        │   [action executes]\n        │\n  curr.endTime ← next frame will be stamped here\n```\n\nThe final screenshot at session close is stamped with the last action's `endTime`, so it renders under that action\nrather than appearing as an orphaned frame after the timeline ends.\n\n### Session Logs\n\nThe `wdio://session/current/logs` resource returns crash reports, console errors, and system logs for the current\nsession, auto-detecting the session type to fetch the right log buffer:\n\n| Session Type | Log Sources                          | Contents                                              |\n|-------------|--------------------------------------|-------------------------------------------------------|\n| Browser     | `getLogs('browser')`                | Console output + uncaught JS exceptions               |\n| Android     | `getLogs('logcat')`                 | System logs, crash dumps, fatal exceptions            |\n| iOS         | `getLogs('crashlog')` + `getLogs('syslog')` | Crash/panic reports + system diagnostics    |\n\n> **Note:** Reading this resource **clears the log buffer** (per the WebDriver spec). Subsequent reads return only entries\n> accumulated since the last read. Browser logs require Chromium (Chrome/Edge) — Firefox and Safari do not support the\n> `getLogs` command.\n\nThe response is JSON with `sessionType`, `logTypes` (available log types), and `entries` — each entry includes `level`,\n`message`, `timestamp` (Unix ms), and `timestampISO`.\n\n## Troubleshooting\n\n**Browser automation not working?**\n\n- Ensure Chrome, Firefox, Edge, or Safari is installed (Safari requires macOS)\n- Try restarting Claude Desktop completely\n- Check that no other WebDriver instances are running\n\n**Mobile automation not working?**\n\n- Verify Appium server is running: `appium`\n- Check device/emulator is running: `adb devices` (Android) or Xcode Devices (iOS)\n- Ensure correct platform drivers are installed\n- Verify app path is correct and accessible\n\n**Found issues or have suggestions?** Please share your feedback!\n","readmeFilename":"README.md"}