{"_id":"@ai2qa/local-agent","_rev":"18-d6da047176ebd38e6ff953cfa813d055","name":"@ai2qa/local-agent","dist-tags":{"latest":"0.1.17"},"versions":{"0.1.0":{"name":"@ai2qa/local-agent","version":"0.1.0","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.0","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"b60906cbafae0951b2a6b4cbdf216e07a9be8113","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.0.tgz","fileCount":83,"integrity":"sha512-QHkTtFCEtUgYp5gyiuJCKMAqcgyxyfEGnT5DwEsUY3+74QY1YCHoE0BOgaGMaR70LFDYTOh4ytNajvpUb04l4A==","signatures":[{"sig":"MEUCIF87ZAgbsjZQ7Fql0eSjnBQyBsUi5/yZKOO/UeFYdd/bAiEAvV9el4fY94WrkFE8oU5Gq6ch0ao+0p5RfmPURZcFou4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184875},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"98e9f39ab106fb2557cbd6b0610af851a71a097a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.0_1768770287517_0.10919666391604199","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ai2qa/local-agent","version":"0.1.1","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.1","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"14ebc31a930977912e75813e1e897e20df31761d","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.1.tgz","fileCount":87,"integrity":"sha512-fsd5yRqzJs1H0AgAP/JogAJd8MwgEZZzagqOV+bttaOtzpwer5vcpKEu2mchqYMQgrulIB0jdrvRnR9yGyLnig==","signatures":[{"sig":"MEQCIDxap+/ia1DoHyoWbZK3SDeH0lzwQIyW2nu7VzIgZFpEAiAfpMBgGvSX888oCJEM5n+ZvxBiBg4VQEbhUvtLuBVOcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213428},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"98e9f39ab106fb2557cbd6b0610af851a71a097a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.1_1768790059850_0.3131134486580338","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ai2qa/local-agent","version":"0.1.2","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.2","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"1dff58f0152a03ba26a145d1afb36146cdfef37f","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.2.tgz","fileCount":87,"integrity":"sha512-yhQWjgp6qm/dJu0Uub2YW7VleO7NAKYHEmHevNw9H7DIJxarrFGMK8dIq7AIRImQIOpHDlZ5PxiF8xCSuPzUNg==","signatures":[{"sig":"MEYCIQCw8bFRifqXESry7ECRV0zrIQb2W2AssvuHon0VdlKXCgIhAK4N5e+unKP5ZnNyK3m3uL/Fj49V+njXd5KEAIXRsuxI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213428},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"98e9f39ab106fb2557cbd6b0610af851a71a097a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.2_1768790852465_0.7808512701836534","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ai2qa/local-agent","version":"0.1.3","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.3","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"07c84870ac6627220c71806368d9690dacfd3261","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.3.tgz","fileCount":87,"integrity":"sha512-lYgkEnIpKDsgrT1ESNCopONwuLtRY9cSxepxJsOqvQOcmhyWqlFeDAiVJRjlnBMXIKYM51wCGsrUxM/9D5skdA==","signatures":[{"sig":"MEUCIQDfxxMPPBAlOrt1qve3OpLDvXZw/gIlrtdlxGiufLJSYAIgJqK/VyJa7ilixn/v7odKGURVi8DxkqP1NFJ94E06ZS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215656},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"98e9f39ab106fb2557cbd6b0610af851a71a097a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.3_1768791497645_0.8807737039988428","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ai2qa/local-agent","version":"0.1.4","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.4","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"287f09e05c70ccdcab13b296d64d1aa77f5b019c","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.4.tgz","fileCount":87,"integrity":"sha512-iLHzPnTV7afL0bCJC+e8lFSkQyJvRtFmsFNDYw7ZiAwIbZY/VMfsFwBUC17c/S7z53ewzOWh0hMflJ+NZlrOfg==","signatures":[{"sig":"MEUCIQD/DSY2Lx3dfjGRxHscB0xN6+C44qNHPyxvgORNTlA8SAIgJogm7dmJTNv6OVJtlxNPahB07fT4ETIHMdIrV1xY0EY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215623},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"98e9f39ab106fb2557cbd6b0610af851a71a097a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.4_1768793306645_0.3668810035730168","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ai2qa/local-agent","version":"0.1.5","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.5","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"6c9b50d71f55632a3f120578ec9ab103f1be6f16","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.5.tgz","fileCount":87,"integrity":"sha512-9Kg9TES/WOnfhjYJK/mio09j4Og8Fth+0rRvCIrEdJk7ctGylTYHpnHaw4Mk2w2Hd3omjyA3lEtUz6e9pE3brg==","signatures":[{"sig":"MEQCIHU9OwjE5jcoH2dBi3ddEtsaoBoxYur/jOfvJHsnW0OZAiAk23u0IEwfVVNvV9nsS+gnL833BtdLwv1e8qiMsISNfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215636},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"98e9f39ab106fb2557cbd6b0610af851a71a097a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.5_1768793667453_0.13864307453210967","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@ai2qa/local-agent","version":"0.1.6","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.6","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"b28367ad2d78eb61511135a27df096290dd6df28","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.6.tgz","fileCount":87,"integrity":"sha512-b0NGwr3WVP+6j8oduADgL6ntTvsaz4GYm3RcqAqqfNB/mQIjqeqTdLtFz7WoPtXNd0IoCRcYihtBGTiBivH4UQ==","signatures":[{"sig":"MEQCICRhyk7P2FkQCMVVkH24fKyDRLp/k0rRT5KSf7fudZXeAiAvnrMdzuU/Smsm1L/3wxtXohS9YX2Zy3+tuXAd3pVw8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215252},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f5a5762f826f5b8f62cf4f8e675d4afd76a3e8fd","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.6_1768873701189_0.9475631776379307","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@ai2qa/local-agent","version":"0.1.7","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.7","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"8d4bc95ecd5a79d13e16c8dbcd8d3c71230a8d6f","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.7.tgz","fileCount":91,"integrity":"sha512-hZ/0agLvydfd4NN0c5H7onz/k31GSTAUUQezymgHAQw91iaoZEJseYn2jqP5jnbrT0DDhOH+d3jacghsoV++Nw==","signatures":[{"sig":"MEUCIQCl7snIR4SyLlp85mIEqhDtZwnK8W7KeUyJN3/zbKZXRAIgYKsO/AQJMAiVh3fhzdCsDDmcmLR5omHFRwJ6cNECMVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262408},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300c11b82d98eb04e2268d230b6006220a970aff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.7_1769319199958_0.36047426698121376","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@ai2qa/local-agent","version":"0.1.8","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.8","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"e1791b5423c33bf5273ed04fc26cfb15dd3a7ae9","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.8.tgz","fileCount":91,"integrity":"sha512-mllRhgXOKUBneg3YtT43SHKmOnd7M9ZHYSXljCxRdvwHF8M/nxL2EW9TBPqEWh3+zWx/kP+n9VV8KMCcm+mKVw==","signatures":[{"sig":"MEUCIGqvNJgBe0MwLoNr1FVkIiUXuzUR4p20G4LyrnwmAsAWAiEAsyUGGnIRaQpepdm0guxZfwa/NveuHS9KHK16HoqPxzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263810},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300c11b82d98eb04e2268d230b6006220a970aff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.8_1769320081072_0.4758109611545087","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@ai2qa/local-agent","version":"0.1.9","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.9","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"a554a95344d0d1b0cc8928a41e7bdbe3752c0ca4","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.9.tgz","fileCount":91,"integrity":"sha512-8ia1CwrZievKCTeLwg85nsswP15qM8coS0CPmCUm7H7qP1y9ESSoRupq3DP5QA+MqAt9e3vW+c6fT5G/2Bmtow==","signatures":[{"sig":"MEYCIQD7+Elsk4MpJHy+VJGJ9nm0RCrtgd/5nhG3+mH/3WtwIgIhAM+VWloc8eh/v8uE1T0hu1ZidRRqhTZ7i/reEx+pW1Xy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271067},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300c11b82d98eb04e2268d230b6006220a970aff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.9_1769324230730_0.3195132112013104","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@ai2qa/local-agent","version":"0.1.10","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.10","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"8881a7cf6bc401492e6adfd30456f2eff0f86600","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.10.tgz","fileCount":91,"integrity":"sha512-pNclLOrUs40cJz5KFTPekWrIf1pFo5FntS1uYqNfPTk6XzM4xbez/qS92uUVdTDfZfTtb2XmMH81fvWzuH3Gdg==","signatures":[{"sig":"MEQCIH9Crb3aLaBeFw7GB1CavDNavGn4nyUlBvS/CxjQw4ngAiBE4adhPZDGDIGBVvLAgIuGfPjR4rf/LtOwSyRlbMl5CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270516},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300c11b82d98eb04e2268d230b6006220a970aff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.10_1769326283319_0.13615874666128347","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@ai2qa/local-agent","version":"0.1.11","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.11","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"02bc54a38aaec3fa3972124ccf5ec6f337ad5361","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.11.tgz","fileCount":91,"integrity":"sha512-kVBcoEiVg7IBRJdE9p1awFFcxnIzRWEQM2psqhSRM63karIZYrUdufiEJn6UeqhkOXvNo6jSG/v14BNq9V2Sew==","signatures":[{"sig":"MEUCIHo+h3nwY62uaGg8ZEa/KOqgbyEpDoZ/cThL4gu1jTtAAiEA+qdgUIZ8pPWAqoYLrLNMTnly+NHSWaUcyvbaBwC0KCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269349},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300c11b82d98eb04e2268d230b6006220a970aff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.11_1769327664083_0.84783327496331","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@ai2qa/local-agent","version":"0.1.12","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.12","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"a8534e19bfa64f07c8ce5a5f37cb1a6750442d05","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.12.tgz","fileCount":91,"integrity":"sha512-P/fOrN1Vzrj5j3Lx4JFJS0In/BPmlrqJgRonTjYuD8R6YftxYorPu6UHh+9TVT/VugIN/HOfmY8mIsfAnZrjwQ==","signatures":[{"sig":"MEQCID0Ybjuag7xfyAwu4ubpKU9FUIeGjTxcItmPOWuurlIvAiA259KzmmWwwLrc6/O6N9TCPjO8ki7lG651hSjHCMCmNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270751},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300c11b82d98eb04e2268d230b6006220a970aff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.12_1769366545044_0.5431704145138865","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@ai2qa/local-agent","version":"0.1.13","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.13","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"d7b0bfb3f0556cf74eb2de846079bedfa449b93a","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.13.tgz","fileCount":91,"integrity":"sha512-ntS6UkCDxq8NJp2Fp21BsnHILGwFH/N5MRe5c5ttqB1Z6npcn7QA9Iptd1+4szr3zc2CkWvOBx6P84mc/9PDPg==","signatures":[{"sig":"MEQCIFHQfswngqWInwVOoiIhG42FinGU6e1gXinwp2oXN+jiAiAcPzu1Q7wqbSqVIkrOWQmI/Z014rd+0oKge3YzKEB9jA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278971},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300c11b82d98eb04e2268d230b6006220a970aff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.13_1769367128510_0.9014354602627908","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@ai2qa/local-agent","version":"0.1.14","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.14","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"2930e49c2a1787eef555635c7de146075e38b996","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.14.tgz","fileCount":91,"integrity":"sha512-gy1F9ZooqyuMXvqwB8+USt6sD1O6R4jd9r21LrBuzV+eAnGlN767JGrtIugmnByc3/AECIaT8GlQLjTw+BNDtQ==","signatures":[{"sig":"MEUCIHKRQXWRrYeyZtr+K1iBXXp8RiscxpAWztAm99tk78BOAiEApcJrbegIbIBQcrbSK9aaAU+QU1mBY+lZ2iMSNDzowrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284504},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1d27ce49ff452c1bfa8e12408b7e510c36fbc53e","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.14_1769405750253_0.004552091585126927","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@ai2qa/local-agent","version":"0.1.15","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.15","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"8e99648d58579f3fd5b31370d0dc08bab64729c5","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.15.tgz","fileCount":91,"integrity":"sha512-nnO4sIr8cexdhYKYl5E/iNf+w090eda+hKpreABDV46P/ksRGHHk66L1CZMLMy3iUfgU3tKDA6VflWb61x8Zqw==","signatures":[{"sig":"MEQCIHFvEyEnU/CPlDqKYgE/OkSFtWgNGCwzE1T8CNwpV8crAiAOpQFmydU31Y2s7e3bM/wbCswb/yV929D62nzH2+0eQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286297},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ab4f9cbf718c1dc088d48c3e9f920bedf812fa0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.15_1769471846643_0.7685381766866588","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@ai2qa/local-agent","version":"0.1.16","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","_id":"@ai2qa/local-agent@0.1.16","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"bin":{"ai2qa-agent":"bin/ai2qa-agent"},"dist":{"shasum":"2ff019358b3b9fa98646ee955490325b77fc61d3","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.16.tgz","fileCount":91,"integrity":"sha512-lXdq0n/1e+/G0WSMy0DVj3L9lZbHoGdBhXhcZ4omQlS5wFHK944u7SeoLiNTIhI1g8iH/NR2mcZ2gbtfJBOnfw==","signatures":[{"sig":"MEYCIQDlbX7J+eNmXYT+lBtm0JYlV6MhmB/qP25S4Vy817RFagIhAPUi8Cu/FQGD3xmKL12L7vwsLdmecippSr0P+bs8E1Ja","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286297},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ab4f9cbf718c1dc088d48c3e9f920bedf812fa0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","test:watch":"vitest","start:sidecar":"node dist/index.js --sidecar"},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"_npmVersion":"11.6.2","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.16.0","zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.40.0","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","vitest":"^1.0.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/local-agent_0.1.16_1769472464099_0.7270309244796647","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@ai2qa/local-agent","version":"0.1.17","description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","main":"dist/index.js","types":"dist/index.d.ts","bin":{"ai2qa-agent":"bin/ai2qa-agent"},"scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/index.js","start:sidecar":"node dist/index.js --sidecar","lint":"eslint src/**/*.ts","test":"vitest run","test:watch":"vitest","clean":"rm -rf dist"},"keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"author":{"name":"AI2QA"},"license":"MIT","dependencies":{"@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0","playwright":"^1.40.0","zod":"^3.22.0","ws":"^8.16.0","commander":"^12.0.0"},"devDependencies":{"@types/node":"^20.10.0","@types/ws":"^8.5.10","typescript":"^5.3.0","vitest":"^1.0.0","eslint":"^8.55.0","@typescript-eslint/eslint-plugin":"^6.13.0","@typescript-eslint/parser":"^6.13.0"},"engines":{"node":">=18.0.0"},"gitHead":"ab4f9cbf718c1dc088d48c3e9f920bedf812fa0b","_id":"@ai2qa/local-agent@0.1.17","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-+ekz8B2dgtKdotOIzgtW7LOveZvTfUCeNzBHJvpbv3VZItYKG5MC7c6AOLlJMj2oHmLjdQdgFYCoY8TkLHPpew==","shasum":"5a26eec90b909b6da230eb2323994ad56480d482","tarball":"https://registry.npmjs.org/@ai2qa/local-agent/-/local-agent-0.1.17.tgz","fileCount":91,"unpackedSize":286564,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF2m6lqFEAGL1vvK5/PiGBvl2TX/irh8eV28M+18inHpAiEAjchDYLj3S3xThTmqfLAYG9F9gVp+5tM59D07igKXuJM="}]},"_npmUser":{"name":"admin_ai2qa","email":"admin@ai2qa.com"},"directories":{},"maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/local-agent_0.1.17_1769472677328_0.8968161064849454"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-18T21:04:47.400Z","modified":"2026-01-27T00:11:17.607Z","0.1.0":"2026-01-18T21:04:47.690Z","0.1.1":"2026-01-19T02:34:19.995Z","0.1.2":"2026-01-19T02:47:32.718Z","0.1.3":"2026-01-19T02:58:17.799Z","0.1.4":"2026-01-19T03:28:26.790Z","0.1.5":"2026-01-19T03:34:27.623Z","0.1.6":"2026-01-20T01:48:21.327Z","0.1.7":"2026-01-25T05:33:20.139Z","0.1.8":"2026-01-25T05:48:01.235Z","0.1.9":"2026-01-25T06:57:10.878Z","0.1.10":"2026-01-25T07:31:23.461Z","0.1.11":"2026-01-25T07:54:24.266Z","0.1.12":"2026-01-25T18:42:25.215Z","0.1.13":"2026-01-25T18:52:08.674Z","0.1.14":"2026-01-26T05:35:50.401Z","0.1.15":"2026-01-26T23:57:26.829Z","0.1.16":"2026-01-27T00:07:44.238Z","0.1.17":"2026-01-27T00:11:17.501Z"},"author":{"name":"AI2QA"},"license":"MIT","keywords":["ai2qa","mcp","browser-automation","playwright","testing"],"description":"Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers","maintainers":[{"name":"admin_ai2qa","email":"admin@ai2qa.com"}],"readme":"# AI2QA Local Agent\n\nUniversal MCP Server for browser automation. Enables both local AI tools (Claude Code, Cursor, Antigravity) and AI2QA cloud to control browsers.\n\n## Features\n\n- **Sidecar Mode**: Attach to existing Chrome sessions (preserves cookies, auth, VPN access)\n- **MCP Protocol**: Standard Model Context Protocol for AI tool integration\n- **9 Browser Tools**: navigate, click, fill, hover, press-key, screenshot, snapshot, wait, evaluate\n\n## Quick Start\n\n### 1. Install\n\n```bash\ncd ai2qa-local-agent\nnpm install\nnpm run build\n```\n\n### 2. Start Chrome with Remote Debugging\n\n```bash\n# macOS\n/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --remote-debugging-port=9222\n\n# Linux\ngoogle-chrome --remote-debugging-port=9222\n\n# Windows\n\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" --remote-debugging-port=9222\n```\n\n### 3. Start the Agent\n\n```bash\n# Sidecar mode (attach to existing Chrome)\nnpm start -- start --sidecar\n\n# Or with custom port\nnpm start -- start --sidecar --port 9222\n```\n\n## CLI Commands\n\n```bash\n# Start with stdio (for local AI tools like Claude Code)\nai2qa-agent start\n\n# Start with sidecar mode (default) with custom CDP port\nai2qa-agent start --sidecar --port 9222\n\n# Start in headless mode (no visible browser window)\nai2qa-agent start --headless\n\n# Login to AI2QA cloud (for remote orchestration)\nai2qa-agent login <token>\n\n# Start connected to AI2QA cloud\nai2qa-agent start --cloud\n\n# Check agent status\nai2qa-agent status\n\n# Logout and clear credentials\nai2qa-agent logout\n```\n\n## Claude Code Integration\n\nAdd to `~/.config/claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"ai2qa\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/ai2qa-local-agent/dist/index.js\", \"start\", \"--sidecar\"]\n    }\n  }\n}\n```\n\nOr after global install:\n\n```bash\nnpm install -g @ai2qa/local-agent\n```\n\nThen configure:\n\n```json\n{\n  \"mcpServers\": {\n    \"ai2qa\": {\n      \"command\": \"ai2qa-agent\",\n      \"args\": [\"start\", \"--sidecar\"]\n    }\n  }\n}\n```\n\n## AI2QA Cloud Integration\n\nTo connect your local agent to AI2QA cloud for remote test orchestration:\n\n1. **Generate a device token** from the AI2QA web UI at `https://ai2qa.com/agents`\n\n2. **Login with your token**:\n   ```bash\n   ai2qa-agent login <your-token>\n   ```\n\n3. **Start in cloud mode**:\n   ```bash\n   ai2qa-agent start --cloud\n   ```\n\nThe agent will connect to AI2QA cloud and be available for running test runs from the web interface. This enables testing on internal applications behind VPNs using your local browser session.\n\n## Available Tools\n\n### navigate_page\nNavigate to a URL or perform navigation actions.\n\n```json\n{\n  \"url\": \"https://example.com\",\n  \"type\": \"goto\"  // goto, reload, back, forward\n}\n```\n\n### click\nClick on an element by selector or ref.\n\n```json\n{\n  \"selector\": \"button#submit\"\n}\n```\n\n### fill\nFill an input field with text.\n\n```json\n{\n  \"selector\": \"input[name='email']\",\n  \"value\": \"test@example.com\"\n}\n```\n\n### hover\nHover over an element.\n\n```json\n{\n  \"selector\": \".menu-trigger\"\n}\n```\n\n### press_key\nPress a keyboard key.\n\n```json\n{\n  \"key\": \"Enter\",\n  \"modifiers\": [\"Control\"]\n}\n```\n\n### take_screenshot\nCapture a screenshot.\n\n```json\n{\n  \"fullPage\": true,\n  \"format\": \"png\"\n}\n```\n\n### take_snapshot\nGet accessibility tree/DOM snapshot for AI analysis.\n\n```json\n{\n  \"verbose\": true,\n  \"mode\": \"accessibility\"\n}\n```\n\n### wait_for\nWait for element, text, or duration.\n\n```json\n{\n  \"selector\": \".loaded\",\n  \"state\": \"visible\",\n  \"timeout\": 5000\n}\n```\n\n### evaluate\nExecute JavaScript in page context.\n\n```json\n{\n  \"script\": \"document.title\"\n}\n```\n\n## Development\n\n```bash\n# Build\nnpm run build\n\n# Watch mode\nnpm run dev\n\n# Run tests\nnpm test\n\n# Lint\nnpm run lint\n```\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                    AI2QA Local Agent                     │\n│                                                          │\n│  ┌─────────────┐    ┌──────────────┐    ┌────────────┐  │\n│  │   Stdio     │    │  MCP Server  │    │ WebSocket  │  │\n│  │  Transport  │───►│  (9 tools)   │◄───│ Transport  │  │\n│  └─────────────┘    └──────┬───────┘    └────────────┘  │\n│        ▲                   │                   ▲        │\n│        │                   ▼                   │        │\n│  [Claude Code]      ┌──────────────┐    [AI2QA Cloud]   │\n│  [Cursor]           │  Playwright  │                    │\n│                     │  CDP Bridge  │                    │\n│                     └──────┬───────┘                    │\n└────────────────────────────┼────────────────────────────┘\n                             │\n                             ▼\n┌────────────────────────────────────────────────────────┐\n│  Chrome (--remote-debugging-port=9222)                  │\n│  [Already logged into VPN, SSO, internal apps]         │\n└────────────────────────────────────────────────────────┘\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}