{"_id":"the-android-mcp","_rev":"57-96b3e0a59c328622974c261f984be4c5","name":"the-android-mcp","dist-tags":{"latest":"3.24.1"},"versions":{"0.1.0":{"name":"the-android-mcp","version":"0.1.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js"},"dist":{"shasum":"be28091e5cfde6208890b601f3d6f1010d51d254","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.0.tgz","fileCount":27,"integrity":"sha512-K6KhHPvV9cGkZWlq1hDqxn3dZvHEC1OsucjFRslzy2Kvd8bvo9/z2zyhkiVD2aSF12Ml5/1mo9QFA2kDAM4FAA==","signatures":[{"sig":"MEYCIQC9mPRwMnJLbwfeqdhYeijg+teHAW8S7z79jsoyvKu4sQIhAKXvmGfkN5Gszg6XOXcmz8bTydYtTE6nuGU2BixmuebC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205259},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2425925d76b0db62ebd696cebec2f0c85fe03c06","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.0_1769289568152_0.19921193064937204","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"the-android-mcp","version":"0.1.1","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.1","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js"},"dist":{"shasum":"ee26ef8c2594218d4efa4f5e3d055bc132e4e44a","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.1.tgz","fileCount":31,"integrity":"sha512-M7kubCEPAqULFcZMs8JlPf67yAvwDn6FLvTjq36RIidEea8jnGvU/DW99u2q/03Tn3gj3H2ImDu2ZHD5QYLNSg==","signatures":[{"sig":"MEUCIQD4HZo9Pa3/VA63HXtg+d5bbWGsvdc+7g1V6sqpERvEtwIgcHiOFzxwubau8/Q4+N4/ZO/D6LiQiMedcT93n1DA8Tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208591},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2425925d76b0db62ebd696cebec2f0c85fe03c06","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.1_1769290417768_0.5423452929532104","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"the-android-mcp","version":"0.1.3","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.3","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js"},"dist":{"shasum":"3eef26dd22e9a53d437cf16d009ff6c2429cb1b2","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.3.tgz","fileCount":35,"integrity":"sha512-op2hIcqVLYA1pppGeICZHaAa/z+wmMH9+SDKDpBXr+L0zW2N5zTEGP90ZXQ2VCehYjFpaJe9Dn9VrO6DffgCUA==","signatures":[{"sig":"MEYCIQCC+Gn0zBPor/EVLd9FcdAXhWEafW2+DoAg05cNCp4crQIhAMb9puIfcllXHImPiyWNuFb3qLc0P8fsWW/76SiTiW3L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245709},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"94b9349eb4847055a4a40bd232b9433562d719f1","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.3_1769318858808_0.334083816354557","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"the-android-mcp","version":"0.1.4","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.4","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"dist/gui.js"},"dist":{"shasum":"8e88f478e8aabea0d503c79f3f175a907de8a7c3","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.4.tgz","fileCount":4328,"integrity":"sha512-zpvzEijTfjhFvAMX8nw6uGbGgf3F7frYGo9GeQcpuNI38JqdgWOV1rS1me6UjelCp0RLSku/CnTPOuN76Lnnrg==","signatures":[{"sig":"MEYCIQCJi1/AOMFZZM9uUCVwYQh3z/hA9rc2hGzWdmWGUiwq8AIhALBczNeXcz5Zhwz+ZxQSlPokwgvwkfIMSL1Ha4JWTMkC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288583269},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"66b0d6d979965c411cafc5f9cb1b44de7c16d36e","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.4_1769323822039_0.844477007820962","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"the-android-mcp","version":"0.1.5","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.5","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"5a3aab829e65a5af76361453a90d215bbcc034cd","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.5.tgz","fileCount":4329,"integrity":"sha512-DFh3kUlIRyClR0TtDJNqoWlcXgWkTyLvVoq62U7Nc2LNT1CHCxGQ08J4zHlOSHC+XRzSyToE0V4GrIB93CAj2Q==","signatures":[{"sig":"MEUCIQCD5HOCWvNa1H09G4VDiobiTFLyPpyp1oyaYX9nRTbptQIgQh2dKMNayiuyqJJgqjT3Mn1YLlQwVUof73cCx3q/R14=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288583786},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0ceaddfbe8ba4bcb246df94c3998b2e269e7e669","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.5_1769324314049_0.3709421807532438","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"the-android-mcp","version":"0.1.6","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.6","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"373141eb5fb5b2c42f9aac6feaa6d8dd503ae626","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.6.tgz","fileCount":4329,"integrity":"sha512-av6AcJz+rRp6mwc1LgnBpaiOVFiaZLnp9KD31jN/YhBrORBMzouO8kdqEaPaPh74gQ4PoPkyb//hCHGgiCQCvg==","signatures":[{"sig":"MEUCIQCl2Zu+CWe+/kyNgjC/DWHM+XaIEB8MnnDs6VTlyN8UTwIgS/mIuDX91iIVOT1iNYO0iYzNSpZ8nchwrF+tG/v0QH0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288625716},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"aa48d4792cc1b0679681dce195bc8b710176b99f","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.6_1769331374853_0.771785629300211","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"the-android-mcp","version":"0.1.7","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.7","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"175c1427e3db79078e4af697902aa3a31c91e2ef","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.7.tgz","fileCount":4329,"integrity":"sha512-MMUYr67MSKXDrDhgIFxzGTalxv99Nv/pAgUE8pODQTbifGOSXAkWGUbnkVeemADYtXJ5MY/u6qj0uvUIMcQwDw==","signatures":[{"sig":"MEUCIQDAnTdkNwSss0PYfQrcZfw480fgWPEu82QD4xSpQunaigIgH9ViNquFzXiTLWqU9rLDHU7rem+DYEB9SULI7d5ukno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288626417},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"aa48d4792cc1b0679681dce195bc8b710176b99f","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.7_1769331575705_0.9237547606729222","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"the-android-mcp","version":"0.1.8","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.8","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"45b7badd9e042f986f23b16b75ccbad44c65fde2","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.8.tgz","fileCount":4329,"integrity":"sha512-MX6oXZ6eZjIxoNK2DoDwBsmsvOosE6qa9RO6JQLRiQ8YPHKbZkZYbygyffa+kQo1j4U5lOhgB+i0YR1pVLO9pw==","signatures":[{"sig":"MEQCIDpxHzeZxVLegkJWwQTIauiTqgl347sK/mhlLxF2hhJ5AiBmza04ZVHl/JS3W6QVZplW5/OJeOZtEKEkYxLKCJRFug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288635936},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"aa48d4792cc1b0679681dce195bc8b710176b99f","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.8_1769332535270_0.753012897956814","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"the-android-mcp","version":"0.1.11","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.11","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"fd3ccb2f3348f591aed8cc70480bfa87022c53c5","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.11.tgz","fileCount":4333,"integrity":"sha512-fl8FjIqNXnebMRV19OPfkJ3YyIvACRVreyUCMIAObMCOiI/4L0z7EX1PJHuqbUDJXf6sgCyY+9pWG3qwKp9uaQ==","signatures":[{"sig":"MEUCIFNPB1Di8nrmzAh1hiwAzpTci/T8v0gcXd1JMRjDFZukAiEAjIhGZirKaTYo0pyMzJ0KQgjdVBL11uSjVVhWckFKkHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288737066},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"aa48d4792cc1b0679681dce195bc8b710176b99f","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.11_1769333670854_0.011382393134002688","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"the-android-mcp","version":"0.1.12","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.12","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"16e6af6f918a17209ee00dbdb5bf31e4121e6b7a","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.12.tgz","fileCount":4333,"integrity":"sha512-qKmft40lBxaNF4jOxZKI7JgcoPYkBTs/AL3WvMSIhJTb/1FnS/oeAgnyv25MAlknZ/njvbAXBGzuwF2ncohvxA==","signatures":[{"sig":"MEUCIFV8zEmOdT5uJ3xQRas4DOvC0C+QGgWq8AIln+qPGQ7wAiEA/zwAjwMuTqrkeb52cEv8PypjD2Hq4qLp+QwwvYA0jh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288784562},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"aa48d4792cc1b0679681dce195bc8b710176b99f","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.12_1769334170530_0.8191642718781134","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"the-android-mcp","version":"0.1.13","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.13","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"b51c477e4067245f39399d4c8115d9facdf977e6","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.13.tgz","fileCount":4333,"integrity":"sha512-5r8atD0yFttmd03ZAOgPN0ugABDuZ6y8THukvnZmkyEpMg6MAaBc9vDuSoHW2slA5SvZSVDNKJrZwWsKHpJfFA==","signatures":[{"sig":"MEQCIAe0DY/CG1GTf3o+3+08jS0ny9Ap8KNursKxRvYMaWRcAiAk2Zd7aSH94VgXR5dbeeEiubn7bUsNlbqMr0gW19MpPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288825445},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c159765b62067a0c8615a30bc4beafd23bdd2b87","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.13_1769334818405_0.993980227861262","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"the-android-mcp","version":"0.1.14","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.14","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"e749b070940667835d5ec0459505a16cfdce6856","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.14.tgz","fileCount":4333,"integrity":"sha512-JHLbBiVkn2BEaP/rPtVKi82UfNJ5vO7oXLL/KOGBBn/bk/FIs4Qxv0Ftx4FcAUy/t6daIgDRps8/Y2EZtgfYIA==","signatures":[{"sig":"MEUCIAcJ5NN43uLSkn/3/LhTG+8Vj7dqyJKq9bZ7Eoqg7HpnAiEA0zldca/umCGM8LBE/QEAB1c+rOIIQImOFSgCoSsN58U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288932565},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ece240dad0b1f0f2f7762fe03283fb3e920f02d6","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.14_1769335697605_0.8699775501241231","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"the-android-mcp","version":"0.1.15","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.15","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"30d80d982668991b7492ce1dda95d77d27db4670","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.15.tgz","fileCount":4333,"integrity":"sha512-3KGRih8lCC3m52+VjdqyGt5VG7M2fJqPexcfCvGy9xPIHQTgqVGW4ImGYWQ1eTPkups5GAAcA6JiclrqYXXG8w==","signatures":[{"sig":"MEUCIQDzHCTxqHjxAnxC0EvD+oCxWFSEpB2KSMa6NlMic31i9AIgYUjbpQSiLmcI6B9Jb6NgwLY61gpjM8JF4YZRT5fXTSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288980227},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"62845b569b1d750cadf7dcef2e325b8c8c9484e2","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.15_1769337699384_0.971511699338484","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"the-android-mcp","version":"0.1.16","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@0.1.16","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"281ebdea7760a38893779c403089620e2cb00010","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-0.1.16.tgz","fileCount":4333,"integrity":"sha512-mAyyFoY9IcynTcYrNShxOMG4LFXt0SFjCm/Qgtlm35s/1uF7Jc2KOZb/JqJ36vDiqvIEetaxge4ioaxRRq8SEg==","signatures":[{"sig":"MEYCIQCUdgs/MvDJGRuqMKsZYgzZiFcR3/XfvgCuCEjA7ni9OwIhAKnm3/mJaES1jK7Ifz6IMW3+dT7b+uA8pT1/CeoBxPdO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289028413},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e50606c22a168881c50d5096f97dd7b19a3f3356","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_0.1.16_1769339557358_0.3824141339876326","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"the-android-mcp","version":"2.0.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.0.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"4d96aa14b799394cff8f47fbd0e7769b0ad77896","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.0.0.tgz","fileCount":4333,"integrity":"sha512-bd2e1Voy3segtlvhvyM1s69WTny7PfbmoLhcgM2eceuPoME1LIEP/m9teUqMlKERgFbqDG2xDrQBqNk9xtty/Q==","signatures":[{"sig":"MEUCIQC6f1KPI43XGfvX+u+a3BINqRieeth4nmmSwd8c9PYC7wIgCIIjjQsMAZLFbOKRSLVeehsI55UfB6gVqj6c8ghezaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289048689},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"98d60225ef08a65370eb6b8c25e21179625806f8","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.0.0_1769340256696_0.5069494590344081","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"the-android-mcp","version":"2.0.1","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.0.1","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"94ec3e6f2c335ffa79494dd7d6fe6771f7999786","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.0.1.tgz","fileCount":4333,"integrity":"sha512-pypLNEP2gGcjiiYtu/FgOSnAm1NIsOyUy+ufYWtf50/9zS56JSmeWbEKzvjKNoZC5BQTDhh7RwVRx9fwszQreQ==","signatures":[{"sig":"MEUCIGil7VSZNAGym/c9Kjp7JxNuAksg2kDek6FkdsxtgNxyAiEA0lPoCsnVZ12I08grhQe5fud/Qnnb1C14YuFA69VkE+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289247306},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6d9051d3bef6d5af0587694885ab8ef9246a9bb7","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.0.1_1769350530649_0.26557419809812033","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"the-android-mcp","version":"2.0.2","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.0.2","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"e7ecaab113d3f2a1d57c6132d71a545d8927a3a6","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.0.2.tgz","fileCount":4333,"integrity":"sha512-gIYufaVry+NBsnY3JW2HhFUkf2TtsUpHA7axP4nRg8WaPUng81GM2+q0u1dcglRwsUyDzW+LZM6iT//9eTG8AQ==","signatures":[{"sig":"MEUCICZDbn4RzYGAckajvPJm5IikT0lSdcRXCIUSZCeh/XKxAiEA6WJKMVSwyhiaPhUndP39rkXrV9KtEC7+b2RMVpk7FMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289250177},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"dff57c0d114d7f66755a143c6083759bb3df19cc","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.0.2_1769352057537_0.12718849203602245","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"the-android-mcp","version":"2.0.3","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.0.3","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"9323bce329af011bd0b5c1ac751d815192529afb","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.0.3.tgz","fileCount":4337,"integrity":"sha512-TBNBeo8cPGbhRwmcCURQSWQXty0DHVDj3FAXPhupQTQyTiH7yoj576TxPlrwvN84g1Ul52G/O95e7O4V4knlvQ==","signatures":[{"sig":"MEYCIQD4IruAlxjALLn2vDGdXN9Y8SW0CQ4mZYQnaun6kf/N8wIhANjo+cuVPv2F049C1KyuFGBbcff/0CGs91Bwlj15bE5n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289303927},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0bdf969d70545db1b4c87d3b901881567355a5fa","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"^30.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.0.3_1769356410519_0.798389569769415","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"the-android-mcp","version":"2.0.4","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.0.4","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"35d994c693ddb3e9f7f096e282408aa4431e9402","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.0.4.tgz","fileCount":4337,"integrity":"sha512-deNLrG7ZXqoK/if9JmMDEvA6VLi7g8e3loXznkVKpXXphFASgYoM51aY5CkJput/5MtDFJXyEHSl+vHbBSJPFg==","signatures":[{"sig":"MEUCIQDeO8eZLO5NmA6XF0se7kv2O+DuRrX9P0kRqHTJ8pg2xQIgWsL2gtpjSUoR9wr3xKX5Y/LF8pfcSDbWvB9TRvt6bD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289313011},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8d81f7e19034cba15e3c7aecbf5216bf2728e3eb","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.0.4_1769359230763_0.5441755941439812","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"the-android-mcp","version":"2.0.5","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.0.5","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"ae8f707eb4bf33a73a66ae4106e2de01b4bdc728","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.0.5.tgz","fileCount":4337,"integrity":"sha512-vCmuYNgk6fIthC7OHTSAZmrPQw+K/ZxbVnL7qauilhE11Vx84mcVIOotXumyRikjy2fHabQ8V9h+G6LpLvwwxA==","signatures":[{"sig":"MEYCIQDQXXbW1tz2G0Y/DgJFcCjr99ZT56eJtGzWy368pgrvbQIhAI+s7S0GBrDbMuroKy7386PF9PAQqAetmYhM0aq+xCF5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289314940},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9ab7f3f4f8d19af2da481ea56a9f50e60da4fa71","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.0.5_1769360770238_0.1984643988983783","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"the-android-mcp","version":"2.1.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.1.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"ab11bf8e3e7c6cbe6ae52936cfc1cdfab0b7c00e","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.1.0.tgz","fileCount":4337,"integrity":"sha512-O2uWOdEE0ipTtQOWikfYlF5jSsuNH2umvqPxxTriS0zWr8Lty6ntQ3+V6cCMiGGufvp6Ojtr6sIQstjq+u0/8w==","signatures":[{"sig":"MEQCIBenqf8hm5Su0a2pSpqBInU07zQ0VT6ki+e6SCySFaTMAiBrIvIKVXJ49H07yPwNH+IMqgqhEZ1ad8qD/AGyVTm6Lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289406466},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"3c14f5fb5a2ebfdb32ded582dbf5c45931a390f2","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.1.0_1769363321227_0.2048088101114589","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"the-android-mcp","version":"2.1.1","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.1.1","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"9f61b681efde854213e826fd59a96bad28c319c0","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.1.1.tgz","fileCount":4337,"integrity":"sha512-v3vd8ALIrBynqiw0pLsR7UEYZbD2FMzAiTBeQ21R7XZ0upXW54PZiDc4/awK3xVI0D+xYSja7XmCwg206IZw7Q==","signatures":[{"sig":"MEUCIBaM9gTTtrk71wC1ssJWl1UA7qlCZKNEI+N3Nr34Ad3QAiEAu5DE43DtYS4jw4gL7xxrcSow6t0ABJRG/LreUjCplKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289411026},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"133c2a514252163abf7abfed82ea8f21479cdac7","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.1.1_1769435278492_0.1048388199539656","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"the-android-mcp","version":"2.1.2","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.1.2","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"347968c241098456c5d91ccdad48ba47f00ed4ff","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.1.2.tgz","fileCount":4337,"integrity":"sha512-51nke8p6Ej/ZyoweMfguiTi55yqemkXSn+QPDIgT3OwQYrZTgT5RkQ6JHQiPELpZrE6naYgjD4efA0NetTMZDg==","signatures":[{"sig":"MEQCIHq7XJQdJZl0AsLIKfuXiypUiQ/ziLKhzhgs3S1jqQdPAiB3W8Lzs/AAgeIKuS7kvQuQRwDgDQDvduWxFIqD7i8eYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289411089},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"48db3c1483fbb9e3e286b7cd68ff1cc972ca0efa","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.1.2_1769436522420_0.9120409933999418","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"the-android-mcp","version":"2.1.3","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.1.3","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"d749452ff2177a7da265d09552f55cf24095f5ab","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.1.3.tgz","fileCount":4337,"integrity":"sha512-BDrfJIpMYztrbKTA3Ddc+YlAaxto2jNBQ6f2NBwMDqBUK6yP9cXk9hDSHT7lttgkofV6Ug9K7fNGLnnA9tD01g==","signatures":[{"sig":"MEUCIG6Q403QuDKaA0QQDaU8Ab6U6goCOAb3CeEa+muKIqTDAiEA6OpPX/+HfwXCTXD672AiG8yQzE9jLx948DPNzsOFN0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289480828},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"48db3c1483fbb9e3e286b7cd68ff1cc972ca0efa","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.1.3_1771534003154_0.7286668005337165","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"the-android-mcp","version":"2.1.4","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.1.4","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"5052b7d5dd55f3f845f24ddb553f35d27b731e3c","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.1.4.tgz","fileCount":4337,"integrity":"sha512-9wVJ/Dg6p8wu6dXlfmK65oPp/Gy+miImZSI7+CA3LEkWGvp/qVGut8QvcWCNE/tKWxnIYkU3rF5LOa5JKjjz7w==","signatures":[{"sig":"MEYCIQC+blDOeENejT5olM2jmribPRByui8KiLps537HDUIu/QIhAPmJdvKludz0Uy7s+vzJprLjRb/rdsf8aqsnQ4z/j90U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289500185},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"48db3c1483fbb9e3e286b7cd68ff1cc972ca0efa","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.1.4_1771534187749_0.28447825072847044","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"the-android-mcp","version":"2.1.5","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.1.5","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"e0534b1a4cba872a24fe7e2646825b01f7cf8f99","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.1.5.tgz","fileCount":4337,"integrity":"sha512-03gqGm6NX/Svua97FFiw2WXtvj8qEkfjF/Z/43svQdrYM9AOxcu12hKgzmaCDciY6iEx+3Bfsj5FF7GsvGkWbg==","signatures":[{"sig":"MEUCIBVmw5tbSexgvZ2S0y2ZMRWWYpQEQfm735+vS1b06p7bAiEAzA0Ux66cQXqnQieWevEH4+dzS/bbQ/l2VaqHU2mrjGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289521087},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"48db3c1483fbb9e3e286b7cd68ff1cc972ca0efa","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.1.5_1771534660316_0.3772531609323959","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"the-android-mcp","version":"2.2.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.2.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"6bada9ee8cd7bf5e00cf594d5d6904296f8e4531","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.2.0.tgz","fileCount":4337,"integrity":"sha512-Wnt5oArzEkCVBHsq7AjTDQy6xuRXp6bvgmMQ0maiQyH8pEh8k8MZMKGcpJGCKLfM/P2nZB+05uH/yCh0lsgDmg==","signatures":[{"sig":"MEQCIFE01nfsP2/z+19bF54PZUhnkhss9CYvHGxvkxRcyvGtAiBVzm9hsvMcODAvHKHFB6tqVIxudtKNgkWjDdfv7MXubQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289594826},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"805ed6afde26efc2394b18a66bd4f9b66a22b765","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.2.0_1771536055332_0.16363973870295512","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"the-android-mcp","version":"2.3.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.3.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"e8089c49d9243dd96cd9f496fbe41b4c1d1db57f","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.3.0.tgz","fileCount":4337,"integrity":"sha512-DeToFoz4OH87bPfOs4mU1Hk/Rc6wmQF3lBC8+utMl1H+ATJk+gzHRv6t7D8yqfsbTilnS/EXNiaPzTl3Wl5vhw==","signatures":[{"sig":"MEQCIB9nQzpDI+qQf1FYdgWozTy9nmw2rBkoTBRvovfL4/7mAiA+UUifMQuXQIWFRxwGvrkl76lLpzszBiaK21thagoaHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289658495},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ac8092f7d7a208aebd7af024aa2dd3e1f2e28b20","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.3.0_1771536600612_0.3901814627700677","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"the-android-mcp","version":"2.4.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.4.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"6c64d057b52d379065e008a6b3f5806f64f9565a","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.4.0.tgz","fileCount":4337,"integrity":"sha512-prG/L6sBg+7bL7lRrfRvwf0b/7ZfZdUOgAA2jlhknc+XfUZPK2mTOrBQz+uCCrygHPjCAAVIsQJzJyjJ/LDzlQ==","signatures":[{"sig":"MEQCIBngVd6J1V1Pae/sR+C1/Q+lU9vuZzNqDHFisU7uJ/99AiAgWdOkwPwJlmWCxPbZ47qJ0IT+u+Zkx/2Zl7hukidAHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289722664},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"de3ce2f10741b361feb071e762caeafed0acda55","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.4.0_1771537111285_0.24437896636858958","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"the-android-mcp","version":"2.5.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@2.5.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js"},"dist":{"shasum":"5a3545f2a7f7641735372aee799f62e8bfded547","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-2.5.0.tgz","fileCount":4337,"integrity":"sha512-6I/CvefrI9ThjNF3vVlruf2pqiLpdeHlKKaUZdiTt8Tub0qfrQyeIJj7W6dTxpOHOSpE+aAsioF2kK8Rk1CGAg==","signatures":[{"sig":"MEUCIQDkhSMyr3+cO7T/FqM0Hhpub6p09PKJI/xKZNmHIPdJXQIgelyq6taonuYbUkqCTqdsUtXOo59te8UfZhytPfC87gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289789914},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6344a9295ab34f561dbc43cc772a93fc9b63b586","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_2.5.0_1771537547852_0.42653514592389574","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"the-android-mcp","version":"3.0.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.0.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"e9afc58e6f231f87dc81923328a283e1ebf37b32","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.0.0.tgz","fileCount":4341,"integrity":"sha512-8nTt4t9ACUAA7J1osM70PveSe0GZPy0PQY3OoXCZR2ctNhseKXA730j7qfc5ySBuMhg0ijVSiCHSr/iEetiCRw==","signatures":[{"sig":"MEUCIQC3S5Pvmc6wsoD81lwScvXYTfoKCPQpsGDn8HZ+p9sXlQIgEJpkRmCdds41IoeGiuFdJFFwzU3VeK+dITtobBqv/yY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289889889},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"387ad270a35769492d1cdbd8d93e92da1bdba26d","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.0.0_1771538426914_0.1691640155014973","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"the-android-mcp","version":"3.1.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.1.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"be6c9eee4338f4c1938ea4daa41584b9971089a9","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.1.0.tgz","fileCount":59,"integrity":"sha512-j1882KBbzqTxMgUxAJMbFtu+T+a8PVksMuKFaIumx6XJj7gXR9l++5lUwlgW5xLT2PAH2eqUfRrpENyXSSESaQ==","signatures":[{"sig":"MEUCIDH1X/RkD/WpeP3XeuVt6Skp/POF3SSduaM8w52dMhdFAiEA0BNcXkVnk0AbKnk0Sshfkki6DsdGBmGmpfTzUpsevWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1617104},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1128561ae75b23746065604cefb1dc8a4b6ea120","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.1.0_1771538774390_0.2284232589716797","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"the-android-mcp","version":"3.2.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.2.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"7f0f71a802db7b9eb54c2b53c42addccc0494401","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.2.0.tgz","fileCount":59,"integrity":"sha512-b2kscsrezdgTEmGjxjymevmWVUsnm/NmyP3YJfVdO/WmO35cYBKm1dTPXHWFilW9wYwRX5W9VZycYz2Go2FNew==","signatures":[{"sig":"MEQCIDYXdMd/k8m01kjAP2PVC6YZCqHlwO425s3ax3rDxZBEAiAaWLNv7N+2IhhfNLffp+QI+BzCH4CqI1hZQ/A9M4Pa7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1651073},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"66cc8f8f043279602f743baf00f975be270dd216","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.2.0_1771539158147_0.2072040991082842","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"the-android-mcp","version":"3.3.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.3.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"7c5c4cfc62b73047b701a9c0ef2aafe8e194d140","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.3.0.tgz","fileCount":59,"integrity":"sha512-aG4D1s+nn0ltvQKxpkcOJ+TUpeznOEq1gXd+7h0V2rFJSKEo0Iou5SwzD9XBE46cqdItdBMcm9VbxFxSb756Ew==","signatures":[{"sig":"MEQCIAEQr22jt2QAtaRQsy24q45acsSLC4NFGCVlup6t6IdaAiAeCsFEcJjdoVmGxffw/iO2kP5DlNbYKGuDs1hoen+gjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1682166},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"bcc92ef41f62f89b8a2dee58e53661526b9dd3cd","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.3.0_1771539620730_0.2748908689847569","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"the-android-mcp","version":"3.4.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.4.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"a89a873fbe4ead8158ff361cec0a0d0178416f0c","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.4.0.tgz","fileCount":59,"integrity":"sha512-rIEpjrTZWMPViuIwP/y/8aNPDAD75eB/Ttn4Tf5pRMtU9a7SV339OQ9hXFkqjYepSicZ8ahwJcjAzCK9tdHIAQ==","signatures":[{"sig":"MEQCIDdWzrq9AE3ssI2LJMzkf+thmegXUI6dgF1dO1V9EJSGAiBX4zknQV67qq15xzwMtTZNR61SpMXSurZc5u2laRzbhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1708330},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6698c4d6952bbd6267be57c5a61bbb2932808e50","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.4.0_1771540123804_0.4913327566598358","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"the-android-mcp","version":"3.5.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.5.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"2b090008fe6be472cea1e73be38e09372023196a","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.5.0.tgz","fileCount":59,"integrity":"sha512-sHV/nVo+fYQfpxamh3qZkk+Qzz3rCuwiZk1SOXnroSlKHEcW0IG5t2h74YQpq0j7RkxF9f3WCC8wu646KYaP7g==","signatures":[{"sig":"MEQCIGWQ59mBfPuypQPfGAfhBDjdNgMeGGIWqgHTzmLKjSNnAiAqc3XPS9hzzfjjWRYdXlLCkNaaykg1D95wnXaO+8BOfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1729627},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e8f1d9c9c25eb5d6304cbc637ec034394464799b","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.5.0_1771540807627_0.46286385118809736","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"the-android-mcp","version":"3.6.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.6.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"46ef332f2ee5176dd7c9cc9621b785606ae702f6","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.6.0.tgz","fileCount":59,"integrity":"sha512-UUBGgAuyJhkRFdi6Isnc5qy67890uShF77JEsCZagi7p73w6Dt4sxU278y0B87Rd9lZH2l4d0Xk1Rx+EpXFh3g==","signatures":[{"sig":"MEQCIGly1YSCPlvZILd7mvvLT5Eq6VQOzLD4Yfaq1+3cz8UfAiB823N/nu/CORkJyF9wa/uhIktNiEPsl9NQr0DV2+votA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1756108},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e383d7da7ee20c78a4f0e0f66c8b84b4bdc9b720","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.6.0_1771541182325_0.4438948544965955","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"the-android-mcp","version":"3.7.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.7.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"8944aa9117abc75b65e4e1a4b486ef8f1784036d","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.7.0.tgz","fileCount":59,"integrity":"sha512-7R1Z05ppjc3JPHW4p20l2tDMH1szOZoLGu2fqMAFN02LFVIBJkiXgRHIHCVuQ922F6tIlZn0DCK4hiegwCrOlQ==","signatures":[{"sig":"MEYCIQCIQ0O3EUtHcBXnT40exGHYhyqatyWvBoAGtGs5ZIjfLQIhAIaRH/3SIxw73ABLo0rXTdPjKBvul04DfIwUjYdt+qx/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1804778},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4cb2a9767789eca8154e93713f55d47efcf9dad3","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.7.0_1771541613943_0.8706513449946545","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"the-android-mcp","version":"3.8.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.8.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"ed2c309e580f6d78dbcd8493d7a7984ee77b85c8","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.8.0.tgz","fileCount":59,"integrity":"sha512-spjLwBa22NgMU7IpS1jsSv15+lfp9+qJGhe8vSKE3e+beULmYl8o1x3R8DjLClp58sAnOlkFbAf1XixaXIeAiA==","signatures":[{"sig":"MEQCIDUYimIJ257UcUqFbsl/EgQyJDDTCt5gpLKHEjE3hO+lAiAQfdDaAcrblmKEIE9AfuqxNwiRnUvMdsbNTfhdYCzEXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1834612},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"517dae04acb75a29f890e5448416711d8580fc15","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.8.0_1771541939248_0.38335776516668885","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"the-android-mcp","version":"3.9.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.9.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"041c535425b8dbdc37fe8755abd6a22e8ee90874","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.9.0.tgz","fileCount":59,"integrity":"sha512-FdMN6Oforwc0MScOIQSdH4llAn2QyB/maEGcF9txjEX5uMDeOMvSgDzxcEDyVBBsN5Y0GRr3ssjg2a3v54ZIww==","signatures":[{"sig":"MEUCIQDLlEz+79qryL5KYjEQVorqKmJvjVR6kw6tSIhQdR4NzQIgCauRK9s00JDXV1WA6Ja2QcimWmJa4x2VgRZ6755cwKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1874099},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4289094f9894705356771af4e66944d0c05ff34b","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.9.0_1771542345271_0.9390986899910287","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"the-android-mcp","version":"3.10.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.10.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"3d2a2bc01047c38a020ffdbf39da7d771debebbd","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.10.0.tgz","fileCount":59,"integrity":"sha512-ZGgPnf6q9TDENayWKqUkqoV1hGeT3OrVADN110T6RuqSBgvlNsJMKKkFGZtsRDdt5AUdH0dX9m6fVA3OM9WDAg==","signatures":[{"sig":"MEQCIF/4Jw+dUgAhVCdip99Eo8xS/CZulUs1xQUk9B4sEYk0AiBDrLD2mRu4KcIaAGcQn8/9cvL4TUkNRlpgYDo52qED2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1920377},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8bd0626007a39c64c17b0e16d6d6c5600e2c5c1d","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.10.0_1771542751985_0.6352390156868488","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"the-android-mcp","version":"3.11.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.11.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"15433efd73481e8501620881b07ae2d60fd8ba8b","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.11.0.tgz","fileCount":59,"integrity":"sha512-dyk21u12tVQ0bZZzaBv8xY6+fY2g2+I1QzzqzRTml9YvwzdfGDZC3cMg2oEhPAz+kEgcMpQFCV2cK/x4KF7DgA==","signatures":[{"sig":"MEQCIDRU5H3veleU7C5gJm2YK1nbia/rn5l2ukVpAD3tPde9AiA8GKcGENamQo4uq2ixkzIYtDhZ8P2KUX/AFbnjB+Cs5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1940879},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"86e9c814052d8f02613c0ec205782b80c06bee20","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.11.0_1771543039695_0.5622492066361935","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"the-android-mcp","version":"3.12.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.12.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"562c120d05b305cda3546d39eb8d5f0278f59998","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.12.0.tgz","fileCount":59,"integrity":"sha512-FX9dC3Zu+wwNbq+HGL7bYpZQPOeF8lo92Hb4/r8nywKnsBt+y1Bu5/a4yePlA28kgQLntdX1fmdPjsnaLmNWSw==","signatures":[{"sig":"MEUCIHkJqDE4sA4YCuE4shoDtge2B3Ifmamuuo2QtjwZvDRCAiEA5GLxdcJ6KkoyXj68hZwWxH2pbcm35TkRaR4+4W8hsik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1964854},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fc6775a728404b654079050526e5c941e078acd9","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.12.0_1771543571830_0.016336159788741256","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"the-android-mcp","version":"3.13.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.13.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"e99660080117390d94a004e0433dd1686073da7a","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.13.0.tgz","fileCount":59,"integrity":"sha512-O34f0zFT1mUApvWqzW9M29MByVRtXorJ3520x4lJ4WWNh5VT/R9KFJxy1aPXLEzAQBtjbFKfXZxbqtYdlNrcvw==","signatures":[{"sig":"MEUCIQCls5opMENUbq55U/OY1p8sXgA0CLdbbF5ahLW9zsVn3AIgPxo8Lh0qfwINT3HMpiLw6AxLP0f4D78jiNyUeKNOpeU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2006695},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"06356cebd1154a7d9c04d2fd66c19e57312d13ef","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.13.0_1771544072645_0.20464964923103524","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"name":"the-android-mcp","version":"3.14.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.14.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"33f14ca025fbe2dcdc16999b8594815614f28ee8","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.14.0.tgz","fileCount":59,"integrity":"sha512-K14rtvNvI+Y4bRfM0RAz1Tq3foC+dq3rTHiTvr5bhFF+88HYj8vDIbPGTPFLRAbBTghiB6aYlLodXdQeStNqMg==","signatures":[{"sig":"MEYCIQDh3EnH8FSNEqBEKHpr12Y+wpVz9GddD/NOI8LXSeklmQIhAKUYiZ+DgptLP4S+HxJVhZQYJdqvH5a2yWa8gX5jkkmG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2032310},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"efa610143409b61127dcb7226b2abcc01319b5e7","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.14.0_1771544359321_0.04815730409605323","host":"s3://npm-registry-packages-npm-production"}},"3.15.0":{"name":"the-android-mcp","version":"3.15.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.15.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"9e5a766da56bc65131164709d3096f6494917654","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.15.0.tgz","fileCount":59,"integrity":"sha512-vkBKoHY5GsQGKOidRGfEw5pim7LlLK1LuO3e4XvtduFNruiGQkUpVvfbdsWgwrS+82SsEzhJm9q6EpL6b84G8g==","signatures":[{"sig":"MEYCIQC/Iaqw/5PohR+NC0wNgvPM3MIeOo4+pwq97dYEs4cD7gIhAMNnwmQM2FA0Dlhe+m44Rhj9sRRFke63ZUTqo7ZLEe5n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2069821},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"cdf2ee3d5d4599de5675d6f4783f41d382f3ec6e","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.15.0_1771544789038_0.5041748336038014","host":"s3://npm-registry-packages-npm-production"}},"3.16.0":{"name":"the-android-mcp","version":"3.16.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.16.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"e566ad1bbc3fbdec83be0d678cea6ac26ae4bd12","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.16.0.tgz","fileCount":59,"integrity":"sha512-/TGzfOmqIu5gbRUV5rIyIOFv2myhle+7PX1iviyd1+7UaE/p/F9KZNocAfi5LbQQmgvSNkP16n3r4lQgvMnfqA==","signatures":[{"sig":"MEQCICn0wOoBpmhj9stGltijnHbmH/hS9MNcQzjgVxfGoOH5AiA6Xdy0BsSuegqHBtkko1W+hUGrZyCRqMwTKsuOVBQ+7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2136212},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0f03674fa821d8ec384c9021b960c52c242cc841","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.16.0_1771545275073_0.671826052036139","host":"s3://npm-registry-packages-npm-production"}},"3.17.0":{"name":"the-android-mcp","version":"3.17.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.17.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"997b03d95e7d954268f430c5311293bdac9d4bbc","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.17.0.tgz","fileCount":59,"integrity":"sha512-bO+vFOmd13Zacorj89aHMS86TOYSTfBXNlJToto27Lnca0SL3A0XozemVnQIBfwAP/DKFOnv3/FGfXe8twz2Hw==","signatures":[{"sig":"MEUCIQDtO+FxFCdC4xy5pq5scWlUO0lYd37DEWr+BYe8iaGT4gIgTpR5xSnI74TJG0k9AEiPpjDa8aqA5YOz8HryZtSKT5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2183353},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1af1bfccc7a83454f455aca5240b1e484a623326","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.17.0_1771545802966_0.13226820847226994","host":"s3://npm-registry-packages-npm-production"}},"3.18.0":{"name":"the-android-mcp","version":"3.18.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.18.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"9732bd134526473b4fb495e6ec9ea079328f9c09","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.18.0.tgz","fileCount":59,"integrity":"sha512-ys0s4ljd64eT0G9n8vpmKJ8wfWZoW0N5gVFigcceYLrrdQKe/IzQo92MUQkMNm58EQtMyZCfuP0hTBqneESxHw==","signatures":[{"sig":"MEUCID0XcEMkAa4bJzJ5vwYSOMzz3rxcKbhclmqA8TUCsfqEAiEA2sbnw7++pVPRYeDwwyomFt8T+MxZ56ff8yHmCUM5T0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2218567},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"bdbb46b362050cac86376b837c03c950b797fee1","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.18.0_1771546165707_0.9622242727714916","host":"s3://npm-registry-packages-npm-production"}},"3.19.0":{"name":"the-android-mcp","version":"3.19.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.19.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"7d7d6e7302227817fac5b0aa78b3600c57afc8d1","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.19.0.tgz","fileCount":59,"integrity":"sha512-y+YR02/QVxixXaU0I0Uhcms1JU6l1a8QP991QsSzK6LVJNsZfr/En/dIC+q7N5IL8/NvweoMgN7jvnd0ImrB2A==","signatures":[{"sig":"MEQCIHbuGImAlNiOdW84iiX/w438bhUp4ChOH7goznACH+1JAiAX81Nky/pvWl/zfCJvMKY6olblxOeaLhITgzUeTg+Bqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2254737},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c3e4f5486926cd72e329cef42962a5a858cc1980","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.19.0_1771546513786_0.4053496064724378","host":"s3://npm-registry-packages-npm-production"}},"3.20.0":{"name":"the-android-mcp","version":"3.20.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.20.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"8365ef7093ffa4df5ecb3456534e9b353f369116","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.20.0.tgz","fileCount":59,"integrity":"sha512-9Ahh2Hle/c42Gck4bOmidoTPxzwZA5IQU9JUwWqs0A71wkwhhF7g1Qp8LpNwzVA1oOuBtxTwMnb//IDOd8UcDQ==","signatures":[{"sig":"MEUCIGKAWxqAAw22dWo30CSjHxzSNM+0nSPIJJt3G+bRMyJMAiEAwQvDyFXw+j8QxsiiLV+ll7aR2vFRMp7pJkrioWA8okU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2285664},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"78a5ce4cf8d77c488f88cd19eea7ea21d731d2d9","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.20.0_1771546851670_0.003998790585113099","host":"s3://npm-registry-packages-npm-production"}},"3.20.1":{"name":"the-android-mcp","version":"3.20.1","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.20.1","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"d273796ba0fdd8d968d659a9b31b7f1acac099c6","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.20.1.tgz","fileCount":59,"integrity":"sha512-RZWYZdWkXlDbwWAaV6JdtivaQbm+Y9CIb2riPnnqnH0e6+gyzDeOvX5hh9kvuNLyKskBbmJERiEKKRfYmgbQ9w==","signatures":[{"sig":"MEYCIQDt1irVE06Bg3ciQGZcuv7loCNe9PwsE8VMx5kFdqFuhAIhAM3f3PYlsjmbaj9XTI7uHc5GNuYW1ZKy+AMi+EFUB7Ty","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2285664},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0bd828de5d4b538adc67dea783685e3618e34e78","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.20.1_1771547064423_0.906001744503153","host":"s3://npm-registry-packages-npm-production"}},"3.21.0":{"name":"the-android-mcp","version":"3.21.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.21.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"4e9586253e07dd17c752cc160f695f477f4eb777","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.21.0.tgz","fileCount":59,"integrity":"sha512-lxZHaqxl5k7Pm/ias9BIZxLE3Mofw511Cql+/SkS7QEo2948thq2OzcSMq6x9j03H+gRALN3QjPRLekmcYLHbA==","signatures":[{"sig":"MEQCIA+PEeWdY57Zn8rK4J0/dPLX3ipJCzba9yYdSAh9JZh5AiB5zXq+FdNsGkMaRDtbKM4aHsTGpLo22dQnezm+8Eeq3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2340658},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e8965a5a9d2fe18d4f9ec46728c97976979ab1b","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.21.0_1771547695122_0.8714033555777481","host":"s3://npm-registry-packages-npm-production"}},"3.22.0":{"name":"the-android-mcp","version":"3.22.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.22.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"aa39b6945b56a44fdbd9fa9094988c3a0da5cb2d","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.22.0.tgz","fileCount":59,"integrity":"sha512-jrsPS8fUe/EoiAcszRGmb6Odo5Bc0jOaHmDMfl7aHqCvV1+mnDpPWMYHiIzRC9zbzyJXUFtshSVlmEVQGbJtRw==","signatures":[{"sig":"MEUCIFzsmxPmn1uaFY6jbAYnnwKG4tmzHsu8EohN7wcD00/gAiEApw06d+9au+e4OeAktAkbfNka8yjC1r5MmtmZz6KLomo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2378925},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"cf883c3fcf0bbe3a724af58e0e8f34504347082b","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.22.0_1771548047665_0.7789037748047454","host":"s3://npm-registry-packages-npm-production"}},"3.23.0":{"name":"the-android-mcp","version":"3.23.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.23.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"ec38045131613a18907ebbd43a132ef5ea27ec3c","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.23.0.tgz","fileCount":59,"integrity":"sha512-v0KGFgdsz7AJZ0gfYi+bbHspY3tlz6kLBiPZkiTjge/hLKCblFDLTfyJdMjwzFbS6DhX95deWgK5ixNuajEI9Q==","signatures":[{"sig":"MEYCIQDCb05y64xskm5Dl1dNM4oservM+7bB1ddFCzH0Pdi+fwIhAJhWD0Qn0EiEh8I7Ml6UuTCYgMbkpv9YUjvs+sTPLiBd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2425463},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"82c60efbae798b7145cf2b31ae03b34cc7280529","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.23.0_1771548461460_0.4787658313872605","host":"s3://npm-registry-packages-npm-production"}},"3.24.0":{"name":"the-android-mcp","version":"3.24.0","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","_id":"the-android-mcp@3.24.0","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"homepage":"https://github.com/meinzeug/the-android-mcp","bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"dist":{"shasum":"069d7e849680d09b8144d190560e1c3dff0297d4","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.24.0.tgz","fileCount":59,"integrity":"sha512-oC2P9jAheY5Fzw3DsrUJOvfR1Ucox9bW32VhZ1gTWRDAA1B10DJ+cRPDRx8cyOFFJVANELrvyRWTyOHR1MBGPg==","signatures":[{"sig":"MEQCIFV+aRRIJeD0DBrT9hCIogEaffM91XyePgWIwB/rNceiAiByk7+hXxyj5k+Z9/y3xcYMx65CGu1vFh+b+ThkvDAiTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2438399},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2918127a66072b6a47e433e2bca8c4aa4b1a5d58","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","setup":"node scripts/setup.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"husky install","release":"npm run build && npm publish --access public","lint:fix":"eslint src --ext .ts --fix","build:dist":"node scripts/build.js","test:watch":"jest --watch","postinstall":"node dist/postinstall.js","release:major":"npm version major --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:patch":"npm version patch --no-git-tag-version && npm run release","test:coverage":"nyc jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"repository":{"url":"git+https://github.com/meinzeug/the-android-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.22.4","electron":"40.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.1.0","typescript":"^5.3.2","@types/jest":"^29.5.8","@types/node":"^20.10.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/the-android-mcp_3.24.0_1771549176748_0.9265179718576484","host":"s3://npm-registry-packages-npm-production"}},"3.24.1":{"name":"the-android-mcp","version":"3.24.1","description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","main":"dist/index.js","types":"dist/index.d.ts","bin":{"the-android-mcp":"dist/index.js","the-android-mcp-gui":"bin/the-android-mcp-gui.js","the-android-mcp-web-ui":"dist/web-ui.js"},"scripts":{"build":"tsc","dev":"ts-node src/index.ts","start":"node dist/index.js","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","format":"prettier --write src/**/*.ts","test":"jest","test:watch":"jest --watch","test:coverage":"nyc jest","setup":"node scripts/setup.js","build:dist":"node scripts/build.js","prepare":"husky install","postinstall":"node dist/postinstall.js","prepublishOnly":"npm run build","release":"npm run build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && npm run release","release:minor":"npm version minor --no-git-tag-version && npm run release","release:major":"npm version major --no-git-tag-version && npm run release"},"keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"author":{"name":"meinzeug"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/meinzeug/the-android-mcp.git"},"bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"homepage":"https://github.com/meinzeug/the-android-mcp","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","electron":"40.0.0","zod":"^3.22.4"},"devDependencies":{"@types/jest":"^29.5.8","@types/node":"^20.10.0","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","husky":"^8.0.3","jest":"^29.7.0","nyc":"^15.1.0","prettier":"^3.1.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.3.2"},"engines":{"node":">=18.0.0"},"gitHead":"33e56f97f4a9d4e4a5bb98af66d7b2ed795bb2f3","_id":"the-android-mcp@3.24.1","_nodeVersion":"22.20.0","_npmVersion":"11.10.0","dist":{"integrity":"sha512-/18II/cOOw7iMPQP5dnWZaqkyI3z5LdV+7awKRqNhF6sqHM0prv65aq8j+a6HEDoza08xo4JsZ9vinLGx/vP9w==","shasum":"67ae8b5e6009531070d584e5122b3b8075c75f5d","tarball":"https://registry.npmjs.org/the-android-mcp/-/the-android-mcp-3.24.1.tgz","fileCount":59,"unpackedSize":2448165,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH0C5JoJa92N2F2WKuwEXUoXtLzcSOplwNVpa1AcXW9mAiAOzr2LpkHHrCveq3bJqK6thZ3E9sVtxbBqh73er6T31w=="}]},"_npmUser":{"name":"meinzeug","email":"dennis.wicht@web.de"},"directories":{},"maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/the-android-mcp_3.24.1_1771748597093_0.5908907316886831"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-24T21:19:28.080Z","modified":"2026-02-22T08:23:17.416Z","0.1.0":"2026-01-24T21:19:28.284Z","0.1.1":"2026-01-24T21:33:37.913Z","0.1.3":"2026-01-25T05:27:38.953Z","0.1.4":"2026-01-25T06:50:25.283Z","0.1.5":"2026-01-25T06:58:36.819Z","0.1.6":"2026-01-25T08:56:17.790Z","0.1.7":"2026-01-25T08:59:38.389Z","0.1.8":"2026-01-25T09:15:37.997Z","0.1.11":"2026-01-25T09:34:33.875Z","0.1.12":"2026-01-25T09:42:53.277Z","0.1.13":"2026-01-25T09:53:41.083Z","0.1.14":"2026-01-25T10:08:20.281Z","0.1.15":"2026-01-25T10:41:42.418Z","0.1.16":"2026-01-25T11:12:40.129Z","2.0.0":"2026-01-25T11:24:19.913Z","2.0.1":"2026-01-25T14:15:33.425Z","2.0.2":"2026-01-25T14:41:00.276Z","2.0.3":"2026-01-25T15:53:33.310Z","2.0.4":"2026-01-25T16:40:33.589Z","2.0.5":"2026-01-25T17:06:12.956Z","2.1.0":"2026-01-25T17:48:44.117Z","2.1.1":"2026-01-26T13:48:01.219Z","2.1.2":"2026-01-26T14:08:45.159Z","2.1.3":"2026-02-19T20:46:45.876Z","2.1.4":"2026-02-19T20:49:50.407Z","2.1.5":"2026-02-19T20:57:43.401Z","2.2.0":"2026-02-19T21:20:58.137Z","2.3.0":"2026-02-19T21:30:03.436Z","2.4.0":"2026-02-19T21:38:34.073Z","2.5.0":"2026-02-19T21:45:50.643Z","3.0.0":"2026-02-19T22:00:29.690Z","3.1.0":"2026-02-19T22:06:14.550Z","3.2.0":"2026-02-19T22:12:38.309Z","3.3.0":"2026-02-19T22:20:20.944Z","3.4.0":"2026-02-19T22:28:44.031Z","3.5.0":"2026-02-19T22:40:07.844Z","3.6.0":"2026-02-19T22:46:22.555Z","3.7.0":"2026-02-19T22:53:34.129Z","3.8.0":"2026-02-19T22:58:59.441Z","3.9.0":"2026-02-19T23:05:45.471Z","3.10.0":"2026-02-19T23:12:32.177Z","3.11.0":"2026-02-19T23:17:19.960Z","3.12.0":"2026-02-19T23:26:12.047Z","3.13.0":"2026-02-19T23:34:32.857Z","3.14.0":"2026-02-19T23:39:19.512Z","3.15.0":"2026-02-19T23:46:29.368Z","3.16.0":"2026-02-19T23:54:35.254Z","3.17.0":"2026-02-20T00:03:23.168Z","3.18.0":"2026-02-20T00:09:25.935Z","3.19.0":"2026-02-20T00:15:14.013Z","3.20.0":"2026-02-20T00:20:51.942Z","3.20.1":"2026-02-20T00:24:24.676Z","3.21.0":"2026-02-20T00:34:55.280Z","3.22.0":"2026-02-20T00:40:47.939Z","3.23.0":"2026-02-20T00:47:41.639Z","3.24.0":"2026-02-20T00:59:36.929Z","3.24.1":"2026-02-22T08:23:17.285Z"},"bugs":{"url":"https://github.com/meinzeug/the-android-mcp/issues"},"author":{"name":"meinzeug"},"license":"MIT","homepage":"https://github.com/meinzeug/the-android-mcp","keywords":["mcp","android","screenshot","adb","automation","testing","hot-reload","ai","claude"],"repository":{"type":"git","url":"git+https://github.com/meinzeug/the-android-mcp.git"},"description":"ADB-powered MCP server for Android app install, control, hot reload, screenshots, and test automation","maintainers":[{"name":"meinzeug","email":"dennis.wicht@web.de"}],"readme":"# The Android MCP\n\n[![npm version](https://badge.fury.io/js/the-android-mcp.svg)](https://badge.fury.io/js/the-android-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://typescriptlang.org)\n[![Node.js](https://img.shields.io/badge/Node.js-339933?logo=node.js&logoColor=white)](https://nodejs.org)\n\n> Build, ship, and validate Android UI changes in minutes — with AI agents that can see and touch your device.\n\n## ⚡ What This Enables (Fast)\n\n- **Instant UI feedback**: screenshots + UI hierarchy in one flow\n- **Lightning login**: automatic form fill + submit detection\n- **Hot reload at scale**: wire ports, install APKs, and restart apps from MCP\n- **Human‑like navigation**: tap, swipe, scroll, and wait logic built-in\n\n## Visual Overview\n\n```mermaid\nflowchart LR\n  Dev[Code Changes] --> Agent[AI Agent]\n  Agent --> MCP[MCP Server]\n  MCP --> Device[Android Device]\n  Device --> MCP\n  MCP --> Agent\n  Agent --> Dev\n```\n\n```mermaid\nsequenceDiagram\n  participant A as AI Agent\n  participant M as MCP Server\n  participant D as Android Device\n  A->>M: smart_login_fast\n  M->>D: UI dump and ADB input\n  D-->>M: Updated UI state\n  M->>D: Tap submit\n  M-->>A: Result (fields found, submit tapped)\n```\n\n## Web UI v3 (Local 50000)\n\nThe local web cockpit is now English-first and beginner-first, with advanced controls hidden behind an explicit toggle.\n\n- URL: `http://127.0.0.1:50000`\n- Start command: `the-android-mcp-web-ui --serve --host 127.0.0.1 --port 50000`\n- UX direction: plain-language actions, large guided cards, and clearer operational feedback.\n- Structure: `Simple Mode` for daily actions, `Expert Area` for full controls.\n- Expert Area: large control sets are grouped into collapsible modules with `Expand All Modules` / `Collapse All Modules`.\n- Startup safety: schedule auto-resume is disabled by default; enable with `THE_ANDROID_MCP_RESUME_SCHEDULES_ON_START=1`.\n\n### Screenshots\n\nDesktop:\n\n![Web UI v3 desktop overview](docs/screenshots/web-ui-v3-23-futuristic.png)\n\nAndroid live session (captured from connected device workflow):\n\n![Web UI v3 android live view](docs/screenshots/web-ui-v3-24-android.png)\n\n## Quick Start (Copy/Paste)\n\n```bash\nnpm install -g the-android-mcp\nthe-android-mcp\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"the-android-mcp\": {\n      \"command\": \"the-android-mcp\"\n    }\n  }\n}\n```\n\n## Tool Highlights\n\n| Goal | Tools |\n| --- | --- |\n| Fast login | `smart_login_fast`, `detect_login_fields`, `adb_keyboard_*` |\n| Speedy flows | `fast_flow`, `run_flow_plan`, `batch_android_actions` |\n| Robust waits | `wait_for_*`, `wait_for_*_disappear`, `wait_for_ui_stable` |\n| Navigation | `tap_*`, `swipe_*`, `scroll_*`, `scroll_until_*` |\n| App ops | `install_android_apk`, `start_android_app`, `hot_reload_android_app` |\n| Issue reporting | `create_github_issue` |\n\n## Performance Tips (Real‑World)\n\n- Prefer `fast_flow` + `batch_android_actions` to reduce ADB round‑trips.\n- Use `wait_for_ui_stable` to avoid flaky taps during transitions.\n- Prefer `scroll_until_*` over manual scroll loops.\n- For login screens, use `smart_login_fast` with ADB keyboard enabled.\n- Use `smart_swipe` / `smart_scroll` profiles (`fast`, `normal`, `safe`) to trade speed vs stability.\n\n## Efficiency Playbook (for Coding AIs)\n\nUse this when you want **maximum speed** and **minimum ADB round‑trips**.\n\n### 1) Prefer “one‑call” flows\n- Use `fast_flow` or `run_flow_plan` to combine taps, text, waits, and screenshots in **one call**.\n- Use `smart_swipe` / `smart_scroll` to **swipe + stabilize + (optional) screenshot** in one call.\n- Use `swipe_and_screenshot` when you just need a fast swipe + capture.\n\n### 2) Reduce screenshots to only what you need\n- Use `take_android_screenshot` with `throttleMs` to reuse the last capture.\n- Prefer **UI dumps** (`dump_android_ui_hierarchy`) for logic, and screenshots only for visual confirmation.\n- For repeated UI queries, use `query_ui` with `useCache`/`maxAgeMs`.\n\n### 3) Use ADB keyboard for fast input\n- `smart_login_fast` with `useAdbKeyboard=true` is the fastest login path.\n- For manual input: `adb_keyboard_input` or `adb_keyboard_input_chars`.\n\n### 4) Always wait for stability before tapping\n- If a screen is changing, use `wait_for_ui_stable` or `smart_swipe` / `smart_scroll`.\n- Avoid immediate taps after navigation without a wait; it causes flakiness.\n\n### 5) Favor selector‑based taps over coordinates\n- Use `tap_by_text`, `tap_by_id`, `tap_by_desc`, or `query_ui` + `tap_by_selector_index`.\n- Coordinates are a fallback when no stable selectors exist.\n\n### 6) Use scroll‑until helpers\n- `scroll_until_text`, `scroll_until_id`, `scroll_until_desc` are faster and less flaky than manual loops.\n\n### 7) Capture bug reports immediately\n- When a flow fails, use `create_github_issue` with repro steps + logs/screenshots.\n\n## Flow Orchestrator v1 (run_flow_plan)\n\n`run_flow_plan` now supports **asserts**, **retries**, and **on‑fail hooks** to keep UI flows resilient.\n\n```json\n{\n  \"steps\": [\n    { \"type\": \"tap_by_text\", \"text\": \"Login\" },\n    { \"type\": \"assert_text\", \"text\": \"Welcome\", \"timeoutMs\": 6000 }\n  ],\n  \"stepRetries\": 1,\n  \"retryDelayMs\": 400,\n  \"onFailSteps\": [\n    { \"type\": \"press_key_sequence\", \"keyCodes\": [\"4\", \"4\"] }\n  ]\n}\n```\n\n## Issue Reporting (GitHub)\n\nThe `create_github_issue` tool uses the GitHub CLI (`gh`). Make sure you're authenticated (`gh auth login`).\nUse `dryRun` to verify the command without creating an issue.\n\n```json\n{\n  \"title\": \"Login submit button not detected on Pixel 7\",\n  \"body\": \"Steps: open app -> login screen -> submit not tapped. Logs attached.\",\n  \"labels\": [\"bug\", \"login\"],\n  \"dryRun\": true\n}\n```\n\n### Example: Fast login + submit + verify in one flow\n```json\n{\n  \"steps\": [\n    { \"type\": \"wait_for_ui_stable\", \"stableIterations\": 2 },\n    { \"type\": \"smart_login_fast\", \"email\": \"user@example.com\", \"password\": \"secret\", \"useAdbKeyboard\": true },\n    { \"type\": \"wait_for_activity_change\", \"timeoutMs\": 8000 }\n  ],\n  \"stopOnFailure\": true\n}\n```\n\nADB-powered Model Context Protocol server that lets AI coding agents install, launch, and control Android apps, capture screenshots, and wire hot-reload ports. Built for iterative UI refinement, automated test flows, and hands-on app navigation with Expo, React Native, Flutter, and native Android projects.\n\nBased on the original project: [infiniV/Android-Ui-MCP](https://github.com/infiniV/Android-Ui-MCP).\n\n**Keywords:** android mcp server, adb automation, android app testing, hot reload, android ui control, ai agent android, expo, react native, flutter\n\n## Features\n\n**Real-Time Development Workflow**\n\n- Live screenshot capture during app development with Expo, React Native, Flutter\n- Instant visual feedback for AI agents on UI changes and iterations\n- Seamless integration with development servers and hot reload workflows\n- Support for both physical devices and emulators during active development\n- ADB-driven app install, launch, input control, and port reverse for hands-on testing\n\n**AI Agent Integration**\n\n- MCP protocol support for Claude Desktop, GitHub Copilot, and Gemini CLI\n- Enable AI agents to see your app UI and provide contextual suggestions\n- Perfect for iterative UI refinement and design feedback loops\n- Visual context for AI-powered code generation and UI improvements\n\n**Developer Experience**\n\n- Zero-configuration setup with running development environments\n- Docker deployment for team collaboration and CI/CD pipelines\n- Comprehensive error handling with helpful development suggestions\n- Secure stdio communication with timeout management\n\n## Table of Contents\n\n- [Web UI v3 (Local 50000)](#web-ui-v3-local-50000)\n- [AI Agent Configuration](#ai-agent-configuration)\n- [Installation](#installation)\n- [GUI App (Linux)](#gui-app-linux)\n- [Development Workflow](#development-workflow)\n- [Prerequisites](#prerequisites)\n- [Development Environment Setup](#development-environment-setup)\n- [Docker Deployment](#docker-deployment)\n- [Available Tools](#available-tools)\n- [Usage Examples](#usage-examples)\n- [Troubleshooting](#troubleshooting)\n- [Development](#development)\n\n## AI Agent Configuration\n\nThis MCP server works with AI agents that support the Model Context Protocol. Configure your preferred agent to enable real-time Android UI analysis:\n\nHave fun exploring this tool!\n\nWe’re actively developing in the background right now — as you’re reading this.\nA lot of work is happening at this very moment, and even more powerful tools are already in development.\n\nThis project is evolving fast, and there’s much more to come. 🚧\n\n### Claude Code\n```bash\n# CLI Installation\nclaude mcp add the-android-mcp -- npx the-android-mcp\n\n# Local Development\nclaude mcp add the-android-mcp -- node \"D:\\\\projects\\\\the-android-mcp\\\\dist\\\\index.js\"\n```\n\n### Claude Desktop\nAdd to `%APPDATA%\\Claude\\claude_desktop_config.json`:\n```json\n{\n  \"mcpServers\": {\n    \"the-android-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"the-android-mcp\"],\n      \"timeout\": 10000\n    }\n  }\n}\n```\n\n### GitHub Copilot (VS Code)\nAdd to `.vscode/settings.json`:\n```json\n{\n  \"github.copilot.enable\": {\n    \"*\": true\n  },\n  \"mcp.servers\": {\n    \"the-android-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"the-android-mcp\"],\n      \"timeout\": 10000\n    }\n  }\n}\n```\n\n### Gemini CLI\n```bash\n# CLI Installation\ngemini mcp add the-android-mcp npx the-android-mcp\n\n# Configuration\n# Create ~/.gemini/settings.json with:\n{\n  \"mcpServers\": {\n    \"the-android-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"the-android-mcp\"]\n    }\n  }\n}\n```\n\n### Codex\nOn install, the package auto-adds the server to `~/.codex/config.toml` if the file exists.\nTo skip auto-setup, set `THE_ANDROID_MCP_NO_CODEX_SETUP=1`.\nTo skip Web UI auto-start on install, set `THE_ANDROID_MCP_NO_WEB_UI_AUTOSTART=1`.\n\nWeb UI schedule auto-resume on startup is disabled by default to prevent unintended background device actions.\nTo explicitly restore active schedules on startup, set `THE_ANDROID_MCP_RESUME_SCHEDULES_ON_START=1`.\n\nIf you need to add it manually, use:\n```toml\n[mcp_servers.the-android-mcp]\ncommand = \"npx\"\nargs = [\"-y\", \"the-android-mcp\"]\ntimeout = 10000\n```\n\n## Installation\n\n### Package Manager Installation\n\n```bash\nnpm install -g the-android-mcp\n```\n\nLaunch the GUI (after global install):\n\n```bash\nthe-android-mcp-gui\n```\n\n### Source Installation\n\n```bash\ngit clone https://github.com/meinzeug/the-android-mcp\ncd the-android-mcp\nnpm install && npm run build\n```\n\n### Installation Verification\n\nAfter installation, verify the package is available:\n\n```bash\nthe-android-mcp --version\n# For npm installation\nnpx the-android-mcp --version\n```\n\nOptional GUI launch:\n\n```bash\nthe-android-mcp-gui\n```\n\n## GUI App (Linux)\n\nLightweight Electron GUI that talks to the MCP server over stdio and gives you a visual control surface for devices.\n\n### Global GUI (recommended)\n\n```bash\nthe-android-mcp-gui\n```\n\nThis uses the GUI bundled with the npm package and launches the MCP server automatically.\n\n### Local GUI (development)\n\n```bash\n# build MCP server first\nnpm run build\n\n# start the GUI\ncd apps/gui\nnpm install\nnpm run dev\n```\n\n**Linux sandbox note:** The GUI launcher auto-disables the Electron sandbox if `chrome-sandbox` isn’t correctly configured. To enforce sandboxing, set `THE_ANDROID_MCP_FORCE_SANDBOX=1` and fix permissions on your Electron install (for global installs, this is typically under `$(npm root -g)/the-android-mcp/node_modules/electron/dist/chrome-sandbox`).\n\nThe GUI auto-launches the MCP server from `dist/index.js` and exposes:\n- device list + selection\n- screenshots + tap overlay\n- app install/start/stop\n- text input + keyevents\n- current activity, window size, UI hierarchy dump\n\n## Development Workflow\n\nThis MCP server transforms how you develop Android UIs by giving AI agents real-time visual access to your running application. Here's the typical workflow:\n\n1. **Start Your Development Environment**: Launch Expo, React Native Metro, Flutter, or Android Studio with your app running\n2. **Connect the MCP Server**: Configure your AI agent (Claude, Copilot, Gemini) to use this MCP server\n3. **Iterative Development**: Ask your AI agent to analyze the current UI, suggest improvements, or help implement changes\n4. **Real-Time Feedback**: The AI agent takes screenshots to see the results of code changes immediately\n5. **Refine and Repeat**: Continue the conversation with visual context for better UI development\n\n**Perfect for:**\n\n- Expo development with live preview and hot reload\n- React Native development with Metro bundler\n- Flutter development with hot reload\n- Native Android development with instant run\n- UI testing and visual regression analysis\n- Collaborative design reviews with AI assistance\n- Accessibility testing with visual context\n- Cross-platform UI consistency checking\n\n## Prerequisites\n\n| Component | Version | Installation                                                                               |\n| --------- | ------- | ------------------------------------------------------------------------------------------ |\n| Node.js   | 18.0+   | [Download](https://nodejs.org)                                                             |\n| npm       | 8.0+    | Included with Node.js                                                                      |\n| ADB       | Latest  | [Android SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools) |\n\n### Android Device Setup\n\n1. Enable Developer Options: Settings > About Phone > Tap \"Build Number\" 7 times\n2. Enable USB Debugging: Settings > Developer Options > USB Debugging\n3. Verify connection: `adb devices`\n\n\n## Development Environment Setup\n\n### Expo Development\n\n1. Start your Expo development server:\n\n```bash\nnpx expo start\n# or\nnpm start\n```\n\n2. Open your app on a connected device or emulator\n3. Ensure your device appears in `adb devices`\n4. Your AI agent can now take screenshots during development\n\n### React Native Development\n\n1. Start Metro bundler:\n\n```bash\nnpx react-native start\n```\n\n2. Run on Android:\n\n```bash\nnpx react-native run-android\n```\n\n3. Enable hot reload for instant feedback with AI analysis\n\n### Flutter Development\n\n1. Start Flutter in debug mode:\n\n```bash\nflutter run\n```\n\n2. Use hot reload (`r`) and hot restart (`R`) while getting AI feedback\n3. The AI agent can capture UI states after each change\n\n### Native Android Development\n\n1. Open project in Android Studio\n2. Run app with instant run enabled\n3. Connect device or start emulator\n4. Enable AI agent integration for real-time UI analysis\n\n\n## Docker Deployment\n\n### Docker Compose\n\n```bash\ncd docker\ndocker-compose up --build -d\n```\n\nConfigure AI platform for Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"the-android-mcp\": {\n      \"command\": \"docker\",\n      \"args\": [\"exec\", \"the-android-mcp\", \"node\", \"/app/dist/index.js\"],\n      \"timeout\": 15000\n    }\n  }\n}\n```\n\n### Manual Docker Build\n\n```bash\ndocker build -t the-android-mcp .\ndocker run -it --rm --privileged -v /dev/bus/usb:/dev/bus/usb the-android-mcp\n```\n\n## Available Tools\n\n| Tool                      | Description                               | Parameters                                                                 |\n| ------------------------- | ----------------------------------------- | -------------------------------------------------------------------------- |\n| `take_android_screenshot` | Captures device screenshot                | `deviceId` (optional), `throttleMs` (optional)                             |\n| `list_android_devices`    | Lists connected devices                   | None                                                                       |\n| `set_device_alias`        | Set a device alias                        | `alias`, `deviceId` (optional)                                             |\n| `resolve_device_alias`    | Resolve device alias                      | `alias`                                                                    |\n| `list_device_aliases`     | List device aliases                       | None                                                                       |\n| `clear_device_alias`      | Clear a device alias                      | `alias`                                                                    |\n| `list_imes`               | List available Android IMEs               | `deviceId` (optional)                                                      |\n| `set_ime`                 | Set current Android IME                   | `imeId`, `deviceId` (optional)                                             |\n| `enable_ime`              | Enable Android IME                        | `imeId`, `deviceId` (optional)                                             |\n| `adb_keyboard_input`      | Input text via ADB Keyboard IME           | `text`, `imeId` (optional), `setIme` (optional)                            |\n| `adb_keyboard_clear_text` | Clear text via ADB Keyboard IME           | `imeId` (optional), `setIme` (optional), `deviceId` (optional)             |\n| `adb_keyboard_input_code` | Send key code via ADB Keyboard IME        | `code`, `imeId` (optional), `setIme` (optional), `deviceId` (optional)     |\n| `adb_keyboard_editor_action` | Send editor action via ADB Keyboard IME | `code`, `imeId` (optional), `setIme` (optional), `deviceId` (optional)     |\n| `adb_keyboard_input_chars`| Send unicode codepoints via ADB Keyboard  | `text`, `imeId` (optional), `setIme` (optional), `deviceId` (optional)     |\n| `set_adb_keyboard_mode`   | Enable/disable ADB keyboard mode          | `enable` (optional), `imeId` (optional)                                    |\n| `smart_login`             | Auto-fill login screen quickly            | `email`, `password`, `submitLabels`, `submitFallback` (optional)           |\n| `detect_login_fields`     | Detect login fields and submit button     | `submitLabels` (optional), `deviceId` (optional)                           |\n| `smart_login_fast`        | Fast login (single dump + batch actions)  | `email`, `password`, `useAdbKeyboard`, `submitFallback` (optional)         |\n| `find_android_apk`        | Finds the most recent APK in a project    | `projectRoot` (optional)                                                   |\n| `install_android_apk`     | Installs an APK on a device               | `apkPath`/`apkUrl` (optional), `deviceId` (optional), install flags, `timeoutMs` |\n| `uninstall_android_app`   | Uninstalls an app by package name         | `packageName`, `deviceId` (optional), `keepData` (optional)                |\n| `start_android_app`       | Starts an app (optionally activity)       | `packageName`, `activity` (optional), `deviceId` (optional)                |\n| `get_android_current_activity` | Gets the focused activity           | `deviceId` (optional)                                                      |\n| `get_android_window_size` | Gets device window size                   | `deviceId` (optional)                                                      |\n| `list_installed_packages` | List installed package names              | filters (optional), `deviceId` (optional)                                  |\n| `is_app_installed`        | Check if package is installed             | `packageName`, `deviceId` (optional)                                       |\n| `get_app_version`         | Get app version info                      | `packageName`, `deviceId` (optional)                                       |\n| `get_android_property`    | Read a system property                    | `property`, `deviceId` (optional)                                          |\n| `get_android_properties`  | Read system properties by prefix          | `prefix` (optional), `deviceId` (optional)                                 |\n| `open_url`                | Open URL via Android intent               | `url`, `deviceId` (optional)                                               |\n| `paste_clipboard`         | Paste clipboard content                   | `deviceId` (optional)                                                      |\n| `dump_android_ui_hierarchy` | Dumps UI hierarchy XML                  | `deviceId` (optional), `maxChars`, `useCache`, `maxAgeMs` (optional)       |\n| `stop_android_app`        | Force-stops an app                        | `packageName`, `deviceId` (optional)                                       |\n| `clear_android_app_data`  | Clears app data                           | `packageName`, `deviceId` (optional)                                       |\n| `tap_android_screen`      | Sends a tap event                         | `x`, `y`, `deviceId` (optional)                                            |\n| `swipe_android_screen`    | Sends a swipe gesture                     | `startX`, `startY`, `endX`, `endY`, `durationMs` (optional), `deviceId`    |\n| `swipe_and_screenshot`    | Swipe + screenshot in one call            | `startX`, `startY`, `endX`, `endY`, `postSwipeWaitMs` (optional)           |\n| `smart_swipe`             | Swipe + auto-wait + optional screenshot   | `startX`, `startY`, `endX`, `endY`, `profile`, `waitForUiStable`           |\n| `input_android_text`      | Types text into focused input             | `text`, `deviceId` (optional)                                              |\n| `send_android_keyevent`   | Sends an Android keyevent                 | `keyCode`, `deviceId` (optional)                                           |\n| `batch_android_actions`   | Runs multiple input actions in one call   | `actions`, `preActionWaitMs` (optional), `deviceId` (optional), `captureBefore`/`captureAfter` (optional), `timeoutMs` |\n| `pm2_start_hot_mode`      | Start hot mode build via PM2              | `projectRoot`/`configPath` (optional), `appName` (optional)                |\n| `pm2_stop_app`            | Stop a PM2 app by name                     | `appName`                                                                  |\n| `pm2_list`                | List PM2 apps                              | None                                                                       |\n| `fast_flow`               | Run fast UI flow (batch + optional dumps)  | `actions`/`steps`, `stepRetries`, `screenshotThrottleMs` (optional)         |\n| `tap_by_text`             | Tap UI node by visible text               | `text`, `matchMode` (optional), `index` (optional), `deviceId` (optional)  |\n| `tap_by_id`               | Tap UI node by resource-id                | `resourceId`, `index` (optional), `deviceId` (optional)                    |\n| `tap_by_desc`             | Tap UI node by content-desc               | `contentDesc`, `matchMode` (optional), `index` (optional), `deviceId` (optional) |\n| `wait_for_text`           | Wait for text via UI dump polling         | `text`, `matchMode` (optional), `timeoutMs`/`intervalMs` (optional)        |\n| `wait_for_text_disappear` | Wait for text to disappear                | `text`, `matchMode` (optional), `timeoutMs`/`intervalMs` (optional)        |\n| `type_by_id`              | Tap a field by id and type text           | `resourceId`, `text`, `matchMode`/`index` (optional), `deviceId` (optional)|\n| `wait_for_id`             | Wait for resource-id via UI dump polling  | `resourceId`, `matchMode` (optional), `timeoutMs`/`intervalMs` (optional)  |\n| `wait_for_id_disappear`   | Wait for resource-id to disappear         | `resourceId`, `matchMode` (optional), `timeoutMs`/`intervalMs` (optional)  |\n| `wait_for_desc`           | Wait for content-desc via UI dump polling | `contentDesc`, `matchMode` (optional), `timeoutMs`/`intervalMs` (optional) |\n| `wait_for_desc_disappear` | Wait for content-desc to disappear        | `contentDesc`, `matchMode` (optional), `timeoutMs`/`intervalMs` (optional) |\n| `wait_for_activity`       | Wait for current activity/component       | `activity`, `matchMode` (optional), `timeoutMs`/`intervalMs` (optional)    |\n| `wait_for_activity_change` | Wait for activity to change              | `previousActivity`/`targetActivity` (optional), `timeoutMs`/`intervalMs`   |\n| `press_key_sequence`      | Press multiple keyevents in sequence      | `keyCodes`, `intervalMs` (optional), `deviceId` (optional)                 |\n| `tap_relative`            | Tap using percentage coordinates          | `xPercent`, `yPercent`, `deviceId` (optional)                              |\n| `swipe_relative`          | Swipe using percentage coordinates        | `startXPercent`, `startYPercent`, `endXPercent`, `endYPercent`, `durationMs`|\n| `scroll_vertical`         | Scroll vertically via percentage swipe    | `direction`, `distancePercent` (optional), `deviceId` (optional)           |\n| `scroll_horizontal`       | Scroll horizontally via percentage swipe  | `direction`, `distancePercent` (optional), `deviceId` (optional)           |\n| `smart_scroll`            | Scroll + auto-wait + optional screenshot  | `direction`, `profile`, `startXPercent`, `autoCorrectDirection`            |\n| `tap_center`              | Tap the center of the screen              | `deviceId` (optional)                                                      |\n| `long_press`              | Long-press on coordinate                  | `x`, `y`, `durationMs` (optional), `deviceId` (optional)                   |\n| `double_tap`              | Double-tap on coordinate                  | `x`, `y`, `intervalMs` (optional), `deviceId` (optional)                   |\n| `wait_for_ui_stable`      | Wait for UI dump to stabilize             | `stableIterations`, `intervalMs`, `timeoutMs` (optional)                   |\n| `get_screen_hash`         | Get UI hash from current dump             | `deviceId` (optional)                                                      |\n| `scroll_until_text`       | Scroll until text appears                 | `text`, `matchMode` (optional), `maxScrolls` (optional)                    |\n| `scroll_until_id`         | Scroll until resource-id appears          | `resourceId`, `matchMode` (optional), `maxScrolls` (optional)              |\n| `scroll_until_desc`       | Scroll until content-desc appears         | `contentDesc`, `matchMode` (optional), `maxScrolls` (optional)             |\n| `wait_for_package`        | Wait for package in foreground            | `packageName`, `timeoutMs`/`intervalMs` (optional)                         |\n| `run_flow_plan`           | Execute a multi-step UI plan quickly      | `steps`, `stopOnFailure`, `stepRetries`, `retryDelayMs`, `onFailSteps`      |\n| `query_ui`                | Query UI nodes by selector                | `selector`, `maxResults`, `useCache`, `maxAgeMs`, `deviceId` (optional)     |\n| `wait_for_node_count`     | Wait for selector match count             | `selector`, `count`, `comparator` (optional)                               |\n| `tap_by_selector_index`   | Tap selector match by index               | `selector`, `index` (optional), `deviceId` (optional)                      |\n| `ui_dump_cached`          | Return last cached UI dump                | `deviceId`, `maxChars`, `maxAgeMs`, `invalidateOnActivityChange`, `refresh` |\n| `reverse_android_port`    | Reverse TCP port (device → host)          | `devicePort`, `hostPort` (optional), `deviceId` (optional)                 |\n| `forward_android_port`    | Forward TCP port (host → device)          | `devicePort`, `hostPort`, `deviceId` (optional)                            |\n| `get_android_logcat`      | Fetch recent logcat output                | `lines` (optional), filters, `deviceId` (optional)                         |\n| `list_android_activities` | List activities for a package             | `packageName`, `deviceId` (optional)                                       |\n| `hot_reload_android_app`  | Reverse ports + install/start for hot dev | `packageName`, `reversePorts`, install/start options, Play Protect handling, `deviceId` (optional)|\n| `create_github_issue`     | Create a GitHub issue                     | `title`, `body` (optional), `labels` (optional), `assignees` (optional), `dryRun` (optional) |\n\n### Tool Schemas (selected)\n\nFull schemas are exported via the MCP server and live in `src/types.ts`.\n\n**take_android_screenshot**\n\n```json\n{\n  \"name\": \"take_android_screenshot\",\n  \"description\": \"Capture a screenshot from an Android device or emulator\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID. If not provided, uses the first available device.\"\n      },\n      \"format\": {\n        \"type\": \"string\",\n        \"description\": \"Image format (png).\"\n      }\n    }\n  }\n}\n```\n\n**list_android_devices**\n\n```json\n{\n  \"name\": \"list_android_devices\",\n  \"description\": \"List all connected Android devices and emulators with detailed information\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {}\n  }\n}\n```\n\n**find_android_apk**\n\n```json\n{\n  \"name\": \"find_android_apk\",\n  \"description\": \"Find the most recent APK in a project directory\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"projectRoot\": {\n        \"type\": \"string\",\n        \"description\": \"Optional project root to search for APKs\"\n      }\n    }\n  }\n}\n```\n\n**install_android_apk**\n\n```json\n{\n  \"name\": \"install_android_apk\",\n  \"description\": \"Install an APK on a connected Android device or emulator\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      },\n      \"apkPath\": {\n        \"type\": \"string\",\n        \"description\": \"Path to APK to install (optional; auto-detects if omitted)\"\n      },\n      \"apkUrl\": {\n        \"type\": \"string\",\n        \"description\": \"Optional URL to download an APK before installing\"\n      },\n      \"projectRoot\": {\n        \"type\": \"string\",\n        \"description\": \"Optional project root to search for APKs when apkPath is omitted\"\n      },\n      \"reinstall\": {\n        \"type\": \"boolean\",\n        \"description\": \"Reinstall if already installed (-r)\"\n      },\n      \"grantPermissions\": {\n        \"type\": \"boolean\",\n        \"description\": \"Grant runtime permissions at install time (-g)\"\n      },\n      \"allowTestPackages\": {\n        \"type\": \"boolean\",\n        \"description\": \"Allow installing test-only APKs (-t)\"\n      },\n      \"allowDowngrade\": {\n        \"type\": \"boolean\",\n        \"description\": \"Allow version downgrade (-d)\"\n      },\n      \"timeoutMs\": {\n        \"type\": \"number\",\n        \"description\": \"Optional timeout in milliseconds for install\"\n      },\n      \"playProtectAction\": {\n        \"type\": \"string\",\n        \"description\": \"How to handle Google Play Protect prompts (send_once, always, never)\"\n      },\n      \"playProtectMaxWaitMs\": {\n        \"type\": \"number\",\n        \"description\": \"Max time to wait for Play Protect prompt handling (milliseconds)\"\n      }\n    }\n  }\n}\n```\n\n**uninstall_android_app**\n\n```json\n{\n  \"name\": \"uninstall_android_app\",\n  \"description\": \"Uninstall an app by package name\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"packageName\": {\n        \"type\": \"string\",\n        \"description\": \"Android application package name\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      },\n      \"keepData\": {\n        \"type\": \"boolean\",\n        \"description\": \"Whether to keep app data and cache directories (-k)\"\n      }\n    }\n  }\n}\n```\n\n**start_android_app**\n\n```json\n{\n  \"name\": \"start_android_app\",\n  \"description\": \"Start an Android app by package name\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"packageName\": {\n        \"type\": \"string\",\n        \"description\": \"Android application package name\"\n      },\n      \"activity\": {\n        \"type\": \"string\",\n        \"description\": \"Optional activity to launch\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**stop_android_app**\n\n```json\n{\n  \"name\": \"stop_android_app\",\n  \"description\": \"Force-stop an app\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"packageName\": {\n        \"type\": \"string\",\n        \"description\": \"Android application package name\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**clear_android_app_data**\n\n```json\n{\n  \"name\": \"clear_android_app_data\",\n  \"description\": \"Clear app data\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"packageName\": {\n        \"type\": \"string\",\n        \"description\": \"Android application package name\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**get_android_current_activity**\n\n```json\n{\n  \"name\": \"get_android_current_activity\",\n  \"description\": \"Get the currently focused app activity\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**get_android_window_size**\n\n```json\n{\n  \"name\": \"get_android_window_size\",\n  \"description\": \"Get device window size (physical/override)\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**dump_android_ui_hierarchy**\n\n```json\n{\n  \"name\": \"dump_android_ui_hierarchy\",\n  \"description\": \"Dump UI hierarchy XML from the device\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      },\n      \"maxChars\": {\n        \"type\": \"number\",\n        \"description\": \"Optional maximum number of characters to return\"\n      }\n    }\n  }\n}\n```\n\n**tap_android_screen**\n\n```json\n{\n  \"name\": \"tap_android_screen\",\n  \"description\": \"Send a tap event to the device screen\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"x\": {\n        \"type\": \"number\",\n        \"description\": \"Tap X coordinate in pixels\"\n      },\n      \"y\": {\n        \"type\": \"number\",\n        \"description\": \"Tap Y coordinate in pixels\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**swipe_android_screen**\n\n```json\n{\n  \"name\": \"swipe_android_screen\",\n  \"description\": \"Send a swipe gesture to the device screen\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"startX\": {\n        \"type\": \"number\",\n        \"description\": \"Start X coordinate in pixels\"\n      },\n      \"startY\": {\n        \"type\": \"number\",\n        \"description\": \"Start Y coordinate in pixels\"\n      },\n      \"endX\": {\n        \"type\": \"number\",\n        \"description\": \"End X coordinate in pixels\"\n      },\n      \"endY\": {\n        \"type\": \"number\",\n        \"description\": \"End Y coordinate in pixels\"\n      },\n      \"durationMs\": {\n        \"type\": \"number\",\n        \"description\": \"Optional swipe duration in milliseconds\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**input_android_text**\n\n```json\n{\n  \"name\": \"input_android_text\",\n  \"description\": \"Type text into the focused input field\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"text\": {\n        \"type\": \"string\",\n        \"description\": \"Text to input into the focused field\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**send_android_keyevent**\n\n```json\n{\n  \"name\": \"send_android_keyevent\",\n  \"description\": \"Send an Android keyevent\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"keyCode\": {\n        \"type\": \"string\",\n        \"description\": \"Android keycode (e.g., 3 for HOME, 4 for BACK, KEYCODE_ENTER)\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**reverse_android_port**\n\n```json\n{\n  \"name\": \"reverse_android_port\",\n  \"description\": \"Reverse TCP port from device to host (useful for hot reload)\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"devicePort\": {\n        \"type\": \"number\",\n        \"description\": \"Device port to reverse\"\n      },\n      \"hostPort\": {\n        \"type\": \"number\",\n        \"description\": \"Host port to map to (defaults to devicePort)\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**forward_android_port**\n\n```json\n{\n  \"name\": \"forward_android_port\",\n  \"description\": \"Forward TCP port from host to device\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"devicePort\": {\n        \"type\": \"number\",\n        \"description\": \"Device port to forward to (tcp)\"\n      },\n      \"hostPort\": {\n        \"type\": \"number\",\n        \"description\": \"Host port to forward from (tcp)\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**get_android_logcat**\n\n```json\n{\n  \"name\": \"get_android_logcat\",\n  \"description\": \"Fetch recent logcat output (optionally filtered)\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"lines\": {\n        \"type\": \"number\",\n        \"description\": \"Number of log lines to return\"\n      },\n      \"since\": {\n        \"type\": \"string\",\n        \"description\": \"Optional time filter (e.g., \\\"1m\\\", \\\"2024-01-01 00:00:00.000\\\")\"\n      },\n      \"tag\": {\n        \"type\": \"string\",\n        \"description\": \"Optional log tag filter\"\n      },\n      \"priority\": {\n        \"type\": \"string\",\n        \"description\": \"Optional minimum priority (V/D/I/W/E/F/S)\"\n      },\n      \"pid\": {\n        \"type\": \"number\",\n        \"description\": \"Optional PID to filter logs by\"\n      },\n      \"packageName\": {\n        \"type\": \"string\",\n        \"description\": \"Optional package name to filter by running PID\"\n      },\n      \"format\": {\n        \"type\": \"string\",\n        \"description\": \"Logcat output format (time, threadtime, brief, raw)\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**list_android_activities**\n\n```json\n{\n  \"name\": \"list_android_activities\",\n  \"description\": \"List activities for a package name\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"packageName\": {\n        \"type\": \"string\",\n        \"description\": \"Android application package name\"\n      },\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      }\n    }\n  }\n}\n```\n\n**hot_reload_android_app**\n\n```json\n{\n  \"name\": \"hot_reload_android_app\",\n  \"description\": \"Reverse ports, install (optional), and start an app for hot reload\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      },\n      \"packageName\": {\n        \"type\": \"string\",\n        \"description\": \"Android application package name\"\n      },\n      \"activity\": {\n        \"type\": \"string\",\n        \"description\": \"Optional activity to launch\"\n      },\n      \"apkPath\": {\n        \"type\": \"string\",\n        \"description\": \"Optional APK path to install before starting\"\n      },\n      \"projectRoot\": {\n        \"type\": \"string\",\n        \"description\": \"Optional project root used to auto-detect APKs\"\n      },\n      \"reversePorts\": {\n        \"type\": \"array\",\n        \"description\": \"Ports to reverse (defaults to 8081)\"\n      },\n      \"install\": {\n        \"type\": \"boolean\",\n        \"description\": \"Whether to install an APK before starting\"\n      },\n      \"start\": {\n        \"type\": \"boolean\",\n        \"description\": \"Whether to start the app after setup\"\n      },\n      \"stopBeforeStart\": {\n        \"type\": \"boolean\",\n        \"description\": \"Whether to force-stop the app before starting\"\n      },\n      \"reinstall\": {\n        \"type\": \"boolean\",\n        \"description\": \"Reinstall if already installed (-r)\"\n      },\n      \"grantPermissions\": {\n        \"type\": \"boolean\",\n        \"description\": \"Grant runtime permissions at install (-g)\"\n      },\n      \"allowTestPackages\": {\n        \"type\": \"boolean\",\n        \"description\": \"Allow installing test-only APKs (-t)\"\n      },\n      \"allowDowngrade\": {\n        \"type\": \"boolean\",\n        \"description\": \"Allow version downgrade (-d)\"\n      },\n      \"timeoutMs\": {\n        \"type\": \"number\",\n        \"description\": \"Optional timeout in milliseconds for install\"\n      }\n    }\n  }\n}\n```\n\n**pm2_start_hot_mode**\n\n```json\n{\n  \"name\": \"pm2_start_hot_mode\",\n  \"description\": \"Start the Android hot mode build in the background via PM2\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"projectRoot\": {\n        \"type\": \"string\",\n        \"description\": \"Optional project root to resolve config paths\"\n      },\n      \"configPath\": {\n        \"type\": \"string\",\n        \"description\": \"Optional PM2 config path (defaults to android_hot_mode.config.json)\"\n      },\n      \"appName\": {\n        \"type\": \"string\",\n        \"description\": \"Optional PM2 app name to start (filters config)\"\n      }\n    }\n  }\n}\n```\n\n**fast_flow**\n\n```json\n{\n  \"name\": \"fast_flow\",\n  \"description\": \"Run a fast UI flow with optional screenshots and UI dump\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"deviceId\": {\n        \"type\": \"string\",\n        \"description\": \"Optional device ID\"\n      },\n      \"actions\": {\n        \"type\": \"array\",\n        \"description\": \"Ordered list of actions to run\"\n      },\n      \"captureBefore\": {\n        \"type\": \"boolean\",\n        \"description\": \"Capture a screenshot before running the actions\"\n      },\n      \"captureAfter\": {\n        \"type\": \"boolean\",\n        \"description\": \"Capture a screenshot after running the actions\"\n      },\n      \"postActionWaitMs\": {\n        \"type\": \"number\",\n        \"description\": \"Optional wait after actions before capture/dump (milliseconds)\"\n      },\n      \"includeUiDump\": {\n        \"type\": \"boolean\",\n        \"description\": \"Include a UI hierarchy dump after the actions\"\n      },\n      \"uiDumpMaxChars\": {\n        \"type\": \"number\",\n        \"description\": \"Optional maximum number of characters to return from the UI dump\"\n      }\n    }\n  }\n}\n```\n\n## Usage Examples\n\n_Example: AI agent listing devices, capturing screenshots, and providing detailed UI analysis in real-time_\n\n### Real-Time UI Development\n\nWith your development environment running (Expo, React Native, Flutter, etc.), interact with your AI agent:\n\n**Initial Analysis:**\n\n- \"Take a screenshot of my current app UI and analyze the layout\"\n- \"Show me the current state of my login screen and suggest improvements\"\n- \"Capture the app and check for accessibility issues\"\n\n**Iterative Development:**\n\n- \"I just changed the button color, take another screenshot and compare\"\n- \"Help me adjust the spacing - take a screenshot after each change\"\n- \"Take a screenshot and tell me if the new navigation looks good\"\n\n**Cross-Platform Testing:**\n\n- \"Capture screenshots from both my phone and tablet emulator\"\n- \"Show me how the UI looks on device emulator-5554 vs my physical device\"\n\n**Development Debugging:**\n\n- \"List all connected devices and their status\"\n- \"Take a screenshot from the specific emulator running my debug build\"\n- \"Capture the current error state and help me fix the UI issue\"\n\n**App Installation & Interaction:**\n\n- \"Find the latest APK in this repo and install it\"\n- \"Start com.example.app and open the main activity\"\n- \"Tap the login button at (540, 1620) and type my test credentials\"\n- \"Run a batch: tap email, type, tap password, type, tap login (one call)\"\n- \"Reverse port 8081 for hot reload, then relaunch the app\"\n- \"Get the last 200 logcat lines for com.example.app\"\n\n## Troubleshooting\n\n### ADB Issues\n\n- **ADB not found**: Verify ADB is installed and in PATH\n- **No devices**: Check USB connection and debugging authorization\n- **Device unauthorized**: Disconnect/reconnect USB, check device authorization prompt\n- **Screenshot failed**: Ensure device is unlocked and properly connected\n\n### Connection Issues\n\n- Verify `adb devices` shows your device as \"device\" status\n- Restart ADB server: `adb kill-server && adb start-server`\n- Check USB debugging permissions on device\n\n## Development\n\n## Roadmap\n\nSee `docs/ROADMAP.md` for the concrete plan toward v3.0.\n\n### Build Commands\n\n```bash\nnpm run build     # Production build\nnpm test          # Run tests\nnpm run lint      # Code linting\nnpm run format    # Code formatting\n```\n\n### Project Structure\n\n```\nsrc/\n├── server.ts         # MCP server implementation\n├── types.ts          # Type definitions\n├── gui.ts            # Global GUI launcher entry\n├── postinstall.ts    # Codex auto-config hook\n├── utils/\n│   ├── adb.ts        # ADB command utilities\n│   ├── screenshot.ts # Screenshot processing\n│   └── error.ts      # Error handling\n└── index.ts          # Entry point\n\napps/gui/             # Electron GUI app\nbin/                  # CLI launchers\n```\n\n## Performance\n\n- 5-second timeout on ADB operations\n- In-memory screenshot processing\n- Stdio communication for security\n- Minimal privilege execution\n\n## License\n\nMIT License - see LICENSE file for details.\n","readmeFilename":"README.md"}