{"_id":"@alessai/mybrowser-mcp","_rev":"9-01d5ce82ec0849c50451082d7ecb9ccc","name":"@alessai/mybrowser-mcp","dist-tags":{"latest":"1.3.4"},"versions":{"1.0.0":{"name":"@alessai/mybrowser-mcp","version":"1.0.0","_id":"@alessai/mybrowser-mcp@1.0.0","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"306c0ea5044f468cddb2d424be6d749205f1228e","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.0.0.tgz","fileCount":78,"integrity":"sha512-5B7sCPEO+tIU7lqhJMzubqnafdYmtKJZVOc44u9xIGM9zmKJZowIYfAyJCo1hoLlmlf7VVKCb+ZV6U0+cQkQeA==","signatures":[{"sig":"MEQCIAsnfqOzUKN3Npmg4oQPZsv2/QRFSqhFGiEyfuQexmSaAiAk9Sp3/3wXNjXFF5bUtaekCjEp4y3jCx2/k4Ri7I5d5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380576},"type":"module","gitHead":"63abd3bf4c5dc94ee20e12e1a906b0228a2eb8b2","scripts":{"dev":"tsup src/index.ts --format esm --watch","build":"tsup src/index.ts --format esm --dts && chmod +x dist/*.js","check":"tsc --noEmit"},"_npmUser":{"name":"alessai","email":"saif@alessai.net"},"repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ws":"^8.18.1","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.24.3","@modelcontextprotocol/sdk":"^1.8.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.0.0_1775932823369_0.595188219545354","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@alessai/mybrowser-mcp","version":"1.1.0","_id":"@alessai/mybrowser-mcp@1.1.0","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"2a858cfdbae8d323ad5b426393ce79238d220238","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.1.0.tgz","fileCount":78,"integrity":"sha512-5T3Tu4KNz0hWPSeSVJcG8rscDQDfDyHDGFnqy+T7S3vMA2fVri6Dp/Hr7SJDwTkDquv821VWXpdyRB7AToGFNQ==","signatures":[{"sig":"MEUCIB4yhXmsT0sxRBq+z/i0JzkXg6eUkNimcm92jfnQM0v1AiEAtmZtW9cxfWfSmTTnRLkiuNRg4JhmvTP3n5f3x99YPmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":394796},"type":"module","gitHead":"07f90db034b6e94a853d29b4da3dfd72151331d7","scripts":{"dev":"tsup src/index.ts --format esm --watch","build":"tsup src/index.ts --format esm --dts && chmod +x dist/*.js","check":"tsc --noEmit"},"_npmUser":{"name":"alessai","email":"saif@alessai.net"},"repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ws":"^8.18.1","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.24.3","@modelcontextprotocol/sdk":"^1.8.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.1.0_1777389521283_0.9792098167759253","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@alessai/mybrowser-mcp","version":"1.1.1","_id":"@alessai/mybrowser-mcp@1.1.1","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"3b28335dd7fdb3a2c906a5b093f3f23a21f28c3f","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.1.1.tgz","fileCount":78,"integrity":"sha512-au13ZVRmQi7ZvK2waxTYW928bEFbS/rpnlH2JXfN6komFvSt94NOOmWEBsDCgpmReFt+m+9t5RhTT+G7eZpG5Q==","signatures":[{"sig":"MEYCIQC/5mvDq9CfTQI3qL8Dp3w9S59O7nzcokgtGZNXqj1aZwIhAP+yt3P0jMOqzgzRnwRhAsKwsltCiaMQs4ZPmfeODRHY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":397131},"type":"module","gitHead":"25e4ad654444b26ee58d95ba61c193c20b6c361c","scripts":{"dev":"tsup src/index.ts --format esm --watch","build":"tsup src/index.ts --format esm --dts && chmod +x dist/*.js","check":"tsc --noEmit"},"_npmUser":{"name":"alessai","email":"saif@alessai.net"},"repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ws":"^8.18.1","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.24.3","@modelcontextprotocol/sdk":"^1.8.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.1.1_1777393774152_0.503316410168368","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@alessai/mybrowser-mcp","version":"1.1.2","_id":"@alessai/mybrowser-mcp@1.1.2","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"8be8fd66cc91f63491bfec75fb2113b8fa3b85ca","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.1.2.tgz","fileCount":78,"integrity":"sha512-PwgCSJ0551fXuf9tUtS+OYnJXYbBpGz5L/t4IkGWNy9vP+TshvJJALmYj99Ay5vgn8kHv7rg4IDM69DcpGrOkw==","signatures":[{"sig":"MEUCIAEAKY5Rws6gzGkDJHZUBUbOi/nGplH5q2IWkLgzFKHfAiEAuUdnaekK9ohe9AHl8A5AHyHbP7ZhZPswV/1UWl8KkKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399034},"type":"module","gitHead":"007629717c7362436cc9b7a5e18c8e8d5cc64bba","scripts":{"dev":"tsup src/index.ts --format esm --watch","build":"tsup src/index.ts --format esm --dts && chmod +x dist/*.js","check":"tsc --noEmit"},"_npmUser":{"name":"alessai","email":"saif@alessai.net"},"repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ws":"^8.20.0","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.25.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.1.2_1778165227392_0.8655790393786889","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@alessai/mybrowser-mcp","version":"1.1.3","_id":"@alessai/mybrowser-mcp@1.1.3","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"a1b679994db1fa246c37dc35b2e408b4e7df9947","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.1.3.tgz","fileCount":78,"integrity":"sha512-qWK4lLGXQ0ASDzwku4BmqOkj7C1/NKfhNnErjwjYJs/yr7bPpSzCobmrrdvSW9ql5DD9lSDK4jZ4KRJH6WjXWQ==","signatures":[{"sig":"MEQCIC57fW4D0zYIbkV5mWfm/2UnO760CZXPApaEcdFnzdELAiATVx+itcDJxuz4SeYqNEp0MN3CWP2v8EkHLqIt7c/4xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402132},"type":"module","gitHead":"ecc19235303e3a72d3efb94cef1c9816b8305e4c","scripts":{"dev":"tsup src/index.ts --format esm --watch","build":"tsup src/index.ts --format esm --dts && chmod +x dist/*.js","check":"tsc --noEmit"},"_npmUser":{"name":"alessai","email":"saif@alessai.net"},"repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ws":"^8.20.0","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.25.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.1.3_1778598077600_0.9376338249811518","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@alessai/mybrowser-mcp","version":"1.1.5","_id":"@alessai/mybrowser-mcp@1.1.5","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"2b3506cbb7625a5db2f3e2dfbf58ea92e0ce1c20","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.1.5.tgz","fileCount":4,"integrity":"sha512-3t7Ns+CUhxCyy7yDXY4zTiW/OAShbMc4K4qOasvs8PuinL1KAh/3X0+umHR3GJvzM07l6A/6zz0Os667X3dFjA==","signatures":[{"sig":"MEUCIDC0R02u7keG1XJf5IXvT6hLVkvI0NjnD39cXvCUSw72AiEAzZftVasw2DCXYSwuEWKiSik/b2XSvYKp1BLJGJQTdFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273246},"type":"module","gitHead":"7591cfb6c770d37c33e5c28c752a24601fc33d71","scripts":{"dev":"tsup src/index.ts --format esm --watch","test":"vitest run","build":"tsup src/index.ts --format esm --dts && node -e \"require('node:fs').chmodSync('dist/index.js',0o755)\"","check":"tsc --noEmit","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","prepack":"npm run clean && npm run check && npm test && npm run build"},"_npmUser":{"name":"alessai","email":"saif@alessai.net"},"overrides":{"vite":"6.4.3","esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ws":"^8.21.0","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.25.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.7","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.1.5_1783970143536_0.45142167809503464","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@alessai/mybrowser-mcp","version":"1.1.7","_id":"@alessai/mybrowser-mcp@1.1.7","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"908fca407eea20a39cf9f9949e480d232b685c19","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.1.7.tgz","fileCount":4,"integrity":"sha512-wvz/ZkZ3TKzvQACHZDossk5iekDUHtg/d7IPM9E2Y3znCk8DMPjcjU2GbQULWjPcymfmEPjpeRy/kIvZwW5Ucg==","signatures":[{"sig":"MEQCIB+0thm0nmVA/kcuGfUf0x6hZQjejH//Vvx/nie6f+W0AiAPgWQ9/p3/CC65MFKPmmfOZwinzIZ+TYn2M8qdsDoLYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alessai%2fmybrowser-mcp@1.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":396029},"type":"module","_from":"file:/home/runner/work/_temp/alessai-mybrowser-mcp-1.1.7.tgz","scripts":{"dev":"tsup src/index.ts --format esm --watch","test":"vitest run","build":"tsup src/index.ts --format esm --dts && node -e \"require('node:fs').chmodSync('dist/index.js',0o755)\"","check":"tsc --noEmit","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","prepack":"npm run clean && npm run check && npm test && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:61c88f7f-55b9-46b9-8314-fde12d202a55"}},"_resolved":"/home/runner/work/_temp/alessai-mybrowser-mcp-1.1.7.tgz","overrides":{"vite":"6.4.3","esbuild":"0.28.1"},"_integrity":"sha512-wvz/ZkZ3TKzvQACHZDossk5iekDUHtg/d7IPM9E2Y3znCk8DMPjcjU2GbQULWjPcymfmEPjpeRy/kIvZwW5Ucg==","repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.21.0","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.25.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.7","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.1.7_1787323872121_0.9652653666364746","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@alessai/mybrowser-mcp","version":"1.2.0","_id":"@alessai/mybrowser-mcp@1.2.0","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"homepage":"https://github.com/alessai/MyBrowser-MCP","bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"bin":{"mybrowser-mcp":"dist/index.js"},"dist":{"shasum":"bb1682c144a66489f51834fc66deb93ba7b8987c","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.2.0.tgz","fileCount":4,"integrity":"sha512-qv9/PZ6m8lYkPay8O6+Jzn4g8n8ZLnrotEn0Mu8mHbZN6wZ/oFKXvC4t+NKu5M0+gqM8oDdj2ZO2q0HSF+kwQw==","signatures":[{"sig":"MEUCIQDvDWEkbFc/b0lREMWNLdYCr9rq5qj7AxURL4GYsdoTvQIgOQoyk767sf3SSv2aGHZgn99I2OpW8i/asYeKdf11PBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alessai%2fmybrowser-mcp@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":404305},"type":"module","_from":"file:/home/runner/work/_temp/alessai-mybrowser-mcp-1.2.0.tgz","scripts":{"dev":"tsup src/index.ts --format esm --watch","test":"vitest run","build":"tsup src/index.ts --format esm --dts && node -e \"require('node:fs').chmodSync('dist/index.js',0o755)\"","check":"tsc --noEmit","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","prepack":"npm run clean && npm run check && npm test && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:61c88f7f-55b9-46b9-8314-fde12d202a55"}},"_resolved":"/home/runner/work/_temp/alessai-mybrowser-mcp-1.2.0.tgz","overrides":{"vite":"6.4.3","esbuild":"0.28.1"},"_integrity":"sha512-qv9/PZ6m8lYkPay8O6+Jzn4g8n8ZLnrotEn0Mu8mHbZN6wZ/oFKXvC4t+NKu5M0+gqM8oDdj2ZO2q0HSF+kwQw==","repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.21.0","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.25.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.7","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mybrowser-mcp_1.2.0_1787423779813_0.7250728789217549","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"_id":"@alessai/mybrowser-mcp@1.3.4","bin":{"mybrowser-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"dist":{"shasum":"e01df95d5622a6d3420038c239a9ce9668f09aee","tarball":"https://registry.npmjs.org/@alessai/mybrowser-mcp/-/mybrowser-mcp-1.3.4.tgz","fileCount":4,"integrity":"sha512-3GBfERYNiqUENNMSy+s1qHy8ms4x/KEqUTnAAoygwRm6CbVCIz5mb1WnxL5srN6U4mHr4YqOL2up3xhz0awtsw==","signatures":[{"sig":"MEUCIQDIBusRocFbexxKpRNvF+oOg4VYbBA38TZA09ZBCVRdbQIgXYvtkHH60ln839mgTmd4jl6xC3shvnBn5SPyfcRiw9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBcl1lNzX5id4Qo+1xamq2vuW/kx4GxEpZxaPiRSroNxAiEAktlYybhNSwSJCtVfGEPrnuBPv21G2TPUoO0qDR0y+Xs="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alessai%2fmybrowser-mcp@1.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":462226},"name":"@alessai/mybrowser-mcp","type":"module","_from":"file:/home/runner/work/_temp/alessai-mybrowser-mcp-1.3.4.tgz","scripts":{"dev":"tsup src/index.ts --format esm --watch","test":"vitest run","build":"tsup src/index.ts --format esm --dts && node -e \"require('node:fs').chmodSync('dist/index.js',0o755)\"","check":"tsc --noEmit","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","prepack":"npm run clean && npm run check && npm test && npm run build"},"version":"1.3.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:61c88f7f-55b9-46b9-8314-fde12d202a55"}},"homepage":"https://github.com/alessai/MyBrowser-MCP","_resolved":"/home/runner/work/_temp/alessai-mybrowser-mcp-1.3.4.tgz","overrides":{"vite":"6.4.3","esbuild":"0.28.1"},"_integrity":"sha512-3GBfERYNiqUENNMSy+s1qHy8ms4x/KEqUTnAAoygwRm6CbVCIz5mb1WnxL5srN6U4mHr4YqOL2up3xhz0awtsw==","repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"_npmVersion":"11.19.0","description":"MCP server for MyBrowser - remote browser automation over Tailscale","directories":{},"maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.21.0","zod":"^3.24.2","commander":"^13.1.0","zod-to-json-schema":"^3.25.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.7","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mybrowser-mcp_1.3.4_1790009393938_0.1476045376303361"}}},"time":{"created":"2026-04-11T18:40:23.275Z","modified":"2026-09-21T16:49:54.478Z","1.0.0":"2026-04-11T18:40:23.513Z","1.1.0":"2026-04-28T15:18:41.452Z","1.1.1":"2026-04-28T16:29:34.335Z","1.1.2":"2026-05-07T14:47:07.541Z","1.1.3":"2026-05-12T15:01:17.791Z","1.1.5":"2026-07-13T19:15:43.725Z","1.1.7":"2026-08-21T14:51:12.261Z","1.2.0":"2026-08-22T18:36:19.995Z","1.3.4":"2026-09-21T16:49:54.022Z"},"bugs":{"url":"https://github.com/alessai/MyBrowser-MCP/issues"},"homepage":"https://github.com/alessai/MyBrowser-MCP","repository":{"url":"git+https://github.com/alessai/MyBrowser-MCP.git","type":"git"},"description":"MCP server for MyBrowser - remote browser automation over Tailscale","maintainers":[{"name":"alessai","email":"saif@alessai.net"}],"readme":"# @alessai/mybrowser-mcp\n\nPersistent Chrome automation for Claude Code and any MCP client.\n\nThis package is the server side of MyBrowser. It gives an MCP client access to a real browser with navigation, screenshots, extraction, console and network tooling, uploads, downloads, recording, replay, and multi-session coordination.\n\nImportant: installing this npm package is only half of the setup. You also need the MyBrowser Chrome extension.\n\n## Fastest Setup for Claude Code\n\n```bash\nclaude mcp add mybrowser -- npx -y @alessai/mybrowser-mcp\n```\n\nThen install the Chrome extension from:\n\n`https://github.com/alessai/MyBrowser-MCP/releases/latest`\n\nLoad the extension once. It defaults to the ordinary local server and opens a first-install guide; no token entry is needed.\n\n## Highlights\n\n1. Browser control: tabs, navigation, clicks, typing, forms, hover, drag and drop, and keyboard input\n2. Inspection: screenshots with interactive markers, ARIA snapshots, element search, and structured extraction\n3. Debugging: console logs, page eval, storage inspection, network capture, performance metrics, and responsive viewport presets\n4. Diagnostics: persistent server logs, redacted diagnostics, support bundles, and extension-side copy diagnostics\n5. Workflow tools: uploads, downloads, clipboard support, waits, recording, replay, and saved site knowledge\n6. Coordination: shared state, persistent default browser selection, tab ownership, session management, locks, and event handlers\n\n## Install\n\n```bash\nnpm install -g @alessai/mybrowser-mcp\n```\n\n## Start\n\n```bash\nmybrowser-mcp\n```\n\nOn first run, MyBrowser writes its config to:\n\n```text\n~/.mybrowser/config.json\n```\n\nThat file contains the token used by authenticated hub and remote modes. The ordinary loopback extension connection does not ask for it. Later `--host`, `--port`, `--token`, and `--local-url-host` overrides apply only to that run; edit the config to change saved settings.\n\nFor browsers on another machine, add this device's browser-reachable Tailscale or network address to the existing config object, for example `\"localUrlHost\": \"devbox.tailnet.ts.net\"`. Keep the existing host, port, and token fields unchanged.\n\nMyBrowser advertises that address in URL-opening tool descriptions and replaces `localhost`, `127.0.0.1`, and `::1` before dispatch. The development server must also listen on an interface reachable at that address.\n\nThe no-flag command is the default same-device mode. It runs on loopback and stops with its MCP client. `--ensure-hub` is an opt-in authenticated detached hub for clients that must share one browser connection across process restarts. For a managed or remote deployment, run one supervised `mybrowser-mcp --hub` process instead; `--hub` fails clearly if it cannot own the configured listener.\n\n## Chrome Extension Required\n\nAfter installing the npm package, download the Chrome extension from the GitHub Releases page:\n\n`https://github.com/alessai/MyBrowser-MCP/releases/latest`\n\nThen:\n\n1. Unzip the extension\n2. Open `chrome://extensions`\n3. Enable **Developer mode**\n4. Click **Load unpacked**\n5. Select the unzipped folder\n6. Follow the guide that opens automatically. Ordinary local use needs no popup settings or auth token\n\n## MCP Config Example\n\n```json\n{\n  \"mcpServers\": {\n    \"mybrowser\": {\n      \"command\": \"mybrowser-mcp\",\n      \"args\": []\n    }\n  }\n}\n```\n\n## Diagnostics\n\nServer logs are written to:\n\n```text\n~/.mybrowser/logs/mybrowser-mcp.log\n~/.mybrowser/logs/mybrowser-mcp-errors.log\n```\n\nUseful support tools:\n\n1. `browser_diagnostics` - returns redacted server, browser, session, extension, and recent failure information\n2. `browser_support_bundle` - writes a redacted support bundle under `~/.mybrowser/support-bundles/`\n3. `browser_get_console_logs` - returns browser page console logs\n4. `browser_network` - captures and inspects network requests\n5. `browser_set_viewport` / `browser_reset_viewport` - applies or clears iPhone, iPad, and desktop viewport emulation\n6. `list_browsers`, `select_browser`, `use_default_browser`, `set_default_browser`, `get_default_browser`, `clear_default_browser` - manage multi-browser routing\n7. `new_tab`, `keep_tab`, `browser_cleanup` - open temporary research tabs, preserve selected tabs, and clean up session-owned tabs\n\n## Browser Routing and Temporary Tabs\n\nNormal tool calls use the shared default browser. Use `select_browser` only when the user explicitly requests another browser; the session override expires after 30 minutes of tool inactivity and can be cleared immediately with `use_default_browser`. If a configured default is disconnected, routing fails closed instead of silently switching to another browser. `set_default_browser` updates the shared default and returns only the calling session to it.\n\n`new_tab` creates a session-owned temporary tab by default. Pass `temporary: false` when it should persist, or call `keep_tab` before cleanup. After browser research, call `browser_cleanup` on both success and failure paths. It closes tracked temporary tabs on currently connected browsers, releases the caller's tab claims, and restores default routing. Tabs that cannot be closed remain tracked for later cleanup; if the live session opens another tab first, they wait for the next explicit cleanup or session finalization so a stale retry cannot close newer work. Manual, pre-existing, popup-created, non-temporary, kept, and other-session tabs are never inferred as owned and are not closed.\n\nFinalized sessions are cleaned automatically. If a browser was disconnected during finalization, its extension reports only the bounded session IDs in its local temporary-tab registry during authenticated reconnect; the hub returns only the matching in-memory finalized sessions. Older compatible peers can omit these optional fields. Temporary ownership uses `chrome.storage.session`; exact survival across a full browser restart or extension reload depends on Chrome. An abrupt hub-process death loses in-memory finalization tombstones, and explicit cleanup intentionally leaves no standing intent for a disconnected browser because it could otherwise close newer tabs after reconnect.\n\n## Optional Internal Tool Telemetry\n\nInternal telemetry is an opt-in, local development aid for diagnosing repeated tool calls, retries, loops, no-op actions, and recovery behavior. It is **off by default**. MyBrowser does not enable it from an environment variable or send it over the network.\n\nEnable it explicitly when starting an MCP client process:\n\n```bash\nmybrowser-mcp --trace-internal --host 127.0.0.1 --port 9009\n```\n\nOptional storage controls:\n\n```bash\nmybrowser-mcp \\\n  --trace-internal \\\n  --trace-dir ~/.mybrowser/traces \\\n  --trace-retention-days 14 \\\n  --trace-max-mb 256 \\\n  --host 127.0.0.1 \\\n  --port 9009\n```\n\n- Default trace directory: `~/.mybrowser/traces`\n- Install pseudonymization key: `~/.mybrowser/trace-key`\n- Retention range: 1–90 days; default 14 days\n- Storage range: 16–2048 MiB; default 256 MiB\n- Directories and files are created with private `0700` and `0600` permissions and fail closed on unsafe symlinks or file identities.\n- Each MCP client process writes its own append-only JSONL run. A standalone hub does not write telemetry.\n\nStored events are deliberately narrow: tool names, safe argument presence/count/length summaries, keyed pseudonyms, correlation IDs, bounded durations and size buckets, stable outcome categories, queue/handler timing, and boolean state-change signals. Analyzer results can classify exact or semantic repeats, unchanged retries, error/timeout retries, oscillation, stale references, no-op actions, and recoveries.\n\nMyBrowser does **not** store prompts, model chain-of-thought, typed or form values, passwords, tokens, cookies, clipboard data, page HTML, screenshots, raw URLs/paths, uploaded file paths, raw results, or free-form extension errors. Model identity is unavailable unless a host supplies it explicitly, and is not inferred. Trace files are not included in normal diagnostics or support bundles.\n\nInspect traces with local-only commands; these commands do not start the MCP server or connect to a hub:\n\n```bash\nmybrowser-mcp trace list --json\nmybrowser-mcp trace analyze --json\nmybrowser-mcp trace analyze --run <run-id>\nmybrowser-mcp trace annotate --run <run-id> --call <call-id> --label mistake --note \"short local note\"\nmybrowser-mcp trace export --run <run-id> --out ./mybrowser-trace-export.jsonl\nmybrowser-mcp trace purge --older-than-days 14\n```\n\nAnnotations store the label and, when safe, only an HMAC pseudonym of the optional note. Exports pass through the same closed runtime schema as persisted events and refuse to overwrite an existing output file. Treat even sanitized exports as private development artifacts.\n\nFor development, the reproducible disabled-path overhead check is:\n\n```bash\nnpx --no-install vite-node benchmarks/disabled-telemetry.ts\n```\n\nThe benchmark compares the real disabled `TelemetryManager.runToolCall()` path against the same representative operation in the same process and fails above 5% median overhead.\n\nIf you already installed the package globally, the equivalent Claude Code command is:\n\n```bash\nclaude mcp add mybrowser -- mybrowser-mcp\n```\n\n## Repository\n\nGitHub: `https://github.com/alessai/MyBrowser-MCP`\n","readmeFilename":"README.md"}